SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스할 수 있게 하기 - AWS Identity and Access Management

SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스할 수 있게 하기

역할을 사용해 SAML 2.0 호환 자격 증명 공급자(IdP) 및 AWS를 구성하여 페더레이션 사용자가 AWS Management Console에 액세스하도록 허용할 수 있습니다. 역할은 콘솔에서 작업을 수행할 수 있는 권한을 사용자에게 부여합니다. SAML 페더레이션 사용자가 다른 방법으로 AWS에 액세스할 수 있게 하려면 다음 주제 중 하나를 참조하세요.

개요

다음 다이어그램은 SAML 지원 Single Sign-On의 흐름을 보여줍니다.

참고

이와 같은 SAML의 특수한 사용이 SAML 2.0 연동에 설명된 더 일반적인 사용과 차이가 나는 이유는, 이 워크플로우가 사용자를 대신해 AWS Management Console을 열기 때문입니다. 이를 위해서는 AssumeRoleWithSAML API를 직접 호출하는 대신 AWS 로그인 엔드포인트를 사용해야 합니다. 엔드포인트는 사용자를 위해 API를 호출하고 사용자의 브라우저를 AWS Management Console로 자동 리디렉션하는 URL을 반환합니다.


        SAML을 이용한 AWS 관리 콘솔에 대한 통합 인증(SSO)

다이어그램은 다음 단계들을 보여줍니다.

  1. 사용자는 검색을 통해 조직의 포털에 이르러 옵션을 선택해 AWS Management Console로 갑니다. 조직에서 포털은 일반적으로, 조직과 AWS 간의 신뢰 교환을 처리하는 IdP 기능입니다. 예를 들어 Active Directory Federation Services에서 포털 URL은 https://ADFSServiceName/adfs/ls/IdpInitiatedSignOn.aspx입니다.

  2. 포털은 사용자의 조직 내 자격 증명을 확인합니다.

  3. 포털은 사용자를 식별하고 사용자에 대한 속성을 포함하는 어설션이 포함된 SAML 인증 응답을 생성합니다. 콘솔 세션의 유효 기간을 지정하는 SessionDuration이라는 SAML 어설션 속성을 포함하여 IdP를 구성할 수도 있습니다. 속성을 세션 태그로 전달하도록 IdP를 구성할 수도 있습니다. 포털은 이 응답을 클라이언트 브라우저로 전송합니다.

  4. 클라이언트 브라우저는 AWS Single Sign-On 엔드포인트로 리디렉션되고 SAML 어설션을 게시합니다.

  5. 엔드포인트는 사용자 대신 임시 보안 자격 증명을 요청하고 그 자격 증명을 사용하는 콘솔 로그인 URL을 생성합니다.

  6. AWS는 리디렉션으로 클라이언트에게 로그인 URL을 반송합니다.

  7. 클라이언트 브라우저는 AWS Management Console로 리디렉션됩니다. SAML 인증 응답이 여러 개의 IAM 역할에 매핑되는 속성을 포함하는 경우 사용자는 콘솔에 액세스하는 데 사용할 역할을 선택하라는 메시지를 먼저 받습니다.

사용자의 시점에서는 그 과정을 투명하게 들여다볼 수 있습니다. 사용자는 조직의 내부 포털에서 시작하여 AWS 자격 증명을 제공할 필요 없이 AWS Management Console에서 마칩니다.

세부 단계들에 대한 링크를 따라 이 행동을 구성하는 방법을 개관하시려면 다음 섹션들을 참조하세요.

AWS에 대한 SAML 공급자로 네트워크 구성하기

귀하의 조직 네트워크의 내부에서 자격 증명 스토어(Windows Active Directory 등)를 구성해 Windows Active Directory Federation Services, Shibboleth와 같은 SAML 기반 IdP로 작업합니다. IdP를 사용하여 귀하의 조직을 IdP로 기술하고 인증 키를 포함하는 메타데이터 문서를 생성합니다. 또한 조직의 포털을 구성해, AWS Management Console에 대한 사용자 요청을 SAML 어설션을 이용한 인증을 위해 AWS SAML 엔드포인트로 라우팅합니다. metadata.xml 파일을 생성하기 위해 IdP를 어떻게 구성하는가는 IdP에 따라 다릅니다. 지침을 보시려면 IdP의 문서를 참고하시거나 지원되는 SAML 공급자들 중 다수의 웹 문서 링크가 있는 서드 파티 SAML 솔루션 공급자를 AWS와 통합를 참조하세요.

IAM에서 SAML 공급자 생성

그 다음에는 AWS Management Console에 로그인하여 IAM 콘솔로 이동합니다. 그곳에서 새로운 SAML 공급자를 생성합니다. 그 공급자는 조직의 Idp에 대한 정보를 담고 있는 IAM의 엔터티입니다. 이 과정의 일부로 이전 섹션에서 조직의 IdP 소프트웨어가 생성한 메타데이터 문서를 업로드합니다. 자세한 내용은 IAM에서 SAML ID 공급자 생성 섹션을 참조하세요.

