자습서: AWS 단일 계정 액세스와 Microsoft Entra SSO 통합

이 자습서에서는 AWS 단일 계정 액세스를 Microsoft Entra ID와 통합하는 방법을 알아봅니다. AWS 단일 계정 액세스를 Microsoft Entra ID와 통합하면 다음을 수행할 수 있습니다.

  • AWS 단일 계정 액세스에 액세스할 수 있는 Microsoft Entra ID를 제어합니다.
  • 사용자가 Microsoft Entra 계정을 사용하여 AWS 단일 계정 액세스에 자동으로 로그인되도록 할 수 있습니다.
  • 하나의 중앙 위치에서 계정을 관리합니다.

아래 정보를 사용하여 Microsoft Entra 애플리케이션 갤러리에서 AWS Single Sign-On과 AWS 단일 계정 액세스 애플리케이션 중 무엇을 사용할지 결정합니다.

AWS Single Sign-On

2021년 2월에 AWS Single Sign-On이 Microsoft Entra 애플리케이션 갤러리에 추가되었습니다. 이를 사용하여 Microsoft Entra ID를 통해 로그인하고 여러 AWS 계정 및 AWS 애플리케이션에 대한 액세스를 중앙에서 쉽게 관리할 수 있습니다. Microsoft Entra ID와 AWS SSO를 페더레이션하고, AWS SSO를 사용하여 한 곳에서 모든 AWS 계정에 대한 권한을 관리합니다. AWS SSO는 권한을 자동으로 프로비전하고 정책 및 액세스 할당 업데이트 발생 시 권한을 최신 상태로 유지합니다. 최종 사용자는 Microsoft Entra 자격 증명으로 인증하여 AWS 콘솔, 명령줄 인터페이스 및 AWS SSO 통합 애플리케이션에 액세스할 수 있습니다.

AWS Single-Account 액세스

AWS 단일 계정 액세스는 지난 몇 년 동안 고객이 사용해 왔으며 이를 통해 Microsoft Entra ID를 단일 AWS 계정에 페더레이션하고 Microsoft Entra ID를 사용하여 AWS IAM 역할에 대한 액세스를 관리할 수 있습니다. AWS IAM 관리자는 각 AWS 계정에서 역할 및 정책을 정의합니다. 각 AWS 계정에 대해 Microsoft Entra 관리자는 AWS IAM에 페더레이션하고, 사용자 또는 그룹을 계정에 할당하고, 역할 액세스 권한을 부여하는 어설션을 보내도록 Microsoft Entra ID를 구성합니다.

기능 AWS Single Sign-On AWS Single-Account 액세스
조건부 액세스 모든 AWS 계정에 대한 단일 조건부 액세스 정책을 지원합니다. 모든 계정에 대한 단일 조건부 액세스 정책 또는 계정당 사용자 지정 정책을 지원합니다.
CLI 액세스 지원됨 지원됨
Privileged Identity Management 지원됨 지원되지 않음
계정 관리 중앙 집중화 AWS의 계정 관리 중앙 집중화. Microsoft Entra ID에서 계정 관리를 중앙 집중화합니다(계정당 Microsoft Entra 엔터프라이즈 애플리케이션이 필요할 수 있음).
SAML 인증서 단일 인증서 앱/계정당 별도의 인증서

AWS Single-Account 액세스 아키텍처

Screenshot showing Microsoft Entra ID and AWS relationship.

여러 인스턴스에 대해 여러 식별자를 구성할 수 있습니다. 예시:

  • https://signin.aws.amazon.com/saml#1

  • https://signin.aws.amazon.com/saml#2

이러한 값을 사용하면 Microsoft Entra ID는 # 값을 제거하고 올바른 값 https://signin.aws.amazon.com/saml을 SAML 토큰의 대상 그룹 URL로 보냅니다.

