기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
역할 보안 인증 제공자 수임
역할 수임에는 액세스 권한이 없을 수 있는 AWS 리소스에 액세스하기 위해 일련의 임시 보안 보안 인증을 사용하는 것이 포함됩니다. 이러한 임시 보안 인증은 액세스 키 ID, 보안 액세스 키 및 보안 토큰으로 구성됩니다.
역할을 수임하도록 SDK 또는 도구를 설정하려면 먼저 수임할 특정 역할을 생성하거나 식별해야 합니다. IAM 역할은 Amazon 리소스 이름(ARN) 역할로 고유하게 식별됩니다. 역할은 다른 엔티티와 신뢰 관계를 구축합니다. 역할을 사용하는 신뢰할 수 있는 엔터티는 AWS 서비스, 다른 AWS 계정, 웹 자격 증명 공급자 또는 OIDC또는 SAML 연동일 수 있습니다.
IAM 역할이 식별되면 해당 역할에서 신뢰할 수 있는 경우 역할에서 부여한 권한을 사용하도록 SDK 또는 도구를 구성할 수 있습니다. 이렇게 하려면 다음 설정을 사용하십시오.
이러한 설정 사용을 시작하는 방법에 대한 지침은 이 안내서의 AWS 자격 증명으로 역할 수임를 참조하세요.
역할 보안 인증 제공자 수임 설정
다음을 사용하여 이 기능을 구성하십시오.
credential_source
- 공유 AWSconfig
파일 설정-
Amazon EC2 인스턴스 또는 Amazon Elastic Container Service 컨테이너 내에서 SDK 또는 도구가
role_arn
파라미터로 지정한 역할을 수임할 권한이 있는 자격 증명을 찾을 수 있는 위치를 지정하는 데 사용됩니다.기본값: 없음
유효한 값:
-
환경 - SDK 또는 도구가 환경 변수 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY에서 소스 자격 증명을 검색하도록 지정합니다.
-
Ec2InstanceMetadata - SDK 또는 도구가 IAM EC2 인스턴스 프로파일에 연결된 역할을 사용하여 소스 자격 증명을 가져오도록 지정합니다.
-
EcsContainer - SDK 또는 도구가 IAM ECS 컨테이너에 연결된 역할을 사용하여 소스 자격 증명을 가져오도록 지정합니다.
credential_source
과source_profile
모두를 동일한 프로파일에서 지정할 수 없습니다.Amazon에서 자격 증명을 소싱해야 함을 나타내도록
config
파일에서 이를 설정하는 예EC2:credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::
123456789012
:role/my-role-name
-
duration_seconds
- 공유 AWSconfig
파일 설정-
역할 세션의 최대 기간(초)을 지정합니다.
이 설정은 프로파일에서 역할 수임을 지정한 경우에만 적용됩니다.
기본값: 3600초(1시간)
유효한 값: 이 값의 범위는 900초(15분)부터 해당 역할에 대한 구성된 최대 세션 기간 설정(최대값: 43200초 또는 12시간)까지 가능합니다. 자세한 내용은 IAM 사용 설명서의 역할의 최대 세션 기간 설정 보기를 참조하세요.
config
파일에서 이를 설정하는 예:duration_seconds =
43200
external_id
- 공유 AWSconfig
파일 설정-
타사에서 고객 계정의 역할을 수임하는 데 사용하는 고유한 식별자를 지정합니다.
이 설정은 프로파일에서 역할을 수임하도록 지정하고 역할에 대한 신뢰 정책에서
ExternalId
에 대한 값을 필요로 하는 경우에만 적용됩니다. 값은 프로파일이 역할을 지정할 때AssumeRole
작업에 전달되는ExternalId
파라미터에 매핑됩니다.기본값: 없음.
유효한 값: IAM 사용 설명서의 AWS 리소스에 대한 액세스 권한을 타사에 부여할 때 외부 ID를 사용하는 방법을 참조하세요.
config
파일에서 이를 설정하는 예:external_id =
unique_value_assigned_by_3rd_party
mfa_serial
- 공유 AWSconfig
파일 설정-
사용자가 역할을 수임할 때 사용해야 하는 다중 인증(MFA) 디바이스의 식별 또는 일련 번호를 지정합니다.
해당 역할의 신뢰 정책에 MFA 인증이 필요한 조건이 포함된 역할을 수임할 때 필요합니다. 에 대한 자세한 내용은 IAM 사용 설명서의 AWS 에서 다중 인증 IAM 섹션을 MFA참조하세요.
기본값: 없음.
유효한 값: 값은 하드웨어 디바이스의 일련 번호(예:
GAHT12345678
) 또는 가상 MFA 디바이스의 Amazon 리소스 이름(ARN)일 수 있습니다. 의 형식은 다음과 ARN 같습니다.arn:aws:iam::
account-id
:mfa/mfa-device-name
config
파일에서 이를 설정하는 예:이 예제에서는 계정에 대해 생성
MyMFADevice
되고 사용자에 대해 활성화된 라는 가상 MFA 디바이스를 가정합니다.mfa_serial =
arn:aws:iam::
123456789012
:mfa/MyMFADevice
role_arn
- 공유 AWSconfig
파일 설정AWS_ROLE_ARN
- 환경 변수aws.roleArn
- JVM 시스템 속성: Java/Kotlin만 해당-
이 프로파일을 사용하여 요청된 작업을 수행하는 데 사용할 IAM 역할의 Amazon 리소스 이름(ARN)을 지정합니다.
기본값: 없음.
유효한 값: 값은 다음과 같은 형식ARN의 IAM 역할의 이어야 합니다.
arn:aws:iam::
account-id
:role/role-name
또한 다음 설정 중 하나를 지정해야 합니다.
-
source_profile
— 이 프로파일에서 역할을 수임할 권한이 있는 보안 인증을 찾는 데 사용할 다른 프로파일을 식별합니다. -
credential_source
- 현재 환경 변수로 식별되는 자격 증명 또는 Amazon EC2 인스턴스 프로파일에 연결된 자격 증명 또는 Amazon ECS 컨테이너 인스턴스를 사용합니다. -
web_identity_token_file
- 모바일 또는 웹 애플리케이션에서 인증된 사용자를 위해 퍼블릭 자격 증명 공급자 또는 OpenID Connect(OIDC) 호환 자격 증명 공급자를 사용합니다.
-
role_session_name
- 공유 AWSconfig
파일 설정AWS_ROLE_SESSION_NAME
- 환경 변수aws.roleSessionName
- JVM 시스템 속성: Java/Kotlin만 해당-
역할 세션에 연결할 이름을 지정합니다. 이 이름은 이 세션과 연결된 항목에 대한 AWS CloudTrail 로그에 나타나며, 감사할 때 유용할 수 있습니다. 자세한 내용은 AWS CloudTrail 사용 설명서의 CloudTrail userIdentity 요소를 참조하세요.
기본값: 선택적 파라미터입니다. 이 값을 제공하지 않은 경우 프로파일이 역할을 수임할 때 세션 이름이 자동으로 생성됩니다.
유효한 값: AWS CLI 또는 AWS API가 사용자를 대신하여
AssumeRole
작업(또는 작업과 같은AssumeRoleWithWebIdentity
작업)을 호출할 때RoleSessionName
파라미터에 제공됩니다. 이 값은 쿼리할 수 있는 수임 역할 사용자 Amazon 리소스 이름(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
- 공유 AWSconfig
파일 설정-
보안 인증이 원래 프로파일의
role_arn
설정에 지정된 역할을 수임하는 데 사용되는 다른 프로파일을 지정합니다. 공유 AWSconfig
및credentials
파일에서 프로파일이 사용되는 방법을 알아보려면 섹션을 참조하세요공유 config 및 credentials 파일.역할 수임 프로파일이기도 한 프로파일을 지정하는 경우 보안 인증을 완전히 확인하기 위해 각 역할이 순차적으로 수임됩니다. 이 체인은가 자격 증명이 있는 프로필을 SDK 발견하면 중지됩니다. 역할 연결은 AWS CLI 또는 AWS API 역할 세션을 최대 1시간으로 제한하며 늘릴 수 없습니다. 자세한 내용은 IAM 사용 설명서의 역할 용어 및 개념을 참조하세요.
기본값: 없음.
유효한 값:
config
및credentials
파일에 정의된 프로파일 이름으로 구성된 텍스트 문자열입니다. 또한 현재 프로파일에서role_arn
의 값도 지정해야 합니다.credential_source
과source_profile
모두를 동일한 프로파일에서 지정할 수 없습니다.구성 파일에서 이를 설정하는 예:
[profile
A
] source_profile =B
role_arn = arn:aws:iam::123456789012
:role/RoleA
role_session_name =ProfileARoleSession
[profileB
] credential_process =./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
이전 예제에서
A
프로필은 SDK 또는 도구에 연결된B
프로필의 자격 증명을 자동으로 조회하도록 지시합니다. 이 경우B
프로필은에서 제공하는 자격 증명 헬퍼 도구를 사용하여에 AWS 대한 자격 증명을 IAM Roles Anywhere 가져옵니다SDK. 이러한 임시 보안 인증은 코드에서 AWS 리소스에 액세스하기 위해 사용됩니다. 지정된 역할에는 명령 AWS 서비스또는 API 메서드와 같이 요청된 코드가 실행되도록 허용하는 IAM 권한 정책이 연결되어 있어야 합니다. 프로필에서 수행하는 모든 작업A
에는 CloudTrail 로그에 역할 세션 이름이 포함됩니다.역할 체인의 두 번째 예제에서는 Amazon Elastic Compute Cloud 인스턴스에 애플리케이션이 있고 해당 애플리케이션이 다른 역할을 맡도록 하려는 경우 다음 구성을 사용할 수 있습니다.
[profile
A
] source_profile =B
role_arn = arn:aws:iam::123456789012
:role/RoleA
role_session_name =ProfileARoleSession
[profileB
] credential_source=Ec2InstanceMetadata프로필
A
은 Amazon EC2 인스턴스의 자격 증명을 사용하여 지정된 역할을 수임하고 자격 증명을 자동으로 갱신합니다. web_identity_token_file
- 공유 AWSconfig
파일 설정AWS_WEB_IDENTITY_TOKEN_FILE
- 환경 변수aws.webIdentityTokenFile
- JVM 시스템 속성: Java/Kotlin만 해당-
지원되는 OAuth2.0 공급자
또는 OpenID Connect ID 자격 증명 공급자 의 액세스 토큰이 포함된 파일의 경로를 지정합니다. 이 설정을 사용하면 Google
, Facebook 및 Amazon 등과 같은 웹 ID 페더레이션 공급자를 사용하여 인증할 수 있습니다. SDK 또는 개발자 도구는이 파일의 내용을 로드하고 사용자를 대신하여 AssumeRoleWithWebIdentity
작업을 호출할 때 이를WebIdentityToken
인수로 전달합니다.기본값: 없음.
유효한 값: 이 값은 경로 및 파일 이름이어야 합니다. 파일에는 OAuth 2.0 액세스 토큰 또는 자격 증명 공급자가 제공한 OpenID Connect 토큰이 포함되어야 합니다. 상대 경로는 프로세스의 작업 디렉터리를 기준으로 처리됩니다.
와의 호환성 AWS SDKs
다음은이 주제에 설명된 기능 및 설정을 SDKs 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 AWS SDK for Java 및 AWS SDK for Kotlin 에서만 지원됩니다.
SDK | 지원 | 참고 또는 추가 정보 |
---|---|---|
AWS CLI v2 | 예 | |
SDK C++용 | 부분 | credential_source 이 지원되지 않음. duration_seconds 이 지원되지 않음. mfa_serial 이 지원되지 않음. |
SDK Go V2용(1.x) |
예 | |
SDK Go 1.x(V1)용 | 예 | 공유 config 파일 설정을 사용하려면 구성 파일에서 로드를 켜야 합니다. 세션을 참조하십시오. |
SDK Java 2.x용 | 부분 | mfa_serial 지원되지 않습니다. 지원되지 duration_seconds 않습니다. |
SDK Java 1.x용 | 부분 | credential_source 지원되지 않음. 지원되지 mfa_serial 않음. JVM 시스템 속성이 지원되지 않음. |
SDK for JavaScript 3.x | 예 | |
SDK for JavaScript 2.x | 부분 | credential_source 이 지원되지 않음. |
SDK Kotlin용 | 예 | |
SDK 용.NET 3.x | 예 | |
SDK 3.xPHP용 | 예 | |
SDK Python용(Boto3) |
예 | |
SDK Ruby 3.x용 | 예 | |
SDK Rust용 | 예 | |
SDK Swift용 | 예 | |
용 도구 PowerShell | 예 |