역할 수임 - AWS SDKs 및 도구

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

역할 수임

역할 수임에는 액세스 권한이 없을 수 있는 AWS 리소스에 액세스하기 위해 일련의 임시 보안 자격 증명을 사용하는 것이 포함됩니다. 이러한 임시 자격 증명은 액세스 키 ID, 보안 액세스 키 및 보안 토큰으로 구성됩니다. AWS Security Token Service(AWS STS) API 요청에 대해 자세히 알아보려면 AWS Security Token Service API 참조작업을 참조하세요.

역할을 수임하도록 SDK 또는 도구를 설정하려면 먼저 수임할 특정 역할을 만들거나 식별해야 합니다. IAM 역할은 Amazon 리소스 이름(ARN) 역할로 고유하게 식별됩니다. 역할은 다른 엔티티와 신뢰 관계를 구축합니다. 역할을 사용하는 신뢰할 수 있는 엔티티는 AWS 서비스, 또 다른 AWS 계정, 웹 ID 공급자 또는 OIDC 또는 SAML 페더레이션일 수 있습니다. IAM 역할에 대한 자세한 내용은 IAM 사용 설명서IAM 역할 섹션을 참조하십시오.

IAM 역할을 식별한 후 해당 역할을 신뢰할 수 있는 경우 해당 역할에서 부여한 권한을 사용하도록 SDK 또는 도구를 구성할 수 있습니다. 이 작업을 수행하려면 IAM 역할 수임 또는 웹 ID 또는 OpenID Connect와 페더레이션 둘 중 하나를 선택하세요.

IAM 역할 수임

역할 수임 시 AWS STS는 일련의 임시 보안 자격 증명을 반환합니다. 이러한 자격 증명은 다른 프로파일이나 코드가 실행되는 인스턴스 또는 컨테이너에서 제공됩니다. 역할 수임의 다른 예로는 Amazon EC2에서 여러 AWS 계정 계정을 관리하거나, AWS 계정 전체의 AWS CodeCommit을 사용하거나, AWS CodeBuild와 다른 계정에 액세스하는 경우를 들 수 있습니다.

1단계: IAM 역할 설정

역할을 수임하도록 SDK 또는 도구를 설정하려면 먼저 수임할 특정 역할을 만들거나 식별해야 합니다. IAM 역할은 역할 ARN을 사용하여 고유하게 식별됩니다. 역할은 일반적으로 계정 내에서 또는 크로스 계정 액세스를 위해 다른 엔티티와 신뢰 관계를 구축합니다. 자세한 내용은 IAM 사용 설명서IAM 역할 생성을 참조하십시오.

2단계: SDK 또는 도구 구성

credential_source 또는 source_profile에서 자격 증명을 소싱하도록 SDK 또는 도구를 구성합니다.

Amazon ECS 컨테이너, Amazon EC2 인스턴스 또는 환경 변수에서 자격 증명을 소싱하는 데 credential_source을(를) 사용합니다.

다른 프로파일에서 자격 증명을 소싱하는 데 source_profile을(를) 사용합니다. source_profile은 또한 수임된 역할을 사용하여 다른 역할을 수임하는 프로파일 계층 구조인 역할 체인을 지원합니다.

프로파일에서 이를 지정할 때 SDK 또는 도구에서 해당 AWS STS AssumeRole API 호출을 수행합니다. 역할을 수임하여 임시 자격 증명을 검색하고 사용하려면 공유 AWS config 파일에서 다음 구성 값을 지정합니다. 이러한 설정에 대한 자세한 내용은 역할 보안 인증 제공자 수임 설정 섹션을 참조하십시오.

  • role_arn - 1단계에서 생성한 IAM 역할에서

  • source_profile 또는 credential_source 중 하나를 구성

  • (선택 사항) duration_seconds

  • (선택 사항) external_id

  • (선택 사항) mfa_serial

  • (선택 사항) role_session_name

다음 예는 공유 config 파일에서 두 역할 수임 옵션 모두의 구성을 보여줍니다.

role_arn = arn:aws:iam::123456789012:role/my-role-name source_profile = profile-name-with-user-that-can-assume-role
role_arn = arn:aws:iam::123456789012:role/my-role-name credential_source = Ec2InstanceMetadata

