JDBC 드라이버를 사용하여 Athena에 연결할 때 IAM 역할 자격 증명을 사용하거나 다른 IAM 역할로 전환하려면 어떻게 해야 하나요?

3분 분량
0

AWS ID 및 액세스 관리(IAM) 역할을 사용하여 JDBC 드라이버를 통해 Amazon Athena에 연결하려고 합니다. 또는 JDBC 드라이버를 통해 Athena에 연결하기 전에 다른 IAM 역할로 전환하려고 합니다.

해결 방법

IAM 역할 자격 증명을 사용하여 Athena JDBC 드라이버에 연결합니다.

역할의 임시 자격 증명을 검색합니다. 임시 자격 증명을 검색하는 프로세스는 역할을 맡는 방식에 따라 달라집니다.

  • SAML ID 공급자가 역할을 맡는 경우: Athena JDBC 드라이버에서 직접 지원되는 유일한 SAML 2.0 ID 공급자는 AD FS(액티브 디렉터리 페더레이션 서비스) 3.0, Okta, PingFederate 및 Azure AD입니다. 다른 ID 제공업체에서 역할을 맡는 경우 assume-role-with-saml 명령을 사용하여 임시 자격 증명을 가져옵니다.
  • **계정에서 다른 역할을 맡는 경우:**동일한 AWS 계정에서 다른 역할을 맡는 경우 assume-role을 사용하여 임시 자격 증명을 가져옵니다.

**참고:**AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

자세한 내용은 IAM 역할 사용을 참조하고 역할 사용 방법 비교 표를 참조하세요.

임시 자격 증명에는 세션 토큰, 액세스 키 ID 및 비밀 액세스 키가 포함됩니다. 이 세 가지 자격 증명은 Athena에 대한 JDBC 연결을 인증하는 데 필요합니다. 임시 보안 인증 정보의 최대 수명은 12시간이라는 점에 유의하세요.

  1. Athena JDBC 드라이버가 설치된 시스템에서 임시 보안 인증 정보를 AWS 보안 인증 정보 파일(~/.aws/credentials)에 명명된 프로필로 저장합니다. 자세한 내용은 구성 및 보안 인증 정보 파일 설정을 참조하십시오.

    다음은 testprofile이라는 AWS CLI 프로필에 저장된 임시 보안 인증 정보의 예입니다.

    [testprofile]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX
  2. JDBC 드라이버를 사용하여 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 옵션을 사용하세요.

  1. Athena JDBC 드라이버가 설치된 시스템에서 AWS CLI 보안 인증 정보 파일(~/.aws/credentials)에 이름이 지정된 프로필을 추가합니다. 명명된 프로파일을 만드는 방법에 대한 자세한 내용은 명명된 프로파일 사용을 참조하세요. 프로필에는 다음과 같은 속성이 포함되어야 합니다.

    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

    이 예제에서 기본 프로필에는 testrole 설정 권한이 있는 IAM 사용자 또는 역할의 보안 인증 정보가 포함됩니다.

    [default]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX

    참고: AWS CLI는 AWS CLI 구성 파일(/.aws/config)에서 source_profile을 지정하고 별도의 AWS CLI 보안 인증 정보 파일(~/.aws/credentials)에 사용자 보안 인증 정보를 지정하는 것을 지원합니다. 하지만 Athena JDBC 드라이버는 AWS CLI 보안 인증 정보 파일에서만 보안 인증 정보를 읽을 수 있습니다. 이들 제한 때문에 이러한 프로필을 동일한 AWS CLI 보안 인증 정보 파일(/.aws/credentials)에 배치해야 합니다. 또한 프로필 접두사를 붙이지 마세요. Athena JDBC 드라이버는 명명된 프로필에서 credential_source = Ec2InstanceMetadata를 사용하는 것을 지원하지 않습니다.

  2. 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 역할 사용

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