다음과 같은 이유로 이 방법을 사용하는 것이 좋습니다.

  • 각 애플리케이션에서 고유한 X509 인증서를 제공합니다. 그러면 AWS 앱 인스턴스의 각 인스턴스마다 인증서 만료 날짜가 다를 수 있으며, 이 만료 날짜는 개별 AWS 계정으로 관리할 수 있습니다. 이 경우 전체 인증서를 더 쉽게 롤오버할 수 있습니다.

  • Microsoft Entra ID에서 AWS 앱을 사용하여 사용자 프로비전을 사용하도록 설정하면 서비스가 해당 AWS 계정에서 모든 역할을 가져옵니다. 앱에서 AWS 역할을 수동으로 추가하거나 업데이트할 필요가 없습니다.

  • 앱에 대한 앱 소유자를 개별적으로 할당할 수 있습니다. 이 사람은 Microsoft Entra ID에서 직접 앱을 관리할 수 있습니다.

참고 항목

갤러리 애플리케이션만 사용해야 합니다.

필수 조건

시작하려면 다음 항목이 필요합니다.

  • Microsoft Entra 구독. 구독이 없는 경우 무료 계정을 얻을 수 있습니다.
  • AWS IAM IdP가 사용 설정된 구독.
  • 클라우드 애플리케이션 관리자와 함께 애플리케이션 관리자는 Microsoft Entra ID에서 애플리케이션을 추가하거나 관리할 수도 있습니다. 자세한 정보는 Azure 기본 제공 역할을 참조하세요.

참고 항목

역할을 가져올 때 Microsoft Entra ID에서 역할을 수동으로 편집하면 안 됩니다.

시나리오 설명

이 자습서에서는 테스트 환경에서 Microsoft Entra SSO를 구성하고 테스트합니다.

  • AWS Single-Account Access에서 SP 및 IDP 시작 SSO를 지원합니다.

참고 항목

이 애플리케이션의 식별자는 고정 문자열 값이므로 하나의 테넌트에서 하나의 인스턴스만 구성할 수 있습니다.

AWS 단일 계정 액세스를 Microsoft Entra ID에 통합하도록 구성하려면 갤러리의 AWS 단일 계정 액세스를 관리되는 SaaS 앱 목록에 추가해야 합니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.
  2. ID>애플리케이션>엔터프라이즈 애플리케이션>새 애플리케이션으로 이동합니다.
  3. 갤러리에서 추가 섹션의 검색 상자에서 AWS Single-Account Access를 입력합니다.
  4. 결과 패널에서 AWS Single-Account Access를 선택한 다음, 앱을 추가합니다. 앱이 테넌트에 추가될 때까지 잠시 동안 기다려 주세요.

또는 Enterprise App Configuration 마법사를 사용할 수도 있습니다. 이 마법사에서는 테넌트에 애플리케이션을 추가하고, 앱에 사용자/그룹을 추가하고, 역할을 할당하고, SSO 구성을 연습할 수 있습니다. Microsoft 365 마법사에 대한 자세한 정보

또는 Enterprise App Configuration 마법사를 사용할 수도 있습니다. 이 마법사에서는 테넌트에 애플리케이션을 추가하고, 앱에 사용자/그룹을 추가하고, 역할을 할당하고, SSO 구성을 연습할 수 있습니다. 여기에서 O365에 대해 자세히 알아볼 수 있습니다.

AWS 단일 계정 액세스를 위한 Microsoft Entra SSO 구성 및 테스트

B.Simon이라는 테스트 사용자를 사용하여 AWS 단일 계정 액세스로 Microsoft Entra SSO를 구성하고 테스트합니다. SSO가 작동하려면 Microsoft Entra 사용자와 AWS 단일 계정 액세스의 관련 사용자 간에 연결 관계를 설정해야 합니다.

AWS 단일 계정 액세스로 Microsoft Entra SSO를 구성하고 테스트하려면 다음 단계를 수행합니다.

  1. Microsoft Entra SSO 구성 - 사용자가 이 기능을 사용할 수 있도록 합니다.
    1. Microsoft Entra 테스트 사용자 만들기 - B.Simon을 사용하여 Microsoft Entra Single Sign-On을 테스트합니다.
    2. Microsoft Entra 테스트 사용자 할당 - B.Simon이 Microsoft Entra Single Sign-On을 사용할 수 있도록 합니다.
  2. AWS Single-Account Access SSO 구성 - 애플리케이션 쪽에서 Single Sign-On 설정을 구성합니다.
    1. AWS 단일 계정 액세스 테스트 사용자 만들기 - B.Simon의 Microsoft Entra 표현과 연결된 해당 사용자를 AWS 단일 계정 액세스에 만듭니다.
    2. AWS Single-Account Access에서 역할 프로비저닝을 구성하는 방법
  3. SSO 테스트 - 구성이 작동하는지 여부를 확인합니다.

