Microsoft Entra ID(이전의 Azure AD) B2B 사용자 프로비저닝 및 싱글 사인온(SSO)

Last reviewed 2023-02-27 UTC

이 문서에서는 AMicrosoft Entra ID(이전의 Azure AD) 사용자 프로비저닝 및 싱글 사인온(SSO)을 확장하여 Microsoft Entra ID B2B 공동작업 사용자를 위해 싱글 사인온(SSO)을 사용 설정하는 방법을 보여줍니다.

이 문서에서는 사용자가 조직에서 Microsoft Office 365 또는 Microsoft Entra ID를 사용하고 있고 다음 다이어그램과 같이 Microsoft Entra ID 사용자 프로비저닝 및 싱글 사인온(SSO)을 이미 구성했다고 가정합니다.

Microsoft Entra ID 사용자 프로비저닝 및 싱글 사인온(SSO) 구성

이 다이어그램에서 외부 ID 공급업체(IdP) 및 다른 Microsoft Entra ID 테넌트의 사용자는 B2B 로그인을 통해 Microsoft Entra ID 테넌트에 로그인합니다.

목표

  • Microsoft Entra B2B 게스트 사용자를 포함하도록 Microsoft Entra ID 사용자 프로비저닝 구성을 확장합니다.
  • Microsoft Entra B2B 게스트 사용자를 포함하도록 Microsoft Entra ID SSO 구성을 확장합니다.
  • 게스트 사용자의 세션 길이를 제한하도록 Cloud ID를 구성합니다.

시작하기 전에

Microsoft Entra ID 사용자 프로비저닝 및 싱글 사인온(SSO)을 설정했는지 확인합니다.

Microsoft Entra B2B 게스트 사용자

