SAML 2.0 페더레이션을 위한 역할 생성(콘솔) - AWS Identity and Access Management

SAML 2.0 페더레이션을 위한 역할 생성(콘솔)

AWS 계정에 속하는 IAM 사용자를 생성하는 대신에 SAML 2.0 페더레이션을 사용할 수 있습니다. 자격 증명 공급자(IdP)를 사용하면 AWS 외부의 사용자 자격 증명을 관리할 수 있고 이 외부 사용자 자격 증명에 계정의 AWS 리소스에 대한 사용 권한을 부여할 수 있습니다. 연동 및 자격 증명 공급자에 대한 자세한 내용은 자격 증명 공급자 및 페더레이션 섹션을 참조하세요.

참고

페더레이션 복원력을 개선하려면 여러 SAML 로그인 엔드포인트를 지원하도록 IdP 및 AWS 페더레이션을 구성하는 것이 좋습니다. 자세한 내용은 AWS 보안 블로그 문서 How to use regional SAML endpoints for failover(장애 조치에 리전 SAML 엔드포인트를 사용하는 방법)를 참조하세요.

SAML 역할을 생성하기 위한 사전 조건

SAML 2.0 페더레이션을 위한 역할을 만들기 전에 먼저 다음 필수 선행 단계를 완료해야 합니다.

SAML 2.0 연동을 위한 역할 생성을 준비하려면
  1. SAML 기반 페더레이션을 위한 역할을 생성하기 전에 IAM에서 SAML 공급자를 만들어야 합니다. 자세한 내용은 IAM에서 SAML ID 공급자 생성 단원을 참조하십시오.

  2. SAML 2.0 인증 사용자들이 수임할 역할에 대한 정책을 준비합니다. 다른 어떤 역할과 마찬가지로 SAML 연동을 위한 역할에는 2개의 정책이 포함됩니다. 하나는 역할을 맡을 수 있는 사용자를 지정하는 역할 신뢰 정책이고, 다른 하나는 페더레이션 사용자의 액세스가 허용 또는 거부되는 AWS 작업 및 리소스를 지정하는 IAM 권한 정책입니다.

    역할에 대한 신뢰 정책을 생성할 때 애플리케이션만 역할을 수임할 수 있도록 세 가지 값을 사용해야 합니다.

    • Action 요소에 대해서는 sts:AssumeRoleWithSAML 작업을 사용하세요.

    • Principal 요소에 대해서는 {"Federated":ARNofIdentityProvider} 문자열을 사용하세요. ARNofIdentityProvider단계 1에서 만든 SAML 자격 증명 공급자의 ARN으로 바꿉니다.

    • Condition 요소에 대해서는 StringEquals 조건을 사용하여 SAML 응답의 saml:aud 속성이 AWS에 대한 SAML 연동 엔드포인트와 일치하는지 테스트하세요.

    다음 예는 SAML 페더레이션 사용자를 위해 설계된 신뢰 정책입니다.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRoleWithSAML", "Principal": {"Federated": "arn:aws:iam::account-id:saml-provider/PROVIDER-NAME"}, "Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}} } }

    보안 주체 ARN을 IAM에서 만든 SAML 공급자의 실제 ARN으로 바꿉니다. ARN에는 고유의 계정 ID와 공급자 이름이 있습니다.

SAML 역할 생성

사전 조건 단계를 완료한 후에는 SAML 기반 연동을 위한 역할을 생성합니다.

