기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
역할 보안 인증 제공자 수임
역할 수임에는 액세스 권한이 없을 수 있는 AWS 리소스에 액세스하기 위해 일련의 임시 보안 보안 인증을 사용하는 것이 포함됩니다. 이러한 임시 보안 인증은 액세스 키 ID, 보안 액세스 키 및 보안 토큰으로 구성됩니다.
역할을 수임하도록 SDK 또는 도구를 설정하려면 먼저 수임할 특정 역할을 만들거나 식별해야 합니다. IAM 역할은 Amazon 리소스 이름(ARN)역할로 고유하게 식별됩니다. 역할은 다른 엔티티와 신뢰 관계를 구축합니다. 역할을 사용하는 신뢰할 수 있는 주체는 다른 AWS 계정웹 ID 제공업체 AWS 서비스, OIDC 또는 SAML 페더레이션일 수 있습니다.
IAM 역할을 식별한 후 해당 역할을 신뢰할 수 있는 경우 해당 역할에서 부여한 권한을 사용하도록 SDK 또는 도구를 구성할 수 있습니다. 이렇게 하려면 다음 설정을 사용하십시오.
이러한 설정 사용을 시작하는 방법에 대한 지침은 이 안내서의 역할 수임를 참조하세요.
역할 보안 인증 제공자 수임 설정
다음을 사용하여 이 기능을 구성하십시오.
credential_source
- 공유 파일 설정 AWSconfig
-
SDK나 도구가
role_arn
파라미터로 지정된 역할을 수임하기 위한 권한을 가진 보안 인증을 인증을 찾을 수 있는 위치를 지정하기 위해 Amazon EC2 인스턴스 또는 Amazon Elastic Container Service 컨테이너 내에서 사용됩니다.기본값: 없음
유효값:
-
환경 – SDK나 도구가 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY 환경 변수에서 소스 보안 인증을 검색하도록 지정합니다.
-
EC2 InstanceMetadata - EC2 인스턴스 프로필에 연결된 IAM 역할을 사용하여 원본 자격 증명을 가져오도록 SDK 또는 도구를 지정합니다.
-
EcsContainer— ECS 컨테이너에 연결된 IAM 역할을 사용하여 소스 자격 증명을 가져오도록 SDK 또는 도구를 지정합니다.
credential_source
과source_profile
모두를 동일한 프로파일에서 지정할 수 없습니다.보안 인증을 Amazon EC2에서 소싱해야 함을 나타내도록
config
파일에 설정하는 예: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 사용 설명서의 제3자에게 AWS 리소스에 대한 액세스 권한을 부여할 때 외부 ID를 사용하는 방법을 참조하십시오.
config
파일에서 이를 설정하는 예:external_id =
unique_value_assigned_by_3rd_party
mfa_serial
- 공유 파일 설정 AWSconfig
-
사용자가 역할 수임 시 사용해야 하는 다중 인증(MFA)장치의 ID 또는 일련 번호를 지정합니다.
해당 역할에 대한 신뢰 정책에 MFA 인증을 필요로 하는 조건이 포함된 역할을 수임하는 경우 필요합니다.
기본값: 없음.
유효한 값: 이 값은 하드웨어 디바이스용 일련 번호(예:
GAHT12345678
)또는 가상 MFA 디바이스용 Amazon 리소스 이름(ARN)(예: )일 수 있습니다. 자세한 정보는 IAM 사용 설명서의 MFA 보호 API 액세스 구성을 참조하십시오.config
파일에서 이를 설정하는 예:mfa_serial =
arn:aws:iam::
123456789012
:mfa/my-user-name
role_arn
- 공유 AWSconfig
파일 설정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
AWSconfig
- 공유 파일 설정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
- 공유 파일 설정 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
[profileB
] 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
- 공유 AWSconfig
파일 설정AWS_WEB_IDENTITY_TOKEN_FILE
- 환경 변수aws.webIdentityTokenFile
- JVM 시스템 속성: 자바/코틀린 전용-
지원되는 OAuth 2.0 공급자
또는 OpenID Connect ID 공급자 의 액세스 토큰을 포함하는 파일의 경로를 지정합니다. 이 설정을 사용하면 Google
, Facebook 및 Amazon 등과 같은 웹 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 | 예 |