페더레이션 사용자들을 위해 AWS에서 권한 구성하기

다음 단계는 조직의 IdP와 IAM 간에 신뢰 관계를 수립하는 IAM 역할을 생성하는 것입니다. 이 역할은 연동을 위해 IdP를 보안 주체(신뢰할 수 있는 엔터티)로 식별해야 합니다. 그 역할은 조직의 IdP에 의해 인증된 사용자들이 AWS에서 할 수 있도록 허용되는 것이 무엇인지 정의하기도 합니다. IAM 콘솔을 사용하여 이 역할을 생성할 수 있습니다. 역할을 수임할 수 있는 사용자를 나타내는 신뢰 정책을 생성할 때 이전에 IAM에서 생성한 SAML 공급자를 지정합니다. 또한 역할을 맡을 수 있도록 사용자가 일치해야 하는 SAML 속성을 하나 이상 지정합니다. 예를 들어 SAML eduPersonOrgDN 값이 ExampleOrg인 사용자에게만 로그인을 허용하도록 구성할 수 있습니다. 그 역할 마법사는 조건을 자동으로 추가해 saml:aud 속성을 테스트함으로써 그 역할이 AWS Management Console에 로그인하는 것을 위해서만 위임되는 것인지 확인합니다. 그 역할을 위한 신뢰 정책은 다음과 같을 수 있습니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Federated": "arn:aws:iam::account-id:saml-provider/ExampleOrgSSOProvider"}, "Action": "sts:AssumeRoleWithSAML", "Condition": {"StringEquals": { "saml:edupersonorgdn": "ExampleOrg", "saml:aud": "https://signin.aws.amazon.com/saml" }} }] }
참고

역할 신뢰 정책에 사용되는 SAML IdP는 해당 역할이 속한 계정과 동일한 계정에 있어야 합니다.

https://region-code.signin.aws.amazon.com/static/saml-metadata.xml에서 saml:aud 속성에 대한 리전 엔드포인트를 포함할 수 있습니다. 가능한 region-code 값 목록은 AWS 로그인 엔드포인트리전(Region) 열을 참조하세요.

역할의 권한 정책에 대해 어떤 역할, 사용자, 또는 그룹에 사용하는 방식으로 권한을 지정합니다. 예를 들어, 조직의 사용자가 Amazon EC2 인스턴스를 관리하도록 허용될 경우 권한 정책에서 명시적으로 Amazon EC2 작업을 허용합니다. 이렇게 하려면 Amazon EC2 모든 액세스 관리형 정책과 같은 관리형 정책을 할당합니다.

SAML IdP를 위한 역할 생성에 관한 자세한 정보는 SAML 2.0 페더레이션을 위한 역할 생성(콘솔)을 참조하세요.

구성 완료 및 SAML 어설션 생성

https://region-code.signin.aws.amazon.com/static/saml-metadata.xml 또는 https://signin.aws.amazon.com/static/saml-metadata.xml에 있는 saml-metadata.xml 파일을 설치하여 AWS가 서비스 제공업체임을 SAML IdP에 알립니다. 가능한 region-code 값 목록은 AWS 로그인 엔드포인트리전(Region) 열을 참조하세요.

그 파일의 설치 방법은 IdP에 따라 다릅니다. 어떤 IdP는 URL을 입력할 수 있는 옵션을 제공하고, 그 결과 IdP가 그 파일을 획득하고 설치해 줍니다. 다른 IdP들의 경우에는 URL에서 파일을 내려받은 다음 로컬 파일로 제공해야 합니다. 세부 정보를 보시려면 IdP의 문서를 참고하시거나 지원되는 SAML 공급자들 중 다수의 웹 문서 링크가 있는 서드 파티 SAML 솔루션 공급자를 AWS와 통합를 참조하세요.

또한, IdP가 인증 응답의 일부로 AWS에 SAML 속성으로 전달하기 원하는 정보를 구성합니다. 이 정보의 대부분은 정책에서 평가할 수 있는 조건 컨텍스트 키로 AWS에 나타납니다. 이러한 조건 키를 사용하면 올바른 컨텍스트의 승인된 사용자에게만 AWS 리소스에 액세스할 수 있는 권한이 부여됩니다. 콘솔을 사용할 수 있는 시간을 제한하는 시간 창을 지정할 수 있습니다. 또한 사용자가 콘솔에 액세스할 수 있는 최대 시간(최대 12시간)을 지정할 수 있습니다. 사용자는 이 시간 이후에 자신의 자격 증명을 새로 고쳐야 합니다. 자세한 내용은 인증 응답에 대한 SAML 어설션 구성 섹션을 참조하세요.