IAM 역할 사용 - AWS Identity and Access Management

IAM 역할 사용

사용자, 애플리케이션 또는 서비스에서 이전에 생성한 역할을 사용하려면 그 역할로 전환할 수 있는 권한을 부여해야 합니다. 그룹 또는 사용자에게 추가된 어떤 정책도 필요한 권한을 부여하는 데 사용할 수 있습니다. 이 섹션에서는 사용자에게 역할을 사용할 권한을 부여하는 방법을 설명합니다. 또한 사용자가 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) 기능이 있는 역할을 사용하려면 PathRoleName을 합해 64자를 초과할 수 없습니다.

AWS Management Console에서 역할을 전환할 수 있습니다. AWS CLI 또는 API 작업을 호출하거나 사용자 지정 URL을 사용하여 역할을 위임할 수 있습니다. 사용한 방법에 따라 역할을 수임할 수 있는 사용자와 역할 세션의 지속 가능 기간이 결정됩니다. AssumeRole* API 작업을 사용하는 경우 여러분이 맡는 IAM 역할은 리소스입니다. AssumeRole* API 작업을 호출하는 사용자 또는 역할이 보안 주체입니다.

역할 사용을 위한 방법 비교
역할을 수임하는 방법 역할을 위임할 수 있는 사용자 자격 증명의 수명을 지정하는 방법 자격 증명의 수명(최소 | 최대 | 기본)
AWS Management Console 사용자(역할 전환을 통해) 최대 세션 기간역할 요약 페이지에서 15분 | 최대 세션 기간 설정² | 1시간
assume-role CLI 또는 AssumeRole API 작업 사용자 또는 역할¹ duration-seconds CLI 또는 DurationSeconds API 파라미터 15분 | 최대 세션 기간 설정² | 1시간
assume-role-with-saml CLI 또는 AssumeRoleWithSAML API 작업 SAML을 사용하여 인증된 모든 사용자 duration-seconds CLI 또는 DurationSeconds API 파라미터 15분 | 최대 세션 기간 설정² | 1시간
assume-role-with-web-identity CLI 또는 AssumeRoleWithWebIdentity API 작업 OIDC 공급자를 사용하여 인증된 모든 사용자 duration-seconds CLI 또는 DurationSeconds API 파라미터 15분 | 최대 세션 기간 설정² | 1시간
AssumeRole로 생성된 콘솔 URL 사용자 또는 역할 URL의 SessionDuration HTML 파라미터 15분 | 12시간 | 1시간
AssumeRoleWithSAML로 생성된 콘솔 URL SAML을 사용하여 인증된 모든 사용자 URL의 SessionDuration HTML 파라미터 15분 | 12시간 | 1시간
AssumeRoleWithWebIdentity로 생성된 콘솔 URL OIDC 공급자를 사용하여 인증된 모든 사용자 URL의 SessionDuration HTML 파라미터 15분 | 12시간 | 1시간

¹ 하나의 역할이 자격 증명을 사용하여 다른 역할을 수임하는 것을 역할 체인이라고 합니다. 역할 함께 묶기를 사용하는 경우 새 자격 증명의 유효 기간은 최대 1시간으로 제한됩니다. 역할을 사용하여 EC2 인스턴스에서 실행되는 애플리케이션에 권한을 부여하는 경우, 이러한 애플리케이션에는 이 제한이 적용되지 않습니다.

² 이 설정에는 1~12시간의 값을 지정할 수 있습니다. 최대 세션 기간 설정을 수정하는 방법에 대한 자세한 내용은 역할 변경 섹션을 참조하세요. 이 설정은 역할 자격 증명을 얻을 때 요청할 수 있는 최대 세션 기간을 결정합니다. 예를 들어 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을 추가하기 위해 역할 신뢰 정책을 수정하는 방법을 알아보려면 역할 신뢰 정책 수정 (콘솔)을 참조하세요.

역할에 대한 최대 세션 기간 설정 보기

역할의 최대 세션 기간은 AWS Management Console을 사용하거나 AWS CLI 또는 AWS API를 사용하여 지정할 수 있습니다. AWS CLI 또는 API 작업을 사용하여 역할을 위임하는 경우 DurationSeconds 파라미터에 대한 값을 지정할 수 있습니다. 이 파라미터를 사용하여 역할 세션 기간을 900초(15분)에서 해당 역할의 최대 세션 기간 설정까지 지정할 수 있습니다. 이 파라미터를 지정하기 전에 역할에 대한 이 설정을 확인해야 합니다. DurationSeconds 파라미터의 값을 최대 설정보다 높게 지정하면 작업에 실패합니다.

역할의 최대 세션 기간을 보려면(콘솔)
  1. IAM 콘솔의 탐색 창에서 역할을 선택합니다.

  2. 보려는 역할의 이름을 선택합니다.

  3. 최대 세션 기간(Maximum session duration) 옆에 있는 역할에 부여된 최대 세션 길이를 확인합니다. 이는 AWS CLI 또는 API 작업에서 지정할 수 있는 최대 세션 기간입니다.

역할의 최대 세션 기간 설정을 보려면(AWS CLI)
  1. 수임할 역할의 이름을 모르는 경우 다음 명령을 실행하여 계정의 역할을 나열합니다.

  2. 역할에 대한 현재 최대 세션 기간 설정을 확인하려면 다음 명령을 실행합니다. 그런 다음 최대 세션 기간 파라미터를 확인합니다.

역할의 최대 세션 기간 설정을 보려면(AWS API)
  1. 수임할 역할의 이름을 모르는 경우 다음 연산을 호출하여 계정의 역할을 나열합니다.

  2. 역할에 대한 현재 최대 세션 기간 설정을 확인하려면 다음 연산을 실행합니다. 그런 다음 최대 세션 기간 파라미터를 확인합니다.