브라우저의 신뢰할 수 있는 ID 전파 자격 증명
이 인증 유형을 사용하면 외부 ID 제공업체에서 새 JSON 웹 토큰(JWT)을 가져오고 Athena로 인증할 수 있습니다. 이 플러그인을 사용하여 신뢰할 수 있는 ID 전파를 통해 기업 ID에 대한 지원을 활성화할 수 있습니다. 드라이버에서 신뢰할 수 있는 ID 전파를 사용하는 방법에 대한 자세한 내용은 Amazon Athena 드라이버로 신뢰할 수 있는 ID 전파 사용 섹션을 참조하세요. 또한 CloudFormation을 사용하여 리소스를 구성하고 배포할 수도 있습니다.
ID 컨텍스트는 신뢰할 수 있는 ID 전파를 통해 IAM 역할에 추가되어 AWS 리소스에 대한 액세스를 요청하는 사용자를 식별합니다. 신뢰할 수 있는 ID 전파를 활성화하고 사용하는 방법에 대한 자세한 내용은 What is trusted identity propagation?을 참조하세요.
참고
플러그인은 단일 사용자 데스크톱 환경을 위해 특별히 설계되었습니다. Windows Server와 같은 공유 환경에서 시스템 관리자는 사용자 간 보안 경계를 설정하고 유지 관리할 책임이 있습니다.
인증 유형
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| AuthenticationType | 필수 | none |
AuthenticationType=BrowserOidcTip; |
IDP의 잘 알려진 구성 URL
IDP의 잘 알려진 구성 URL은 ID 제공업체에 대한 OpenID Connect 구성 세부 정보를 제공하는 엔드포인트입니다. 이 URL은 일반적으로 .well-known/openid-configuration으로 끝나며 인증 엔드포인트, 지원되는 기능 및 토큰 서명 키에 대한 필수 메타데이터를 포함합니다. 예를 들어 Okta를 사용하는 경우 URL은 https://your-domain.okta.com/.well-known/openid-configuration과 비슷할 수 있습니다.
문제 해결: 연결 오류가 수신되면 네트워크에서 이 URL에 액세스할 수 있고 유효한 OpenID Connect 구성 JSON을 반환하는지 확인합니다. URL은 드라이버가 설치된 클라이언트에서 도달 가능해야 하며 ID 제공업체 관리자가 제공해야 합니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| IdpWellKnownConfigurationUrl | 필수 | none |
IdpWellKnownConfigurationUrl=https://<your-domain>/.well-known/openid-configuration; |
클라이언트 식별자
OpenID Connect 공급자가 애플리케이션에 발행한 클라이언트 식별자.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| client_id | 필수 | none |
client_id=00001111-aaaa-2222-bbbb-3333cccc4444; |
작업 그룹 ARN
신뢰할 수 있는 ID 전파 구성 태그를 포함하는 Amazon Athena 작업 그룹의 Amazon 리소스 이름(ARN). 작업 그룹에 대한 자세한 내용은 WorkGroup을 참조하세요.
참고
이 파라미터는 쿼리를 실행할 위치를 지정하는 Workgroup 파라미터와 다릅니다. 다음과 같은 두 파라미터를 모두 설정해야 합니다.
-
WorkgroupArn- 신뢰할 수 있는 ID 전파 구성 태그를 포함하는 작업 그룹을 가리킴 -
Workgroup- 쿼리가 실행될 작업 그룹을 지정함
이 파라미터는 보통 동일한 작업 그룹을 참조하지만 제대로 작동하려면 두 파라미터를 명시적으로 설정해야 합니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| WorkGroupArn | 필수 | none |
WorkgroupArn=arn:aws:athena:us-west-2:111122223333:workgroup/primary |
JWT 애플리케이션 역할 ARN
JWT 교환에서 수임할 역할의 ARN. 이 역할은 JWT 교환, 작업 그룹 태그를 통해 IAM Identity Center 고객 관리형 애플리케이션 ARN 가져오기, 액세스 역할 ARN 가져오기에 사용됩니다. 역할 위임에 대한 자세한 내용은 AssumeRole을 참조하세요.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| ApplicationRoleArn | 필수 | none |
ApplicationRoleArn=arn:aws:iam::111122223333:role/applicationRole; |
역할 세션 이름
IAM 세션의 이름. 이름은 원하는 어떤 값이든 될 수 있지만, 일반적으로 애플리케이션 사용자와 연결된 이름 또는 식별자를 전달합니다. 이런 방식으로 애플리케이션에서 사용하는 임시 보안 자격 증명은 해당 사용자와 연결됩니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| role_session_name | 필수 | none |
role_session_name=familiarname; |
클라이언트 보안 암호(client secret)
클라이언트 보안 암호는 ID 제공업체가 발행한 기밀 키로, 애플리케이션을 인증하는 데 사용됩니다. 이 파라미터는 선택 사항이며 모든 인증 흐름에 필요하지 않을 수 있지만, 사용 시 추가 보안 계층을 제공합니다. IDP 구성에 클라이언트 보안 암호가 필요한 경우 ID 제공업체 관리자가 제공한 값과 함께 이 파라미터를 포함해야 합니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| client_secret | 선택 사항 | none |
client_secret=s0m3R@nd0mS3cr3tV@lu3Th@tS3cur3lyPr0t3ct5Th3Cl13nt;! |
범위
범위는 애플리케이션이 ID 제공업체로부터 요청하는 액세스 수준을 지정합니다. 필수 사용자 ID 클레임을 포함하는 ID 토큰을 수신하려면 범위에 openid를 포함해야 합니다. ID 제공업체(예: Microsoft Entra ID)가 ID 토큰에 포함하도록 구성된 사용자 클레임에 따라 범위에 email 또는 profile과 같은 추가 권한이 포함되어야 할 수도 있습니다. 이러한 클레임은 적절한 신뢰할 수 있는 ID 전파 매핑에 필수적입니다. 사용자 ID 매핑에 실패하면 범위에 필요한 모든 권한이 포함되어 있고 ID 토큰에 필요한 클레임을 포함하도록 ID 제공업체가 구성되어 있는지 확인합니다. 이러한 클레임은 IAM Identity Center의 신뢰할 수 있는 토큰 발행자 매핑 구성과 일치해야 합니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| 범위 | 선택 사항 | openid email offline_access |
Scope=openid email; |
세션 지속 시간
역할 세션 지속 시간(초)입니다. 자세한 내용은 AssumeRoleWithWebIdentity를 참조하세요.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| 기간 | 선택 사항 | 3600 |
duration=900; |
JWT 액세스 역할 ARN
사용자를 대신하여 직접 호출하기 위해 Athena가 수임하는 역할의 ARN. 역할 수임에 대한 자세한 내용은 AWS Security Token Service API 참조의 AssumeRole을 참조하세요.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| AccessRoleArn | 선택 사항 | none |
AccessRoleArn=arn:aws:iam::111122223333:role/accessRole; |
IAM Identity Center 고객 관리형 애플리케이션 ARN
IAM Identity Center 고객 관리형 IDC 애플리케이션의 ARN입니다. 고객 관리형 애플리케이션에 대한 자세한 내용은 고객 관리형 애플리케이션을 참조하세요.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| CustomerIdcApplicationArn | 선택 사항 | none |
CustomerIdcApplicationArn=arn:aws:sso::111122223333:application/ssoins-111122223333/apl-111122223333; |
ID 제공업체 포트 번호
OAuth 2.0 콜백 서버에 사용할 로컬 포트 번호. 이는 redirect_uri로 사용되며 IDP 애플리케이션에서 이를 허용 목록에 추가해야 합니다. 기본적으로 생성되는 redirect_uri는 http://localhost:7890/athena입니다.
주의
Windows 터미널 서버 또는 원격 데스크톱 서비스와 같은 공유 환경에서 루프백 포트(기본값: 7890)는 동일한 시스템의 모든 사용자 사이에서 공유됩니다. 시스템 관리자는 다음을 통해 잠재적 포트 하이재킹 위험을 완화할 수 있습니다.
-
서로 다른 사용자 그룹에 대해 서로 다른 포트 번호 구성
-
Windows 보안 정책을 사용하여 포트 액세스 제한
-
사용자 세션 간 네트워크 격리 구현
이러한 보안 제어를 구현할 수 없는 경우 루프백 포트가 필요하지 않은 JWT의 신뢰할 수 있는 ID 전파 플러그인을 대신 사용하는 것이 좋습니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| listen_port | 선택 사항 | 7890 |
listen_port=8080; |
ID 제공업체 응답 제한 시간
OAuth 2.0 콜백 응답을 기다리는 제한 시간(초 단위)
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| IdpResponseTimeout | 선택 사항 | 120 |
IdpResponseTimeout=140; |
Azure 파일 캐시 활성화
JwtTipFileCache 파라미터는 드라이버가 연결 간에 인증 토큰을 캐싱할지를 결정합니다. JwtTipFileCache를 true로 설정하면 인증 프롬프트가 줄어들고 사용자 경험이 개선되지만, 이 방법은 신중하게 사용해야 합니다. 이 설정은 단일 사용자 데스크톱 환경에 가장 적합합니다. Windows Server와 같은 공유 환경에서는 유사한 연결 문자열을 사용하는 사용자 간의 잠재적 토큰 공유를 방지하기 위해 이 기능을 비활성화된 상태로 유지하는 것이 좋습니다.
PowerBI Server와 같은 도구를 사용하는 엔터프라이즈 배포의 경우 이 인증 방법 대신 JWT의 신뢰할 수 있는 ID 전파 플러그인을 사용하는 것이 좋습니다.
| 연결 문자열 이름 | 파라미터 유형 | 기본값 | 연결 문자열 예제 |
|---|---|---|---|
| JwtTipFileCache | 선택 사항 | 0 |
JwtTipFileCache=1; |