SAML 기반 연동을 위한 역할을 생성하려면
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. IAM 콘솔의 탐색 창에서 역할역할 생성을 차례대로 선택합니다.

  3. SAML 2.0 federation(SAML 2.0 연동) 역할 유형을 선택합니다.

  4. SAML 공급자 선택(Select a SAML provider)에서 역할의 제공업체를 선택합니다.

  5. SAML 2.0 액세스 수준 방법을 선택합니다.

    • Allow programmatic access only(프로그래밍 방식의 액세스만 허용)을 선택하여 AWS API 또는 AWS CLI에서 프로그래밍 방식으로 위임할 수 있는 역할을 만듭니다.

    • 그런 다음 프로그래밍 방식 및 AWS Management Console 액세스 허용(Allow programmatic and AWS Management Console access)을 선택하여 AWS Management Console에서 프로그래밍 방식으로 수임할 수 있는 역할을 생성합니다.

    이렇게 생성된 두 역할은 비슷하지만 콘솔에서 위임할 수도 있는 역할에는 특정 조건을 포함하는 신뢰 정책을 포함합니다. 이 조건은 SAML 대상(SAML:aud 속성)이 SAML에 대한 AWS 로그인 엔드포인트(https:///signin.aws.amazon.com/saml)로 설정되도록 명시적으로 보장합니다.

  6. 프로그래밍 방식 액세스를 위한 역할을 만드는 경우, 속성 목록에서 속성을 선택합니다. 그런 다음 값(Value) 상자에 역할에 포함시킬 값을 입력합니다. 이렇게 하면 지정한 속성을 포함하는 SAML 인증 응답(어설션)을 소유한 자격 증명 공급자의 사용자로 역할 액세스가 제한됩니다. 하나 이상의 속성을 지정해야 역할이 조직의 일부 사용자 집합으로 제한됩니다.

    프로그래밍 방식 액세스 및 콘솔 액세스를 위한 역할을 만드는 경우, SAML:aud 속성이 자동으로 추가되고 AWS SAML 엔드포인트의 URL(https:////signin.aws.amazon.com/saml)로 설정됩니다.

  7. 신뢰 정책에 속성 관련 조건을 더 추가하려면 조건(선택 사항)(Condition (optional))을 선택하고 추가 조건을 선택한 후 값을 지정합니다.

    참고

    이 목록에는 가장 많이 사용되는 SAML 속성이 포함되어 있습니다. IAM은 조건을 생성하는 데 사용할 수 있는 추가 속성을 지원합니다. 지원되는 속성 목록은 SAML 연동에 사용할 수 있는 키를 참조하세요. 목록에는 없지만 지원되는 SAML 속성의 조건이 필요한 경우, 해당 조건을 수동으로 추가할 수 있습니다. 이렇게 하려면 역할을 만든 후 신뢰 정책을 편집합니다.

  8. SAML 2.0 신뢰 정보를 검토한 후 다음(Next)을 선택합니다.

  9. IAM은 계정의 AWS 관리형 또는 고객 관리형 정책 목록을 포함합니다. 권한 정책을 사용하기 위한 정책을 선택하거나 정책 생성(Create policy)을 선택하여 새 브라우저 탭을 열고 완전히 새로운 정책을 생성합니다. 자세한 내용은 IAM 정책 생성 단원을 참조하세요. 정책을 생성하면 탭을 닫고 원래 탭으로 돌아갑니다. OIDC 페더레이션 사용자에게 부여할 권한 정책 옆의 확인란을 선택합니다. 원할 경우, 여기서 정책을 선택하지 않고 나중에 정책을 만들어서 역할에 연결할 수 있습니다. 기본적으로 역할은 권한이 없습니다.

  10. (선택 사항) 권한 경계를 선택합니다. 이는 고급 기능입니다.

    권한 경계(Permissions boundary) 섹션을 열고 최대 역할 권한을 관리하기 위한 권한 경계 사용(Use a permissions boundary to control the maximum role permissions)을 선택합니다. 정책을 선택하여 권한 경계를 사용하세요.

  11. 다음을 선택합니다.

  12. 다음: 검토를 선택합니다.

  13. 역할 이름(Role name)에 역할 이름을 입력합니다. 역할 이름은 AWS 계정 내에서 고유해야 합니다. 대소문자는 구별하지 않습니다. 예를 들어, 이름이 PRODROLEprodrole, 두 가지로 지정된 역할을 만들 수는 없습니다. 기타 AWS 리소스가 역할을 참조할 수 있기 때문에 역할이 생성된 후에는 역할 이름을 편집할 수 없습니다.

  14. (선택 사항) 설명(Description)에 새 역할에 대한 설명을 입력합니다.

  15. 1단계: 신뢰할 수 있는 엔터티 선택(Step 1: Select trusted entities) 또는 2단계: 권한 추가(Step 2: Add permissions) 섹션에서 편집(Edit)을 선택하여 역할에 대한 사용 사례와 권한을 편집합니다.

  16. (선택 사항) 태그를 키 값 페어로 연결하여 메타데이터를 역할에 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 IAM 리소스에 태그 지정 섹션을 참조하세요.

  17. 역할을 검토한 다음 역할 생성을 선택합니다.

역할을 만든 후, AWS에 대한 정보로 자격 증명 공급자 소프트웨어를 구성하여 SAML 신뢰를 완료합니다. 이 정보는 페더레이션 사용자가 사용했으면 하는 역할을 포함합니다. 이를 가리켜 IdP와 AWS 간 신뢰 당사자 신뢰 구성이라고 합니다. 자세한 내용은 신뢰 당사자 신뢰 및 클레임 추가를 통해 SAML 2.0 IdP 구성 단원을 참조하십시오.