역할 보안 인증 제공자 수임 - AWS SDK 및 도구

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

역할 보안 인증 제공자 수임

역할 수임에는 액세스 권한이 없을 수 있는 AWS 리소스에 액세스하기 위해 일련의 임시 보안 보안 인증을 사용하는 것이 포함됩니다. 이러한 임시 보안 인증은 액세스 키 ID, 보안 액세스 키 및 보안 토큰으로 구성됩니다.

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

IAM 역할을 식별한 후 해당 역할을 신뢰할 수 있는 경우 해당 역할에서 부여한 권한을 사용하도록 SDK 또는 도구를 구성할 수 있습니다. 이렇게 하려면 다음 설정을 사용하십시오.

이러한 설정 사용을 시작하는 방법에 대한 지침은 이 안내서의 역할 수임를 참조하세요.

역할 보안 인증 제공자 수임 설정

다음을 사용하여 이 기능을 구성하십시오.

credential_source- 공유 파일 설정 AWS config

SDK나 도구가 role_arn 파라미터로 지정된 역할을 수임하기 위한 권한을 가진 보안 인증을 인증을 찾을 수 있는 위치를 지정하기 위해 Amazon EC2 인스턴스 또는 Amazon Elastic Container Service 컨테이너 내에서 사용됩니다.

기본값: 없음

유효값:

credential_sourcesource_profile 모두를 동일한 프로파일에서 지정할 수 없습니다.

보안 인증을 Amazon EC2에서 소싱해야 함을 나타내도록 config 파일에 설정하는 예:

credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::123456789012:role/my-role-name
duration_seconds- 공유 파일 설정 AWS config

역할 세션의 최대 기간(초)을 지정합니다.

이 설정은 프로파일에서 역할 수임을 지정한 경우에만 적용됩니다.

기본값: 3600초(1시간)

유효한 값: 이 값의 범위는 900초(15분)부터 해당 역할에 대한 구성된 최대 세션 기간 설정(최대값: 43200초 또는 12시간)까지 가능합니다. 자세한 내용은 IAM 사용 설명서역할의 최대 세션 기간 설정 보기를 참조하십시오.

config 파일에서 이를 설정하는 예:

duration_seconds = 43200
external_id- 공유 AWS config 파일 설정

타사에서 고객 계정의 역할을 수임하는 데 사용하는 고유한 식별자를 지정합니다.

이 설정은 프로파일에서 역할을 수임하도록 지정하고 역할에 대한 신뢰 정책에서 ExternalId에 대한 값을 필요로 하는 경우에만 적용됩니다. 값은 프로파일이 역할을 지정할 때 AssumeRole 작업에 전달되는 ExternalId 파라미터에 매핑됩니다.

기본값: 없음.

유효한 값: IAM 사용 설명서의 제3자에게 AWS 리소스에 대한 액세스 권한을 부여할 때 외부 ID를 사용하는 방법을 참조하십시오.

config 파일에서 이를 설정하는 예:

external_id = unique_value_assigned_by_3rd_party
mfa_serial- 공유 파일 설정 AWS config

사용자가 역할 수임 시 사용해야 하는 다중 인증(MFA)장치의 ID 또는 일련 번호를 지정합니다.

해당 역할에 대한 신뢰 정책에 MFA 인증을 필요로 하는 조건이 포함된 역할을 수임하는 경우 필요합니다.

기본값: 없음.

유효한 값: 이 값은 하드웨어 디바이스용 일련 번호(예: GAHT12345678)또는 가상 MFA 디바이스용 Amazon 리소스 이름(ARN)(예: )일 수 있습니다. 자세한 정보는 IAM 사용 설명서MFA 보호 API 액세스 구성을 참조하십시오.

config 파일에서 이를 설정하는 예:

mfa_serial = arn:aws:iam::123456789012:mfa/my-user-name
role_arn- 공유 AWS config 파일 설정
AWS_IAM_ROLE_ARN - 환경 변수
aws.roleArn- JVM 시스템 속성: 자바/코틀린 전용

이 프로파일을 사용하여 요청된 작업을 수행하는 데 사용할 IAM 역할의 Amazon 리소스 이름(ARN)을 지정합니다.

기본값: 없음.

유효한 값: 이 값은 다음과 같은 형식의 IAM 역할의 ARN이어야 합니다. arn:aws:iam::account-id:role/role-name

또한 다음 설정 중 하나를 지정해야 합니다.

  • source_profile — 이 프로파일에서 역할을 수임할 권한이 있는 보안 인증을 찾는 데 사용할 다른 프로파일을 식별합니다.

  • credential_source — 현재 환경 변수로 식별되는 보안 인증 또는 Amazon EC2 인스턴스 프로파일 또는 Amazon ECS 컨테이너 인스턴스에 첨부된 보안 인증을 사용합니다.

  • web_identity_token_file — 모바일 또는 웹 애플리케이션에서 인증된 사용자에 대해 퍼블릭 ID 공급자 또는 OpenID Connect(OIDC)호환 보안 인증 공급자를 사용합니다.

role_session_name AWS config- 공유 파일 설정
AWS_IAM_ROLE_SESSION_NAME - 환경 변수
aws.roleSessionName- JVM 시스템 속성: 자바/코틀린 전용

역할 세션에 연결할 이름을 지정합니다. 이 이름은 이 세션과 연결된 항목에 대한 AWS CloudTrail 로그에 나타나며, 감사할 때 유용할 수 있습니다.

기본값: 선택적 파라미터입니다. 이 값을 제공하지 않은 경우 프로파일이 역할을 수임할 때 세션 이름이 자동으로 생성됩니다.

