Google을 B2B 게스트 사용자에 대한 ID 공급자로 추가

이 문서에서는 B2B 협업을 위한 ID 공급자로서 Google을 추가하는 방법을 설명합니다. 테넌트를 고객 ID 및 액세스 관리를 위해 구성한 경우 고객의 ID 공급자로서 Google 추가를 참조하세요.

Google을 사용하여 페더레이션을 설정하면 초대된 사용자가 Microsoft 계정을 만들지 않고도 자신의 Gmail 계정을 사용하여 공유 앱 및 리소스에 로그인하도록 허용할 수 있습니다. 애플리케이션의 로그인 옵션 중 하나로 Google을 추가한 후 로그인 페이지에서 사용자는 Google에 로그인하는 데 사용하는 Gmail 주소를 입력할 수 있습니다.

Sign in options for Google users

참고 항목

Google 페더레이션은 Gmail 사용자를 위해 특별히 설계되었습니다. Google Workspace 도메인과 페더레이션하려면 SAML/WS-Fed ID 공급자 페더레이션을 사용합니다.

Important

  • 2021년 7월 12일부터 Microsoft Entra B2B 고객이 셀프 서비스 등록에 사용하거나 사용자 지정 또는 기간 업무 애플리케이션에 외부 사용자를 초대하기 위해 새로운 Google 통합을 설정하는 경우 Gmail 사용자에 대한 인증이 차단될 수 있습니다(예상 내용에 표시된 오류 화면 포함). 이 문제는 2021년 7월 12일 이후 셀프 서비스 가입 사용자 흐름 또는 초대에 대한 Google 통합을 만들고 사용자 지정 또는 기간 업무 애플리케이션의 Gmail 인증이 시스템 웹 보기로 전환되지 않은 경우에만 발생합니다. 시스템 웹 보기는 기본적으로 사용하도록 설정되어 있으므로 대부분의 앱은 영향을 받지 않습니다. 이 문제를 방지하려면 셀프 서비스 가입을 위한 새로운 Google 통합을 만들기 전에 Gmail 인증을 시스템 브라우저로 전환하는 것이 좋습니다. 포함된 웹 보기에 필요한 작업을 참조하세요.
  • 2021년 9월 30일부터 Google은 웹 보기 로그인 지원을 중단합니다. 앱이 포함된 웹 보기로 사용자를 인증하고 외부 사용자 초대 또는 셀프 서비스 등록을 위해 Azure AD B2C 또는 Microsoft Entra B2B와 함께 Google 페더레이션을 사용하는 경우 Google Gmail 사용자는 인증할 수 없습니다. 자세히 알아보기.

Google 사용자를 위한 환경이란?

다양한 방법으로 Google 사용자를 B2B 협업에 초대할 수 있습니다. 예를 들어 Microsoft Entra 관리 센터를 통해 디렉터리에 추가할 수 있습니다. 초대를 교환할 때 해당 환경은 Google에 이미 로그인했는지 여부에 따라 달라집니다.

  • Google에 로그인하지 않은 게스트 사용자에게 로그인하라는 메시지가 표시됩니다.
  • Google에 이미 로그인한 게스트 사용자에게 사용하려는 계정을 선택하라는 메시지가 표시됩니다. 게스트 사용자는 초대에 사용된 계정을 선택해야 합니다.

“헤더가 너무 깁니다” 오류가 표시되는 게스트 사용자는 쿠키를 지우거나 개인 또는 incognito 창을 열고 다시 로그인을 시도할 수 있습니다.

Screenshot that shows the Google sign-in page.

로그인 엔드포인트

이제 Google 게스트 사용자는 공통 엔드포인트(즉, 테넌트 컨텍스트를 포함하지 않는 일반 앱 URL)를 사용하여 다중 테넌트 또는 Microsoft 자사 앱에 로그인할 수 있습니다. 로그인 프로세스 중에 게스트 사용자는 로그인 옵션을 선택한 다음, 조직에 로그인을 선택합니다. 그런 다음, 사용자는 조직의 이름을 입력하고 Google 자격 증명을 사용하여 계속 로그인합니다.

Google 게스트 사용자는 테넌트 정보가 포함된 애플리케이션 엔드포인트를 사용할 수도 있습니다. 예를 들면 다음과 같습니다.

  • https://myapps.microsoft.com/?tenantid=<your tenant ID>
  • https://myapps.microsoft.com/<your verified domain>.onmicrosoft.com
  • https://portal.azure.com/<your tenant ID>