Microsoft Entra SSO 구성

다음 단계에 따라 Microsoft Entra SSO를 사용하도록 설정합니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>애플리케이션>엔터프라이즈 애플리케이션>AWS 단일 계정 액세스>Single Sign-On으로 이동합니다.

  3. Single Sign-On 방법 선택 페이지에서 SAML을 선택합니다.

  4. SAML로 Single Sign-On 설정 페이지에서 기본 SAML 구성에 대한 연필 아이콘을 클릭하여 설정을 편집합니다.

    Screenshot showing Edit Basic SAML Configuration.

  5. 기본 SAML 구성 섹션에서 식별자(엔터티 ID)회신 URL을 동일한 기본값 https://signin.aws.amazon.com/saml으로 업데이트합니다. 저장을 클릭하여 구성 변경을 저장합니다.

  6. 둘 이상의 인스턴스를 구성하는 경우 식별자 값을 제공합니다. 두 번째 인스턴스 이후부터 # 기호를 포함한 다음 형식을 사용하여 고유한 SPN 값을 지정합니다.

    https://signin.aws.amazon.com/saml#2

  7. AWS 애플리케이션에는 SAML 토큰 특성 구성에 사용자 지정 특성 매핑을 추가해야 하는 특정 형식의 SAML 어설션이 필요합니다. 다음 스크린샷에서는 기본 특성의 목록을 보여 줍니다.

    Screenshot showing default attributes.

  8. 위에서 언급한 특성 외에도 AWS 애플리케이션에는 아래에 표시된 SAML 응답에서 다시 전달되어야 하는 몇 가지 특성이 추가로 필요합니다. 이러한 특성도 미리 채워져 있지만 요구 사항에 따라 검토할 수 있습니다.

    이름 원본 특성 네임스페이스
    RoleSessionName user.userprincipalname https://aws.amazon.com/SAML/Attributes
    역할 user.assignedroles https://aws.amazon.com/SAML/Attributes
    SessionDuration user.sessionduration https://aws.amazon.com/SAML/Attributes

    참고 항목

    AWS는 애플리케이션에 할당된 사용자의 역할이 필요합니다. 사용자가 적절한 역할을 할당 받을 수 있도록 Microsoft Entra ID에서 이러한 역할을 설정하세요. Microsoft Entra ID에서 역할을 구성하는 방법을 이해하려면 여기를 참조하세요.

  9. SAML로 Single Sign-On 설정 페이지의 SAML 서명 인증서(3단계) 대화 상자에서 인증서 추가를 선택합니다.

    Screenshot showing Create new SAML Certificate.

  10. 새 SAML 서명 인증서를 생성한 다음, 새 인증서를 선택합니다. 인증서 알림에 사용할 이메일 주소를 입력합니다.

    Screenshot showing New SAML Certificate.

  11. SAML 서명 인증서 섹션에서 페더레이션 메타데이터 XML을 찾고, 다운로드를 선택하여 인증서를 컴퓨터에 다운로드하고 저장합니다.

    Screenshot showing the Certificate download link.

  12. AWS Single-Account Access 설정 섹션에서 요구 사항에 따라 적절한 URL을 복사합니다.

    Screenshot showing Copy configuration URLs.

Microsoft Entra 테스트 사용자 만들기