Microsoft Entra ID를 사용하면 외부 사용자를 Microsoft Entra ID 테넌트에 게스트로 초대할 수 있습니다. 외부 사용자를 초대하면 Microsoft Entra ID가 테넌트에 게스트 사용자 계정을 만듭니다. 이러한 게스트 사용자 계정은 일반적인 Microsoft Entra 사용자 계정과 다음과 같은 몇 가지 차이점이 있습니다.

  • 게스트 사용자는 비밀번호가 없습니다. 게스트 사용자는 로그온할 때 자동으로 홈 테넌트 또는 초대받은 외부 ID 공급업체(IdP)로 리디렉션됩니다.
  • 게스트 사용자 계정의 사용자 기본 이름(UPN)에는 초대 대상자의 이메일 주소에서 파생된 프리픽스가 테넌트의 초기 도메인과 결합되어 사용됩니다(예: prefix#EXT#@tenant.onmicrosoft.com).
  • 다른 Microsoft Entra ID 테넌트에서 초대한 사용자가 홈 테넌트에서 삭제되어도 게스트 사용자 계정은 Microsoft Entra ID 테넌트에 활성 상태로 유지됩니다.

이러한 차이점은 사용자 프로비저닝과 싱글 사인온(SSO)을 구성하는 방법에 영향을 줍니다.

  • onmicrosoft.com은 Microsoft 소유의 DNS 도메인이므로 tenant.onmicrosoft.com을 Cloud ID 또는 Google Workspace 계정에 보조 도메인으로 추가할 수 없습니다. 즉, 사용자를 Cloud ID 또는 Google Workspace로 프로비저닝할 때 게스트 사용자의 UPN을 기본 이메일 주소로 사용할 수 없다는 의미입니다.

    게스트 사용자를 Cloud ID 또는 Google Workspace로 프로비저닝하려면 게스트 사용자의 UPN을 Cloud ID 또는 Google Workspac 계정에서 사용한 도메인으로 변환하는 매핑을 설정해야 합니다.

    이 문서에서는 다음 표와 같이 UPN 매핑을 설정합니다.

    Microsoft Entra ID의 원래 UPN Cloud ID 또는 Google Workspace의 기본 이메일 주소
    일반 사용자 alice@example.com alice@example.com
    Microsoft Entra ID 게스트 charlie@altostrat.com charlie_altostrat.com@example.com
    외부 게스트 user@hotmail.com user_hotmail.com@example.com
  • 사용자가 홈 테넌트에서 삭제되어도 Microsoft Entra ID는 Cloud ID 또는 Google Workspace에서 해당 사용자를 정지하지 않습니다. 이 경우 보안 위험이 발생합니다. 이러한 사용자에 대한 싱글 사인온 시도가 실패해도 기존 브라우저 세션 및 갱신 토큰(Google Cloud CLI에서 사용되는 토큰 포함)이 며칠 또는 몇 주 동안 활성인 상태를 유지하므로 사용자가 리소스에 계속 액세스할 수 있습니다.

    이 문서에 제시된 접근 방식을 사용하여 게스트 사용자를 Cloud ID 또는 Google Workspace의 전용 조직 단위에 프로비저닝하고 세션 길이를 8시간으로 제한하는 정책을 적용하여 이 위험을 완화할 수 있습니다. 이 정책을 적용하면 사용자가 홈 테넌트에서 삭제된 후 최대 8시간 동안 브라우저 세션 및 기존 갱신 토큰이 무효화되므로 모든 액세스를 효과적으로 차단할 수 있습니다. 하지만 Cloud ID 또는 Google Workspace의 사용자는 Microsoft Entra ID 계정에서 게스트 사용자를 삭제할 때까지 활성 상태로 유지됩니다.

Cloud ID 또는 Google Workspace 계정 준비

Cloud ID 또는 Google Workspace 계정에서 모든 게스트 사용자가 프로비저닝될 조직 단위를 만듭니다.

  1. 관리 콘솔을 열고 Cloud ID 또는 Google Workspace에 가입할 때 생성된 최고 관리자를 사용하여 로그인합니다.
  2. 메뉴에서 디렉터리 > 조직 단위로 이동합니다.
  3. 조직 단위 만들기를 클릭하고 OU의 이름과 설명을 입력합니다.
    1. 조직 단위의 이름: guests
    2. 설명: Microsoft Entra B2B guest users
  4. 만들기를 클릭합니다.

조직 단위에 세션 길이를 8시간으로 제한하는 정책을 적용합니다. 세션 길이는 브라우저 세션에 적용될 뿐 아니라 OAuth 갱신 토큰의 전체 기간도 제한합니다.

  1. 관리 콘솔에서 보안 > 액세스 및 데이터 컨트롤 > Google Cloud 세션 제어로 이동합니다.
  2. 조직 단위로 게스트를 선택하고 다음 설정을 적용합니다.

    • 재인증 정책: 재인증 필요
    • 재인증 빈도: 8시간

      이 시간은 게스트 사용자가 Microsoft Entra ID에서 정지된 후에도 Google Cloud 리소스에 액세스할 수 있는 최대 시간을 나타냅니다.

    • 재인증 방법: 비밀번호

      이 설정을 사용하면 세션이 만료된 후에 사용자가 Microsoft Entra ID를 사용하여 다시 인증해야 합니다.

  3. 재정의를 클릭합니다.

Microsoft Entra ID 프로비저닝 구성

이제 B2B 게스트 사용자의 프로비저닝을 지원하기 위해 기존 Microsoft Entra ID 구성을 조정할 준비가 되었습니다.

  1. Azure 포털에서 Microsoft Entra ID > Enterprise applications(엔터프라이즈 애플리케이션)로 이동합니다.
  2. 사용자 프로비저닝에 사용할 엔터프라이즈 애플리케이션 Google Cloud(프로비저닝)를 선택합니다.
  3. Manage(관리) > Provisioning(프로비저닝)을 클릭합니다.
  4. Edit provisioning(프로비저닝 수정)을 클릭합니다.
  5. Mappings(매핑)에서 Provision Microsoft Entra ID Users(Microsoft Entra ID 사용자 프로비저닝)를 클릭합니다.
  6. userPrincipalName 행을 선택합니다.
  7. Edit Attribute(특성 수정) 대화상자에서 다음 변경사항을 적용합니다.

    1. Mapping type(매핑 유형): Direct(직접)에서 Expression(표현식)으로 변경합니다.
    2. Expression(표현식):

      Replace([originalUserPrincipalName], "#EXT#@TENANT_DOMAIN", , , "@PRIMARY_DOMAIN", , )

      다음을 바꿉니다.

      • TENANT_DOMAIN: Microsoft Entra ID 테넌트의 .onmicrosoft.com 도메인입니다(예: tenant.onmicrosoft.com).
      • PRIMARY_DOMAIN: Cloud ID 또는 Google Workspace 계정에서 사용하는 기본 도메인 이름입니다(예: example.org).
  8. OK(확인)를 클릭합니다.

  9. Add new mapping(새 매핑 추가)를 선택합니다.

  10. Edit Attribute(특성 편집) 대화상자에서 다음 설정을 구성합니다.

    1. Mapping type(매핑 유형): Expression(표현식)
    2. Expression(표현식):

      IIF(Instr([originalUserPrincipalName], "#EXT#", , )="0", "/", "/guests")

    3. Target attribute(대상 특성): OrgUnitPath

  11. OK(확인)를 클릭합니다.

  12. Save(저장)를 클릭합니다.

  13. 변경사항을 저장하여 사용자와 그룹을 다시 동기화하려면 Yes(예)를 클릭합니다.

  14. Attribute Mapping(특성 매핑) 대화상자를 닫습니다.

싱글 사인온(SSO)용 Microsoft Entra ID 구성

이제 게스트 사용자가 싱글 사인온(SSO)을 사용하여 인증할 수 있도록 하기 위해 기존 Microsoft Entra ID 구성을 확장하여 게스트에 대해 싱글 사인온을 사용 설정합니다.

  1. Azure 포털에서 Microsoft Entra ID > Enterprise applications(엔터프라이즈 애플리케이션)로 이동합니다.
  2. 싱글 사인온(SSO)에 사용할 Google Cloud 엔터프라이즈 애플리케이션을 선택합니다.
  3. Manage(관리) > Single Sign-On(싱글 사인온)을 클릭합니다.
  4. 선택 화면에서 SAML 카드를 클릭합니다.
  5. User Attributes & Claims(사용자 특성 및 클레임) 카드에서 Edit(편집)을 클릭합니다.
  6. Unique User Identifier (Name ID)(순 사용자 ID(이름 ID)) 행을 선택합니다.
  7. Claim conditions(클레임 조건)를 선택합니다.
  8. 외부 게스트에 대한 조건부 클레임을 추가합니다.
    • User type(사용자 유형): External guests(외부 게스트)
    • Source(소스): Transformation(변환)
    • Transformation(변환): RegexReplace()
    • Parameter 1(매개변수 1): Attribute(속성)
    • Attribute(속성): user.userprincipalname
    • Regex pattern(정규식 패턴): (?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$
    • Replacement pattern(대체 패턴): {username}@PRIMARY_DOMAIN. PRIMARY_DOMAIN을 Cloud ID 또는 Google Workspace 계정에서 사용하는 기본 도메인 이름으로 바꿉니다.
  9. 추가를 클릭합니다.
  10. 서로 다른 테넌트에서 Microsoft Entra ID 게스트에 대한 조건부 클레임을 추가합니다.

    • User type(사용자 유형): Microsoft Entra guests(Microsoft Entra 게스트)
    • Source(소스): Transformation(변환)
    • Transformation(변환): RegexReplace()
    • Parameter 1(매개변수 1): Attribute(속성)
    • Attribute(속성): user.localuserprincipalname

    • Regex pattern(정규식 패턴): (?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$

    • Replacement pattern(대체 패턴): {username}@PRIMARY_DOMAIN. PRIMARY_DOMAIN을 Cloud ID 또는 Google Workspace 계정에서 사용하는 기본 도메인 이름으로 바꿉니다.

  11. 추가를 클릭합니다.

  12. 일반 Microsoft Entra ID 사용자에게 조건부 클레임을 추가합니다.

    • User type(사용자 유형): Members(구성원)
    • Source(소스): Attribute(특성)
    • Value(값): user.userprincipalname
  13. 저장을 클릭합니다.

싱글 사인온(SSO) 테스트

구성이 올바르게 작동하는지 확인하려면 Microsoft Entra ID 테넌트에 3명의 테스트 사용자가 필요합니다.

  • 일반 Microsoft Entra ID 사용자
  • Microsoft Entra ID 게스트 사용자입니다. 다른 Microsoft Entra ID 테넌트에서 초대된 사용자입니다.
  • 외부 게스트 사용자. @hotmail.com 주소와 같이 Microsoft Entra ID가 아닌 이메일 주소를 사용하여 초대된 사용자입니다.

각 사용자에 대해 다음 테스트를 수행합니다.

  1. 새 브라우저 창을 시크릿 모드로 열고 https://console.cloud.google.com/으로 이동합니다.
  2. 표시되는 Google 로그인 페이지에서 앞의 표Cloud ID 또는 Google Workspace의 기본 이메일 주소 열에 표시된 대로 사용자의 이메일 주소를 입력합니다. 이 표를 참조하여 Cloud ID 또는 Google Workspace의 이메일 주소가 사용자 기본 이름에서 어떻게 파생되는지 확인합니다.

    다른 로그인 프롬프트가 표시되는 Microsoft Entra ID로 리디렉션됩니다.

  3. 로그인 프롬프트에서 사용자의 UPN을 입력하고 안내에 따라 인증합니다.

    인증에 성공하면 Microsoft Entra ID가 사용자를 다시 Google 로그인으로 리디렉션합니다. 이 사용자를 사용하여 로그인하는 것이 처음이기 때문에 Google 서비스 약관 및 개인정보처리방침을 수락하라는 메시지가 표시됩니다.

  4. 약관에 동의하면 동의를 클릭합니다.

    Google Cloud 콘솔로 리디렉션되어, 환경설정을 확인하고 Google Cloud 서비스 약관에 동의하라는 메시지가 나타납니다.

  5. 약관에 동의하면 를 선택하고 동의 및 계속하기를 클릭합니다.

  6. 아바타 아이콘을 클릭하고 로그아웃을 클릭합니다.

    Microsoft Entra ID 페이지로 리디렉션되고 성공적으로 로그아웃되었는지 확인합니다.

다음 단계