테넌트 정보(예: https://myapps.microsoft.com/signin/Twitter/<application ID?tenantId=<your tenant ID>)를 포함하여 Google 게스트 사용자에게 애플리케이션 또는 리소스에 대한 직접 링크를 제공할 수도 있습니다.

웹 보기 로그인 지원 중단

2021년 9월 30부터 Google은 포함된 웹 보기 로그인 지원을 중단합니다. 앱이 포함된 웹 보기로 사용자를 인증하고 외부 사용자 초대 또는 셀프 서비스 등록을 위해 Azure AD B2C 또는 Microsoft Entra B2B와 함께 Google 페더레이션을 사용하는 경우 Google Gmail 사용자는 인증할 수 없습니다.

Gmail 사용자에게 영향을 주는 알려진 시나리오는 다음과 같습니다.

  • Windows의 Microsoft 앱(예: Teams 및 Power Apps)
  • 인증에 WebView 컨트롤, WebView2 또는 이전 WebBrowser 컨트롤을 사용하는 Windows 앱. 해당 앱은 WAM(웹 계정 관리자) 흐름을 사용하여 마이그레이션해야 합니다.
  • WebView UI 요소를 사용하는 Android 애플리케이션
  • UIWebView/WKWebview를 사용하는 iOS 애플리케이션
  • ADAL을 사용하는 앱

해당 변경 내용은 다음에는 적용되지 않습니다.

  • 웹앱
  • 웹 사이트를 통해 액세스되는 Microsoft 365 서비스(예: SharePoint Online, Office 웹앱 및 Teams 웹앱)
  • 인증에 시스템 웹 보기를 사용하는 모바일 앱(iOS의 경우 SFSafariViewController, Android의 경우 Custom Tabs).
  • Google Workspace ID(예: Google Workspace에서 SAML 기반 페더레이션을 사용하는 경우)
  • WAM(웹 계정 관리자) 또는 WAB(웹 인증 브로커)를 사용하는 Windows 앱.

포함된 웹 보기에 필요한 작업

로그인에 시스템 브라우저를 사용하도록 앱을 수정합니다. 자세한 내용은 MSAL.NET 설명서에서 포함된 웹 보기와 시스템 브라우저 를 참조하세요. 모든 MSAL SDK는 기본적으로 시스템 브라우저를 사용합니다.

필요한 항목

9월 30일부터 Microsoft는 인증이 차단되지 않도록 포함된 웹 보기를 사용하는 앱에 대한 해결 방법으로 사용되는 디바이스 로그인 흐름을 전 세계적으로 출시할 예정입니다.

디바이스 로그인 흐름을 사용하여 로그인하는 방법

디바이스 로그인 흐름은 포함된 웹 보기에서 Gmail 계정으로 로그인하는 사용자에게 로그인을 완료하기 전에 별도의 브라우저에 코드를 입력하라는 메시지를 표시합니다. 사용자가 브라우저에서 활성 세션 없이 Gmail 계정으로 처음으로 로그인하는 경우 다음과 같은 화면 시퀀스가 표시됩니다. 기존 Gmail 계정이 이미 로그인되어 있는 경우 이러한 단계 중 일부를 제거할 수 있습니다.

  1. 로그인 화면에서 사용자는 해당 Gmail 주소를 입력하고 다음을 선택합니다.

    Screenshot showing the sign-in screen

  2. 다음 화면이 나타나면 사용자에게 새 창을 열고, 이동한 https://microsoft.com/devicelogin다음, 표시된 9자리 영숫자 코드를 입력하라는 메시지가 표시됩니다.

    Screenshot showing the 9-digit code

  3. 사용자가 코드를 입력할 수 있는 디바이스 로그인 페이지가 열립니다.

    Screenshot showing the device sign-in page

  4. 코드가 일치하는 경우 사용자에게 전자 메일을 다시 입력하여 보안을 위해 앱 및 로그인 위치를 확인하라는 메시지가 표시됩니다.

    Screenshot showing the screen for reentering email

  5. 사용자는 해당 이메일 및 암호를 사용하여 Google에 로그인합니다.

    Screenshot showing the Google sign-in screen

  6. 다시 한 번 로그인하는 앱을 확인하라는 메시지가 표시됩니다.

    Screenshot showing application confirmation screen

  7. 사용자는 계속을 선택합니다. 로그인했음을 확인하는 메시지가 표시됩니다. 사용자가 탭 또는 창을 닫으면 현재 앱에 로그인된 첫 번째 화면으로 돌아갑니다.

    Screenshot showing sign-in confirmation

또는 기존 및 신규 Gmail 사용자가 이메일 일회용 암호로 로그인하도록 할 수 있습니다. Gmail 사용자가 이메일 일회용 암호를 사용하도록 하려면 다음을 수행합니다.

  1. 이메일 일회용 암호를 사용하도록 설정.
  2. Google 페더레이션 제거.
  3. 앞으로 이메일 1회용 암호를 사용할 수 있도록 Gmail 사용자의 사용 상태를 재설정합니다.

확장을 요청하려는 경우 영향을 받는 OAuth 클라이언트 ID를 가진 영향을 받는 고객은 2022년 1월 31일까지 완료해야 하는 일회성 정책 적용 확장에 대한 다음 정보가 포함된 이메일을 Google 개발자로부터 받아야 합니다.

  • "필요한 경우 2022년 1월 31일까지 나열된 각 OAuth 클라이언트 ID에 대해 포함된 웹 보기에 대한 일회성 정책 적용 확장을 요청할 수 있습니다. 명확하게 하기 위해 포함된 웹 보기에 대한 정책은 예외 또는 연장 없이 2022년 2월 1일에 적용됩니다."

인증 가능한 웹 보기로 마이그레이션되는 애플리케이션은 영향을 받지 않으며, 사용자는 평소처럼 Google을 통해 인증할 수 있습니다.

애플리케이션이 인증을 위해 허용된 웹 보기로 마이그레이션되지 않은 경우 영향을 받는 Gmail 사용자는 다음 화면을 볼 수 있습니다.

Google sign-in error if apps are not migrated to system browsers

CEF/Electron과 포함된 웹 보기 구분

포함된 웹 보기 및 프레임워크 로그인 지원 중단 외에도 Google은 CEF(Chromium Embedded Framework) 기반 Gmail 인증도 중단할 예정입니다. Electron 앱과 같이 CEF를 기반으로 하는 애플리케이션의 경우 Google은 2021년 6월 30일부터 인증을 지원하지 않습니다. 영향을 받는 애플리케이션은 Google에서 직접 알림을 받았으며 이 설명서에서는 다루지 않습니다. 이 문서는 이전에 설명한 포함된 웹 보기와 관련이 있으며, Google은 2021년 9월 30일에 별도의 날짜로 제한합니다.

포함된 프레임워크에 필요한 작업

Google의 지침에 따라 앱이 영향을 받는지 확인합니다.

1단계: Google 개발자 프로젝트 구성

먼저 Google 개발자 콘솔에서 새 프로젝트를 만들어 나중에 Microsoft Entra 외부 ID에 추가할 수 있는 클라이언트 ID 및 클라이언트 비밀을 가져옵니다.

  1. https://console.developers.google.com 에서 Google API로 이동하고, Google 계정으로 로그인합니다. 공유 팀 Google 계정을 사용하는 것이 좋습니다.

  2. 해당 계정을 사용하라는 메시지가 표시되면 서비스 약관에 동의합니다.

  3. 새 프로젝트 만들기: 페이지 위쪽에서 프로젝트 메뉴를 선택하여 프로젝트 선택 페이지를 엽니다. 새 프로젝트를 선택합니다.

  4. 새 프로젝트 페이지에서 프로젝트에 이름(예: MyB2BApp)을 지정한 다음, 만들기를 선택합니다.

    Screenshot that shows a New Project page.

  5. 알림 메시지 상자에서 링크를 선택하거나 페이지 맨 위에 있는 프로젝트 메뉴를 사용하여 새 프로젝트를 엽니다.

  6. 왼쪽 메뉴에서 API 및 서비스를 선택한 다음, OAuth 동의 화면을 선택합니다.

  7. 사용자 유형에서 외부를 선택한 다음, 만들기를 선택합니다.

  8. OAuth 동의 화면앱 정보에서 앱 이름을 입력합니다.

  9. 사용자 지원 이메일에서 이메일 주소를 선택합니다.

  10. 권한 있는 도메인에서 도메인 추가를 선택한 다음, microsoftonline.com 도메인을 추가합니다.

  11. 개발자 연락처 정보 아래에 이메일 주소를 입력합니다.

  12. 저장하고 계속을 선택합니다.

  13. 왼쪽 메뉴에서 자격 증명을 선택합니다.

  14. 자격 증명 만들기를 선택한 다음, OAuth 클라이언트 ID를 선택합니다.

  15. 애플리케이션 유형 메뉴에서 웹 애플리케이션을 선택합니다. 애플리케이션에 Microsoft Entra B2B와 같은 적절한 이름을 지정합니다. 권한 있는 리디렉션 URI에서 다음 URI를 추가합니다.

    • https://login.microsoftonline.com
    • https://login.microsoftonline.com/te/<tenant ID>/oauth2/authresp
      (여기서 <tenant ID>는 테넌트 ID임)
    • https://login.microsoftonline.com/te/<tenant name>.onmicrosoft.com/oauth2/authresp
      (여기서 <tenant name>은 테넌트 이름임)

    참고 항목

    테넌트 ID를 찾으려면 Microsoft Entra 관리 센터에 로그인합니다. ID에서 개요를 선택하고 테넌트 ID를 복사합니다.

  16. 만들기를 실행합니다. 클라이언트 ID와 클라이언트 비밀을 복사합니다. Microsoft Entra 관리 센터에서 ID 공급자를 추가할 때 사용합니다.

    Screenshot that shows the OAuth client ID and client secret.

  17. 프로젝트 게시 상태를 테스트 중으로 두고 OAuth 동의 화면에 테스트 사용자를 추가할 수 있습니다. 또는 OAuth 동의 화면에서 앱 게시 단추를 선택하여 Google 계정이 있는 모든 사용자가 앱을 사용할 수 있도록 할 수 있습니다.

    참고 항목

    경우에 따라 앱에서 Google의 확인이 필요할 수 있습니다(예: 애플리케이션 로고를 업데이트하는 경우). 자세한 내용은 Google의 확인 상태 도움말을 참조하세요.

2단계: Microsoft Entra 외부 ID로 Google 페더레이션 구성

이제 Google 클라이언트 ID와 클라이언트 암호를 설정합니다. Microsoft Entra 관리 센터 또는 PowerShell을 사용하여 이를 수행할 수 있습니다. 자신을 초대하여 Google 페더레이션 구성을 테스트해야 합니다. Gmail 주소를 사용하고 초대된 Google 계정으로 초대를 사용해 보세요.

Microsoft Entra 관리 센터에서 Google 페더레이션을 구성하려면

  1. 최소한 외부 ID 공급자 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>External Identities>모든 ID 공급자로 이동한 다음 Google 단추를 선택합니다.

  3. 미리 복사해 둔 클라이언트 ID와 클라이언트 암호를 입력합니다. 저장을 선택합니다.

    Screenshot that shows the Add Google identity provider page.

PowerShell을 사용하여 Google 페더레이션을 구성하려면

  1. 최신 버전의 Microsoft Graph PowerShell 모듈을 설치합니다.

  2. 커넥트-MgGraph 명령을 사용하여 테넌트에 커넥트.

  3. 로그인 프롬프트에서 관리되는 글로벌 관리자 계정으로 로그인합니다.

  4. 다음 명령을 실행합니다.

    $params = @{
       "@odata.type" = "microsoft.graph.socialIdentityProvider"
       displayName = "Login with Google"
       identityProviderType = "Google"
       clientId = "<client ID>"
       clientSecret = "<client secret>"
    }
    
    New-MgIdentityProvider -BodyParameter $params
    

    참고 항목

    "1단계: Google 개발자 프로젝트 구성"에서 만든 앱의 클라이언트 ID 및 클라이언트 암호를 사용합니다. 자세한 내용은 New-MgIdentityProvider를 참조 하세요.

사용자 흐름에 Google ID 공급자 추가

이 시점에서 Google ID 공급자는 Microsoft Entra 테넌트에 설정됩니다. 사용자의 초대를 사용하는 사용자는 Google을 사용하여 로그인할 수 있습니다. 그러나 셀프 서비스 등록 사용자 흐름을 만든 경우 사용자 흐름 로그인 페이지에 Google을 추가해야 합니다. 사용자 흐름에 Google ID 공급자를 추가하려면 다음을 수행합니다.

  1. ID>외부 ID>사용자 흐름으로 이동합니다.

  2. Google ID 공급자를 추가하려는 사용자 흐름을 선택합니다.

  3. 설정에서 ID 공급자를 선택합니다.

  4. ID 공급자 목록에서 Google을 선택합니다.

  5. 저장을 선택합니다.

Google 페더레이션은 어떻게 제거하나요?

Google 페더레이션 설치 프로그램을 삭제할 수 있습니다. 이렇게 하면 초대를 이미 사용한 Google 게스트 사용자는 로그인할 수 없습니다. 하지만 해당 상환 상태를 재설정하여 리소스에 대한 액세스 권한을 다시 부여할 수 있습니다.

Microsoft Entra 관리 센터에서 Google 페더레이션을 삭제하려면

  1. 최소한 외부 ID 공급자 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>외부 ID>모든 ID 공급자로 이동합니다.

  3. Google 줄에서 줄임표 단추( ... )를 선택한 다음 삭제를 선택합니다.

    Screenshot that shows the Delete button for the social identity provider.

  4. 를 선택하여 삭제를 확인합니다.

PowerShell을 사용하여 Google 페더레이션을 삭제하려면 다음을 수행합니다.

  1. 최신 버전의 Microsoft Graph PowerShell 모듈을 설치합니다.

  2. 커넥트-MgGraph 명령을 사용하여 테넌트에 커넥트.

  3. 로그인 프롬프트에서 관리형 전역 관리자 계정으로 로그인합니다.

  4. 다음 명령을 입력합니다.

    Remove-MgIdentityProvider -IdentityProviderBaseId Google-OAUTH
    

    참고 항목

    자세한 내용은 Remove-MgIdentityProvider를 참조 하세요.