이 섹션에서는 B.Simon이라는 사용자를 만듭니다.

  1. 최소한 사용자 관리자Microsoft Entra 관리 센터에 로그인합니다.
  2. ID>사용자>모든 사용자로 이동합니다.
  3. 화면 위쪽에서 새 사용자>새 사용자 만들기를 선택합니다.
  4. 사용자 속성에서 다음 단계를 수행합니다.
    1. 표시 이름 필드에서 B.Simon을 입력합니다.
    2. 사용자 계정 이름 필드에서 username@companydomain.extension을 입력합니다. 예: B.Simon@contoso.com.
    3. 암호 표시 확인란을 선택한 다음, 암호 상자에 표시된 값을 적어둡니다.
    4. 검토 + 만들기를 선택합니다.
  5. 만들기를 선택합니다.

Microsoft Entra 테스트 사용자 할당

이 섹션에서는 AWS 단일 계정 액세스에 대한 액세스 권한을 부여하여 B.Simon이 Single Sign-On을 사용할 수 있도록 합니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.
  2. ID>애플리케이션>엔터프라이즈 애플리케이션>AWS 단일 계정 액세스로 이동합니다.
  3. 앱의 개요 페이지에서 사용자 및 그룹을 선택합니다.
  4. 사용자/그룹 추가를 선택한 다음, 할당 추가 대화 상자에서 사용자 및 그룹을 선택합니다.
    1. 사용자 및 그룹 대화 상자의 사용자 목록에서 B.Simon을 선택한 다음, 화면 아래쪽에서 선택 단추를 클릭합니다.
    2. 사용자에게 역할을 할당할 것으로 예상되는 경우 역할 선택 드롭다운에서 선택할 수 있습니다. 이 앱에 대한 역할이 설정되지 않은 경우 "기본 액세스" 역할이 선택된 것으로 표시됩니다.
    3. 할당 추가 대화 상자에서 할당 단추를 클릭합니다.

AWS Single-Account Access SSO 구성

  1. 다른 브라우저 창에서 AWS 회사 사이트에 관리자 권한으로 로그온합니다.

  2. AWS 홈페이지에서 IAM을 검색하여 클릭합니다.

    Screenshot of AWS services page, with IAM highlighted.

  3. 액세스 관리 ->ID 공급자로 이동하여 공급자 추가 단추를 클릭합니다.

    Screenshot of IAM page, with Identity Providers and Create Provider highlighted.

  4. ID 공급자 추가 페이지에서 다음 단계를 수행합니다.

    Screenshot of Configure Provider.

    a. 공급자 형식으로 SAML을 선택합니다.

    b. 파트너 이름(공급자 이름)에 대해 공급자 이름(예: WAAD)을 입력합니다.

    c. 다운로드한 메타데이터 파일을 업로드하려면 파일 선택을 선택합니다.

    d. 공급자 추가를 클릭합니다.

  5. Roles(역할)>Create role(역할 만들기)을 차례로 선택합니다.

    Screenshot of Roles page.

  6. 역할 만들기 페이지에서 다음 단계를 수행합니다.

    Screenshot of Create role page.

    a. 신뢰할 수 있는 엔터티 형식을 선택하고 SAML 2.0 페더레이션을 선택합니다.

    b. SAML 2.0 기반 공급자에서 이전에 만든 SAML 공급자(예: WAAD)를 선택합니다.

    c. 프로그래밍 및 AWS 관리 콘솔 액세스 허용을 선택합니다.

    d. 다음을 선택합니다.

  7. 권한 정책 대화 상자에서 조직별로 적절한 정책을 연결합니다. 그런 후 다음을 선택합니다.

    Screenshot of Attach permissions policy dialog box.

  8. Review(검토) 대화 상자에서 다음 단계를 수행합니다.

    Screenshot of Review dialog box.

    a. Role name(역할 이름)에서 역할 이름을 입력합니다.

    b. 설명에 역할 설명을 입력합니다.

    c. Create role(역할 만들기)을 선택합니다.

    d. 필요한 만큼 많은 역할을 만들고, 이를 ID 공급자에 매핑합니다.

  9. Microsoft Entra 사용자 프로비전의 AWS 계정에서 역할을 가져오려면 AWS 서비스 계정 자격 증명을 사용합니다. 이 경우에 AWS 콘솔 홈을 엽니다.

  10. IAM 섹션에서 정책을 선택하고 정책 만들기를 클릭합니다.

    Screenshot of IAM section, with Policies highlighted.

  11. 고유한 정책을 만들어 AWS 계정에서 모든 역할을 페치합니다.

    Screenshot of Create policy page, with JSON highlighted.

    a. Create policy(정책 만들기)에서 JSON 탭을 선택합니다.

    b. 정책 문서에서 다음 JSON을 추가합니다.

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                "iam:ListRoles"
                ],
                "Resource": "*"
            }
        ]
    }
    

    c. 다음: 태그를 클릭합니다.

  12. 아래 페이지에서 필수 태그를 추가하고 다음: 검토를 클릭할 수도 있습니다.

    Screenshot of Create policy tag page.

  13. 새 정책을 정의합니다.

    Screenshot of Create policy page, with Name and Description fields highlighted.

    a. Name(이름)에 대해 AzureAD_SSOUserRole_Policy를 입력합니다.

    b. Description(설명)에 대해 This policy will allow to fetch the roles from AWS accounts(이 정책을 통해 AWS 계정에서 역할을 가져올 수 있습니다)를 입력합니다.

    c. Create policy(정책 만들기)를 선택합니다.

  14. 새 사용자 계정을 AWS IAM 서비스에 만듭니다.

    a. AWS IAM 콘솔에서 사용자를 선택하고 사용자 추가를 클릭합니다.

    Screenshot of AWS IAM console, with Users highlighted.

    b. 사용자 세부 정보 지정 섹션에서 사용자 이름을 AzureADRoleManager로 입력하고 다음을 선택합니다.

    Screenshot of Add user page, with User name and Access type highlighted.

    c. 이 사용자에 대한 새 정책을 만듭니다.

    Screenshot shows the Add user page where you can create a policy for the user.

    d. Attach existing policies directly(기존 정책 직접 연결)를 선택합니다.

    e. AzureAD_SSOUserRole_Policy 필터 섹션에서 새로 만든 정책을 검색합니다.

    f. 정책을 선택하고, 다음을 선택합니다.

  15. 선택 사항을 검토하고 사용자 만들기를 선택합니다.

  16. 사용자의 사용자 자격 증명을 다운로드하려면 보안 자격 증명 탭에서 콘솔 액세스를 사용하도록 설정합니다.

    Screenshot shows the Security credentials.

  17. AWS 콘솔에서 역할을 가져오려면 Microsoft Entra 사용자 프로비전 섹션에 이러한 자격 증명을 입력합니다.

    Screenshot shows the download the user credentials.

