역할 수임 방법
역할 수임 방법
사용자, 애플리케이션, 서비스가 당신이 만든 역할을 사용하려면 먼저 그 역할로 전환할 권한을 부여해야 해요. 그룹이나 사용자에 연결된 아무 정책이나 사용해 필요한 권한을 부여할 수 있습니다. 권한이 부여된 후에는 사용자가 AWS Management Console, Tools for Windows PowerShell, AWS Command Line Interface(AWS CLI) 및 AssumeRole API에서 역할을 수임할 수 있습니다.
중요 IAM 콘솔이 아닌 프로그래밍 방식으로 역할을 만들 때는 최대 64자까지 가능한
RoleName에 더해 최대 512자까지의Path를 추가할 수 있는 옵션이 있어요. 하지만 AWS Management Console의 역할 전환(Switch Role) 기능과 함께 역할을 사용하려면 결합된Path와RoleName이 64자를 초과할 수 없습니다.
역할을 수임하는 데 사용되는 방법은 누가 역할을 수임할 수 있는지와 역할 세션이 얼마나 오래 지속될 수 있는지를 결정합니다. AssumeRole* API 작업을 사용할 때 당신이 수임하는 IAM 역할이 리소스입니다. AssumeRole* API 작업을 호출하는 사용자나 역할이 주체(principal)입니다.
출처: 문서
본문
다음 표는 역할을 수임하는 방법들을 비교합니다.
| 역할 수임 방법 | 역할을 수임할 수 있는 대상 | 자격 증명 유효 기간 지정 방법 | 자격 증명 유효 기간 (최소 | 최대 | 기본) |
|---|---|---|---|
| AWS Management Console (역할 전환) | 사용자 또는 역할¹ | 역할(Role) 요약 페이지의 최대 세션 기간(Maximum session duration) | 15m | 최대 세션 기간 설정² | 1시간 |
assume-role CLI 또는 AssumeRole API 작업 |
사용자 또는 역할¹ | duration-seconds CLI 또는 DurationSeconds API 파라미터 |
15m | 최대 세션 기간 설정² | 1시간 |
assume-role-with-saml CLI 또는 AssumeRoleWithSAML API 작업 |
SAML로 인증된 모든 사용자 | duration-seconds CLI 또는 DurationSeconds API 파라미터 |
15m | 최대 세션 기간 설정² | 1시간 |
assume-role-with-web-identity CLI 또는 AssumeRoleWithWebIdentity API 작업 |
OIDC 공급자로 인증된 모든 사용자 | duration-seconds CLI 또는 DurationSeconds API 파라미터 |
15m | 최대 세션 기간 설정² | 1시간 |
AssumeRole로 구성된 콘솔 URL |
사용자 또는 역할 | URL의 SessionDuration HTML 파라미터 |
15m | 12시간 | 1시간 |
AssumeRoleWithSAML로 구성된 콘솔 URL |
SAML로 인증된 모든 사용자 | URL의 SessionDuration HTML 파라미터 |
15m | 12시간 | 1시간 |
AssumeRoleWithWebIdentity로 구성된 콘솔 URL |
OIDC 공급자로 인증된 모든 사용자 | URL의 SessionDuration HTML 파라미터 |
15m | 12시간 | 1시간 |
¹ 한 역할의 자격 증명으로 다른 역할을 수임하는 것을 역할 체이닝(role chaining)이라고 합니다. 역할 체이닝을 사용하면 역할의 세션 기간이 1시간으로 제한됩니다. 이는 AWS Management Console 역할 전환, AWS CLI, API 작업에 적용됩니다. 이 제한은 사용자 자격 증명에서 역할을 처음 수임할 때나 인스턴스 프로필을 사용하는 Amazon EC2 인스턴스에서 실행되는 애플리케이션에는 적용되지 않습니다.
² 이 설정은 1시간에서 12시간 사이의 값을 가질 수 있습니다. 최대 세션 기간 설정 수정에 대한 자세한 내용은 IAM 역할 관리 문서를 참고하세요. 이 설정은 역할 자격 증명을 얻을 때 요청할 수 있는 최대 세션 기간을 결정합니다. 예를 들어 AssumeRole* API 작업으로 역할을 수임할 때 DurationSeconds 파라미터로 세션 길이를 지정할 수 있습니다. 이 파라미터로 900초(15분)부터 역할의 최대 세션 기간 설정까지 역할 세션 길이를 지정하세요. 콘솔에서 역할로 전환하는 IAM 사용자에게는 최대 세션 기간이나 사용자 세션의 남은 시간 중 더 짧은 쪽이 부여됩니다. 역할에 최대 기간 5시간을 설정했다고 가정해 보겠습니다. 콘솔에 10시간(기본 최대 12시간 중) 로그인한 IAM 사용자가 역할로 전환하면 사용 가능한 역할 세션 기간은 2시간입니다. 역할의 최대값을 보는 방법은 이 페이지 뒷부분의 역할의 최대 세션 기간 업데이트 문서를 참고하세요.
참고
- 최대 세션 기간 설정은 AWS 서비스가 수임하는 세션을 제한하지 않습니다.
- Amazon EC2 IAM 역할 자격 증명은 역할에 구성된 최대 세션 기간의 적용을 받지 않습니다.
- 역할 세션 내에서 사용자가 현재 역할을 다시 수임할 수 있게 하려면 역할 신뢰 정책에 역할 ARN 또는 AWS 계정 ARN을 주체로 지정하세요. Amazon EC2, Amazon ECS, Amazon EKS, Lambda 같은 컴퓨팅 리소스를 제공하는 AWS 서비스는 임시 자격 증명을 제공하고 이러한 자격 증명을 자동으로 갱신합니다. 이렇게 하면 항상 유효한 자격 증명 세트를 가지게 돼요. 이런 서비스에서는 임시 자격 증명을 얻기 위해 현재 역할을 다시 수임할 필요가 없습니다. 하지만 세션 태그나 세션 정책을 전달하려면 현재 역할을 다시 수임해야 합니다. 주체 역할 ARN이나 AWS 계정 ARN을 추가하도록 역할 신뢰 정책을 수정하는 방법은 역할 신뢰 정책 업데이트 문서를 참고하세요.
관련 주제
- IAM 사용자에서 IAM 역할로 전환 (콘솔)
- IAM 역할로 전환 (AWS CLI)
- IAM 역할로 전환 (Tools for Windows PowerShell)
- IAM 역할로 전환 (AWS API)
- Amazon EC2 인스턴스에서 실행되는 애플리케이션에 권한을 부여하는 데 IAM 역할 사용
- 인스턴스 프로필 사용