모든 역할 수임 보안 인증 공급자 설정에 대한 자세한 내용은 이 안내서의 역할 보안 인증 제공자 수임를 참조하세요.

웹 ID 또는 OpenID Connect와 페더레이션

AWS에 액세스가 필요한 모바일 애플리케이션 또는 클라이언트 기반 웹 애플리케이션을 생성할 때 AWS STS에서는 퍼블릭 ID 제공업체(idP)를 통해 인증된 페더레이션 사용자의 임시 보안 자격 증명 세트를 반환합니다. 퍼블릭 자격 증명 공급자의 예에는 Login with Amazon, Facebook, Google 또는 OpenID Connect(OIDC) 호환 자격 증명 공급자 등이 있습니다. 이 방법을 사용하면 사용자는 자신의 AWS 또는 IAM ID가 필요하지 않습니다.

Amazon Elastic Kubernetes Service를 사용하는 경우 이 기능을 사용하면 각 컨테이너에 대해 서로 다른 IAM 역할을 지정할 수 있습니다. Kubernetes는 이 자격 증명 공급자가 임시 자격 증명을 획득하는 데 사용하는 OIDC 토큰을 컨테이너에 배포하는 기능을 제공합니다. 이 Amazon EKS 구성에 대한 자세한 내용은 Amazon EKS 사용 설명서서비스 계정에 대한 IAM 역할을 참조하세요. 그러나 더 간단한 옵션을 원하면 SDK에서 지원하는 경우 Amazon EKS Pod Identitie를 대신 사용하는 것이 좋습니다.

1단계: 자격 증명 공급자 및 IAM 역할 설정

외부 idP와의 페더레이션을 구성하려는 경우 IAM ID 제공업체를 생성하여 외부 IdP 및 구성에 대해 AWS에 알려줍니다. 이렇게 하면 AWS 계정 계정과 외부 IdP 사이에 신뢰가 구축됩니다. 인증에 웹 자격 증명 토큰을 사용하도록 SDK를 구성하기 전에 먼저 ID 제공업체(idP)와 액세스에 사용되는 IAM 역할을 설정해야 합니다. 이러한 설정을 하려면 IAM 사용 설명서웹 자격 증명 또는 OpenID Connect 페더레이션을 위한 역할 생성(콘솔)을 참조하십시오.

2단계: SDK 또는 도구 구성

인증을 위해 AWS STS의 웹 ID 토큰을 사용하도록 SDK 또는 도구를 구성합니다.

프로파일에서 이를 지정할 때 SDK 또는 도구에서 해당 AWS STS AssumeRoleWithWebIdentity API 호출을 수행합니다. 웹 ID 페더레이션을 사용하여 임시 자격 증명을 검색하고 사용하려면 공유 AWS config 파일에서 다음 구성 값을 지정합니다. 이러한 설정에 대한 자세한 내용은 역할 보안 인증 제공자 수임 설정 섹션을 참조하십시오.

  • role_arn - 1단계에서 생성한 IAM 역할에서

  • web_identity_token_file- 외부 IdP에서

  • (선택 사항) duration_seconds

  • (선택 사항) role_session_name

다음은 웹 ID를 사용하여 역할을 수임하는 공유 config 파일 구성의 예입니다.

[profile web-identity] role_arn=arn:aws:iam::123456789012:role/my-role-name web_identity_token_file=/path/to/a/token
참고

모바일 애플리케이션의 경우 Amazon Cognito를 사용하는 것이 좋습니다. Amazon Cognito는 ID 브로커로 활동하며 사용자를 대신하여 상당한 페더레이션을 합니다. 하지만 Amazon Cognito 자격 증명 공급자는 다른 자격 증명 공급자처럼 SDK 및 도구 코어 라이브러리에 포함되지 않습니다. Amazon Cognito API에 액세스하려면 SDK 또는 도구용 빌드 또는 라이브러리에 Amazon Cognito 서비스 클라이언트를 포함시키십시오. AWS SDK와 함께 사용하는 방법은 Amazon Cognito 개발자 안내서코드 예제를 참조하십시오.

모든 역할 수임 보안 인증 공급자 설정에 대한 자세한 내용은 이 안내서의 역할 보안 인증 제공자 수임를 참조하세요.