참고 항목

AWS에는 AWS SSO를 구성하는 데 필요한 일련의 권한/한도가 있습니다. AWS 제한에 대한 자세한 내용은 페이지를 참조하세요.

AWS Single-Account Access에서 역할 프로비저닝을 구성하는 방법

  1. Microsoft Entra 관리 포털의 AWS 앱에서 프로비전으로 이동합니다.

    Screenshot of AWS app, with Provisioning highlighted.

  2. clientsecret비밀 토큰 필드에서 각각 액세스 키와 비밀을 입력합니다.

    Screenshot of Admin Credentials dialog box.

    a. clientsecret 필드에 AWS 사용자 액세스 키를 입력합니다.

    b. 암호 토큰 필드에 AWS 사용자 암호를 입력합니다.

    c. 연결 테스트를 클릭합니다.

    d. 저장을 선택하여 설정을 저장합니다.

  3. 설정 섹션에서 프로비저닝 상태에 대해 켜기를 선택합니다. 그런 다음, 저장을 선택합니다.

    Screenshot of Settings section, with On highlighted.

참고 항목

프로비전 서비스는 AWS에서 Microsoft Entra ID로만 역할을 가져옵니다. 이 서비스는 Microsoft Entra ID에서 AWS로 사용자 및 그룹을 프로비전하지 않습니다.

참고 항목

프로비저닝 자격 증명을 저장한 후 초기 동기화 주기가 실행될 때까지 기다려야 합니다. 동기화를 완료하는 데는 일반적으로 약 40분이 걸립니다. 프로비저닝 페이지 하단의 현재 상태에서 상태를 확인할 수 있습니다.