유효한 값: AWS CLI 또는 AWS API가 사용자 대신 작업 (또는 작업과 같은 작업) 을 AssumeRole 호출할 때 RoleSessionName 파라미터에 제공됩니다. AssumeRoleWithWebIdentity 값은 쿼리할 수 있는 위임 역할 사용자 Amazon Resource Name (ARN) 의 CloudTrail 일부가 되며 이 프로필에서 호출한 작업에 대한 로그 항목의 일부로 표시됩니다.

arn:aws:sts::123456789012:assumed-role/my-role-name/my-role_session_name.

config 파일에서 이를 설정하는 예:

role_session_name = my-role-session-name
source_profile- 공유 파일 설정 AWS config

보안 인증이 원래 프로파일의 role_arn 설정에 지정된 역할을 수임하는 데 사용되는 다른 프로파일을 지정합니다. 공유 AWS configcredentials 파일에서 프로필이 사용되는 방식을 이해하려면 을 참조하십시오공유 config 및 credentials 파일.

역할 수임 프로파일이기도 한 프로파일을 지정하는 경우 보안 인증을 완전히 확인하기 위해 각 역할이 순차적으로 수임됩니다. SDK가 보안 인증이 있는 프로파일을 발견하면 이 체인이 중지됩니다. 역할 체인은 사용자 AWS CLI 또는 AWS API 역할 세션을 최대 1시간으로 제한하며 늘릴 수 없습니다. 자세한 내용은 IAM 사용 설명서역할 용어 및 개념을 참조하십시오.

기본값: 없음.

유효한 값: configcredentials 파일에 정의된 프로파일 이름으로 구성된 텍스트 문자열입니다. 또한 현재 프로파일에서 role_arn의 값도 지정해야 합니다.

credential_sourcesource_profile 모두를 동일한 프로파일에서 지정할 수 없습니다.

구성 파일에서 이를 설정하는 예:

[profile A] source_profile = B role_arn = arn:aws:iam::123456789012:role/RoleA [profile B] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

앞의 예제에서는 A 프로파일이 B 프로파일의 보안 인증을 사용하고 있습니다. SDK 또는 도구가 A 프로파일을 사용하도록 지정하면, SDK 또는 도구가 연결된 B 프로파일에 대한 보안 인증을 자동으로 찾고 이를 사용하여 지정된 IAM 역할에 대한 임시 보안 인증을 요청합니다. SDK 또는 도구는 백그라운드에서 sts: AssumeRole 작업을 사용하여 이를 수행합니다. 그러면 코드가 이러한 임시 자격 증명을 사용하여 리소스에 액세스합니다. AWS 지정된 역할에는 요청된 코드 실행을 허용하는 IAM 권한 정책 (예: 명령 AWS 서비스, API 메서드) 이 연결되어 있어야 합니다.

web_identity_token_file- 공유 AWS config 파일 설정
AWS_WEB_IDENTITY_TOKEN_FILE - 환경 변수
aws.webIdentityTokenFile- JVM 시스템 속성: 자바/코틀린 전용

지원되는 OAuth 2.0 공급자 또는 OpenID Connect ID 공급자의 액세스 토큰을 포함하는 파일의 경로를 지정합니다.

이 설정을 사용하면 Google, FacebookAmazon 등과 같은 웹 ID 페더레이션 공급자를 사용하여 인증할 수 있습니다. SDK 또는 개발자 도구는 이 파일의 내용을 로드하고 사용자를 대신하여 AssumeRoleWithWebIdentity 작업을 호출할 때 WebIdentityToken 인수로서 전달합니다.

기본값: 없음.

유효한 값: 이 값은 경로 및 파일 이름이어야 합니다. 파일에는 ID 공급자가 제공한 OAuth 2.0 액세스 토큰 또는 OpenID Connect ID 토큰을 포함해야 합니다. 상대 경로는 프로세스의 작업 디렉터리를 기준으로 처리됩니다.

AWS SDK와의 호환성

다음 SDK는 이 주제에서 설명하는 기능 및 설정을 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 AWS SDK for Java 및 에서만 지원됩니다. AWS SDK for Kotlin

SDK 지원 참고 또는 추가 정보
AWS CLI v2
SDK for C++ 부분 credential_source이 지원되지 않음. duration_seconds이 지원되지 않음. mfa_serial이 지원되지 않음.
SDK for Go V2 (1.x)
SDK for Go 1.x (V1) 공유 config 파일 설정을 사용하려면 구성 파일에서 로드를 켜야 합니다. 세션을 참조하십시오.
SDK for Java 2.x 부분 mfa_serial이 지원되지 않음. AWS_ROLE_ARN대신 AWS_IAM_ROLE_ARN 사용하십시오. AWS_ROLE_SESSION_NAME대신 사용하세요AWS_IAM_ROLE_SESSION_NAME.
SDK for Java 1.x 부분 mfa_serial이 지원되지 않음. JVM 시스템 속성은 지원되지 않습니다.
3.x용 SDK JavaScript
2.x용 SDK JavaScript 부분 credential_source이 지원되지 않음.
SDK for Kotlin AWS_ROLE_ARN대신 사용하세요. AWS_IAM_ROLE_ARN AWS_ROLE_SESSION_NAME대신 사용하세요AWS_IAM_ROLE_SESSION_NAME.
SDK for .NET 3.x
SDK for PHP 3.x
SDK for Python (Boto3)
SDK for Ruby 3.x
SDK for Rust
를 위한 도구 PowerShell