AWS Identity and Access Management(IAM) 역할 자격 증명을 사용하여 Amazon Athena에 대한 JDBC 드라이버 연결을 인증하려고 합니다. 또는 JDBC 드라이버를 사용하여 Amazon Athena에 연결하기 전에 다른 IAM 역할로 전환하려고 합니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
IAM 역할 자격 증명을 사용하여 Athena JDBC 드라이버에 연결
역할의 임시 자격 증명을 검색합니다. 임시 자격 증명을 검색하는 프로세스는 역할을 맡는 방식에 따라 다릅니다.
SAML ID 공급자를 사용하여 역할 맡기
Athena JDBC 드라이버에서 직접 지원되는 유일한 SAML 2.0 ID 공급자는 Active Directory Federation Services(AD FS) 3.0, Okta, PingFederate 및 Microsoft Entra ID입니다. 다른 ID 공급자를 사용하여 역할을 맡는 경우 assume-role-with-saml 명령을 실행하여 임시 자격 증명을 가져옵니다.
계정에서 다른 역할 맡기
동일한 AWS 계정에서 다른 역할을 맡는 경우 assume-role 명령을 실행하여 임시 자격 증명을 가져옵니다.
자세한 내용은 역할을 맡는 방법을 참조하십시오.
임시 자격 증명에는 Amazon Athena에 대한 JDBC 연결을 인증하는 데 필요한 세션 토큰, 액세스 키 ID 및 시크릿 액세스 키가 포함됩니다.
참고: 임시 자격 증명은 12시간 동안만 유효합니다.
시스템의 임시 자격 증명을 ~/.aws/credentials AWS 자격 증명 파일에 명명된 프로필로 저장합니다. 자세한 내용은 AWS CLI의 구성 및 자격 증명 파일 설정을 참조하십시오.
다음은 testprofile이라는 AWS CLI 프로필에 저장된 임시 자격 증명의 예입니다.
[testprofile]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################
JDBC 드라이버를 사용하여 Amazon Athena에 연결하려면 JDBC 연결 문자열에 프로필 이름을 지정합니다(예: jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;). 또는 프로필 JDBC 구성 속성에서 프로필 이름을 설정합니다.
참고: 프로필 JDBC 구성 속성은 Athena JDBC 드라이버 버전 2.0.6 이상에서 사용할 수 있습니다. 최신 JDBC 드라이버를 구하려면 JDBC를 사용하여 Amazon Athena에 연결을 참조하십시오.
다른 IAM 역할로 전환한 다음, Athena JDBC 드라이버에 연결
Athena JDBC 드라이버에 연결하기 전에 역할을 전환하려면 명명된 프로필에서 source_profile 옵션을 사용합니다.
시스템에서 ~/.aws/credentials AWS CLI 자격 증명 파일에 명명된 프로필을 추가합니다. 자세한 내용은 명명된 프로필 사용을 참조하십시오.
프로필에는 다음 속성이 포함되어야 합니다.
- role_arn: 맡으려는 역할의 ARN입니다.
- source_profile: 역할을 맡을 권한이 있는 IAM 사용자 또는 IAM 역할의 자격 증명이 포함된 프로필입니다.
다음은 ARN arn:aws:iam::123456789012:role/testrole이 있는 testrole이라는 역할을 맡기 위한 예제 구성입니다.
[switchroletest]role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=default
다음 예제에서 default 프로필에는 testrole을 맡을 권한이 있는 IAM 사용자 또는 역할의 자격 증명이 포함되어 있습니다.
[default]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################
참고: AWS CLI를 사용하면 /.aws/config AWS CLI 구성 파일에 source_profile을 지정하고 별도의 AWS CLI 자격 증명 파일에 사용자 자격 증명을 지정할 수 있습니다. 하지만 Athena JDBC 드라이버는 AWS CLI 자격 증명 파일에서만 자격 증명을 읽을 수 있습니다. 이러한 제한 때문에 프로필을 동일한 AWS CLI 자격 증명 파일에 배치해야 합니다. 또한 프로필에 profile 접두사를 사용하지 마십시오.
JDBC 드라이버를 사용하여 Athena에 연결하려면 JDBC 연결 문자열에 프로필 이름을 지정합니다(예: jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;). 또는 프로필 JDBC 구성 속성에서 프로필 이름을 설정합니다.
관련 정보
임시 보안 자격 증명 요청
Simba Athena JDBC 드라이버(SQL 커넥터 포함) 설치 및 구성 가이드(버전 2.0.9)
IAM 역할로 전환(AWS CLI)
AWS CLI에서 IAM 역할 사용