AWS Single-Account Access 테스트 사용자 만들기

이 섹션에서는 AWS Single-Account Access에서 B.Simon이라는 사용자를 만듭니다. AWS Single-Account Access는 SSO를 위해 해당 시스템에서 사용자를 만들 필요가 없으므로 여기서는 어떤 작업도 수행할 필요가 없습니다.

SSO 테스트

이 섹션에서는 다음 옵션을 사용하여 Microsoft Entra Single Sign-On 구성을 테스트합니다.

SP 시작:

  • 이 애플리케이션 테스트를 클릭하면 로그인 흐름을 시작할 수 있는 AWS 단일 계정 액세스 로그인 URL로 리디렉션됩니다.

  • AWS Single-Account Access 로그온 URL로 직접 이동하여 해당 위치에서 로그인 흐름을 시작합니다.

IDP 시작:

  • 이 애플리케이션 테스트를 클릭하면 SSO를 설정한 AWS 단일 계정 액세스에 자동으로 로그인됩니다.

Microsoft 내 앱을 사용하여 모든 모드에서 애플리케이션을 테스트할 수도 있습니다. 내 앱에서 AWS Single-Account Access 타일을 클릭하면 SP 모드로 구성된 경우 로그인 흐름을 시작하기 위해 애플리케이션 로그온 페이지로 리디렉션되고, IDP 모드로 구성된 경우 SSO를 설정한 AWS Single-Account Access에 자동으로 로그인됩니다. 내 앱에 대한 자세한 내용은 내 앱 소개를 참조하세요.

알려진 문제

  • AWS Single-Account Access 프로비전 통합은 AWS 중국 지역에서 사용할 수 없습니다.

  • 프로비저닝 섹션에서 매핑 하위 섹션에 "로드 중..." 메시지가 표시되고 특성 매핑이 표시되지 않습니다. 현재 지원되는 유일한 프로비전 워크플로는 사용자 또는 그룹 할당 중에 선택하기 위해 AWS에서 Microsoft Entra ID로 역할을 가져오는 것입니다. 이에 대한 특성 매핑은 미리 결정되어 있으며 구성할 수 없습니다.

  • 프로비전 섹션에서는 한 번에 하나의 AWS 테넌트에 대한 하나의 자격 증명 집합만 입력할 수 있습니다. 가져온 모든 역할은 AWS 테넌트에 대한 Microsoft Entra ID servicePrincipal 개체appRoles 속성에 기록됩니다.

    프로비전을 위해 갤러리에서 Microsoft Entra ID에 여러 AWS 테넌트(servicePrincipals로 표시)를 추가할 수 있습니다. 그러나 SSO에 사용되는 단일 servicePrincipal에 프로비저닝하는 데 사용되는 여러 AWS servicePrincipals에서 가져온 역할을 모두 자동으로 작성할 수 없는 알려진 문제가 있습니다.

    해결 방법으로 Microsoft Graph API를 사용하여 가져온 모든 appRoles를 프로비저닝이 구성된 각 AWS servicePrincipal에 추출할 수 있습니다. 그런 다음, 이러한 역할 문자열을 SSO가 구성된 AWS servicePrincipal에 추가할 수 있습니다.

  • 역할을 AWS에서 Microsoft Entra ID로 가져오려면 다음 요구 사항을 충족해야 합니다.

    • 역할에는 AWS에 정의된 saml 공급자가 하나만 있어야 합니다.
    • 역할에 대한 ARN(Amazon Resource Name)과 연결된 saml 공급자에 대한 ARN의 결합된 길이는 240자 미만이어야 합니다.

로그 변경

  • 2020년 1월 12일 - 역할 길이 제한이 119자에서 239자로 증가했습니다.

다음 단계

AWS Single-Account Access가 구성되면 세션 제어를 적용하여 조직의 중요한 데이터의 반출 및 반입을 실시간으로 보호할 수 있습니다. 세션 제어는 조건부 액세스에서 확장됩니다. Microsoft Defender for Cloud Apps를 사용하여 세션 제어를 적용하는 방법을 알아봅니다.