Single Sign-On에 SAML 2.0 IdP(ID 공급자) 사용

이 문서에서는 SAML 2.0 호환 SP-Lite 프로필 기반 ID 공급자를 기본 STS(보안 토큰 서비스)/ID 공급자로 사용하는 방법에 대한 정보를 제공합니다. 이 시나리오는 사용자 디렉터리 및 암호 저장소가 SAML 2.0을 사용하여 액세스할 수 있는 온-프레미스에 이미 있는 경우에 유용합니다. 이 기존 사용자 디렉터리는 Microsoft 365 및 다른 Microsoft Entra ID 보안 리소스에 로그온하는 데 사용할 수 있습니다. SAML 2.0 SP-Lite 프로필은 널리 사용되는 SAML(Security Assertion Markup Language ) 페더레이션 ID 표준을 기준으로 하여 로그온 및 특성 교환 프레임워크를 제공합니다.

참고 항목

Microsoft Entra ID와 함께 사용하도록 테스트된 타사 Idp 목록을 보려면 Microsoft Entra 페더레이션 호환성 목록을 참조하세요.

Microsoft는 Microsoft 365와 같은 Microsoft 클라우드 서비스를 올바르게 구성된 SAML 2.0 프로필 기반 IdP에 통합하는 방식으로 이러한 로그온 환경을 지원합니다. SAML 2.0 ID 공급자는 타사 제품이므로 Microsoft는 배포, 구성, 관련 모범 사례 문제 해결에 대한 지원을 제공하지 않습니다. SAML 2.0 ID 공급자와의 통합이 구성된 후에는 Microsoft 연결 분석기 도구를 사용하여 구성이 적절한지 테스트할 수 있습니다. 이 도구에 대해서는 아래에 자세히 설명되어 있습니다. SAML 2.0 SP-Lite 프로필 기반 ID 공급자에 대한 자세한 내용은 해당 공급자를 제공하는 조직에 문의하세요.

Important

SAML 2.0 ID 공급자를 사용하는 이러한 로그온 시나리오에서는 제한된 클라이언트 집합만 사용할 수 있습니다. 여기에는 다음이 포함됩니다.

  • Outlook Web Access 및 SharePoint Online과 같은 웹 기반 클라이언트
  • 기본 인증 및 IMAP, POP, Active Sync, MAPI 등의 지원되는 Exchange 액세스 방법을 사용하는 풍부한 전자 메일 기능을 제공하는 클라이언트(향상된 클라이언트 프로토콜 끝점을 배포해야 함). 여기에는 다음이 포함됩니다.
    • Microsoft Outlook 2010/Outlook 2013/Outlook 2016, Apple iPhone(다양한 iOS 버전)
    • 다양한 Google Android 디바이스
    • Windows Phone 7, Windows Phone 7.8 및 Windows Phone 8.0
    • Windows 8 메일 클라이언트 및 Windows 8.1 메일 클라이언트
    • Windows 10 메일 클라이언트

SAML 2.0 ID 공급자를 사용하는 이 로그온 시나리오에서는 다른 모든 클라이언트를 사용할 수 없습니다. 예를 들어 Lync 2010 데스크톱 클라이언트는 Single Sign-On용으로 구성된 SAML 2.0 ID 공급자를 사용하여 서비스에 로그인할 수 없습니다.

Microsoft Entra SAML 2.0 프로토콜 요구 사항

이 문서에는 SAML 2.0 ID 공급자가 하나 이상의 Microsoft 클라우드 서비스(예: Microsoft 365)에 대한 로그온을 위해 Microsoft Entra ID와 페더레이션할 때 구현해야 하는 프로토콜 및 메시지 서식에 대한 자세한 요구 사항이 나와 있습니다. 이 시나리오에서 사용되는 Microsoft 클라우드 서비스용 SAML 2.0 신뢰 당사자(SP-STS)는 Microsoft Entra ID입니다.

SAML 2.0 ID 공급자 출력 메시지가 제공된 샘플 추적과 최대한 유사한지 확인하는 것이 좋습니다. 또한 가능한 경우 제공된 Microsoft Entra 메타데이터의 특정 특성 값을 사용하도록 합니다. 출력 메시지에 만족하면 아래 설명된 대로 Microsoft 커넥트ivity Analyzer를 사용하여 테스트할 수 있습니다.

Microsoft Entra 메타데이터는 https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml URL에서 다운로드할 수 있습니다. Microsoft 365의 중국 특정 인스턴스를 사용하는 중국 고객의 경우 https://nexus.partner.microsoftonline-p.cn/federationmetadata/saml20/federationmetadata.xml 페더레이션 엔드포인트를 사용해야 합니다.

SAML 프로토콜 요구 사항

이 섹션에서는 메시지 서식을 올바르게 지정하는 데 도움을 주기 위해 요청 및 응답 메시지 쌍을 함께 처리하는 방법을 자세히 설명합니다.

Microsoft Entra ID는 아래와 같은 몇 가지 특정 요구 사항에 따라 SAML 2.0 SP Lite 프로필을 사용하는 ID 공급자에 작동하도록 구성할 수 있습니다. 자동 및 수동 테스트에서 샘플 SAML 요청 및 응답 메시지를 사용하면 Microsoft Entra ID와의 상호 운용성을 달성하는 데 도움이 될 수 있습니다.

서명 블록 요구 사항

SAML 응답 메시지 내에서 서명 노드에는 메시지 자체에 대한 디지털 서명 정보가 포함됩니다. 서명 블록에는 다음 요구 사항이 적용됩니다.

  1. 어설션 노드 자체에 서명해야 합니다.
  2. RSA-sha1 알고리즘을 DigestMethod로 사용해야 합니다. 다른 디지털 서명 알고리즘은 허용되지 않습니다. <ds:DigestMethod Algorithm="https://www.w3.org/2000/09/xmldsig#sha1"/>
  3. XML 문서에 서명할 수도 있습니다.
  4. Transform 알고리즘은 <ds:Transform Algorithm="https://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="https://www.w3.org/2001/10/xml-exc-c14n#"/> 샘플의 값과 일치해야 합니다.
  5. SignatureMethod 알고리즘은 다음 샘플과 일치해야 합니다. <ds:SignatureMethod Algorithm="https://www.w3.org/2000/09/xmldsig#rsa-sha1"/>

참고 항목

보안을 개선하기 위해 SHA-1 알고리즘은 더 이상 사용되지 않습니다. SHA-256과 같은 보다 안전한 알고리즘을 사용합니다. 자세한 내용은 찾을 수 있습니다.

지원되는 바인딩

바인딩은 필요한 전송 관련 통신 매개 변수입니다. 바인딩에는 다음 요구 사항이 적용됩니다.

  1. HTTPS는 필수 전송입니다.
  2. Microsoft Entra ID는 로그인하는 동안 토큰 제출을 위해 HTTP POST가 필요합니다.
  3. Microsoft Entra ID는 ID 공급자에 대한 인증 요청에 HTTP POST를 사용하고 ID 공급자에 대한 로그아웃 메시지의 리디렉션을 사용합니다.

필수 특성

다음 표에는 SAML 2.0 메시지의 특정 특성에 대한 요구 사항을 표시됩니다.

attribute 설명
NameID 이 어설션 값은 Microsoft Entra 사용자의 ImmutableID와 같아야 합니다. 최대 64자의 영숫자일 수 있습니다. html이 아닌 모든 보안 문자를 인코딩해야 합니다. 예를 들어 "+" 문자는 ".2B"로 표시됩니다.
IDPEmail UPN(사용자 계정 이름)은 SAML 응답에 IDPEmail이라는 이름의 요소로 나열됩니다. Microsoft Entra ID/Microsoft 365에서 사용자의 UPN(UserPrincipalName)입니다. UPN은 전자 메일 주소 형식입니다. Windows Microsoft 365(Microsoft Entra ID)의 UPN 값입니다.
Issuer ID 공급자의 URI여야 합니다. 샘플 메시지에서 발급자를 다시 사용하지 마세요. Microsoft Entra 테넌트에 여러 최상위 do기본가 있는 경우 발급자는 do기본 구성한 지정된 URI 설정과 일치해야 합니다.

Important

현재 Microsoft Entra ID는 SAML 2.0에 대해 NameID 형식 URI urn:oasis:names:tc:SAML:2.0:nameid-format:persistent를 지원합니다.

샘플 SAML 요청 및 응답 메시지

요청 및 응답 메시지 쌍은 로그온 메시지 교환에 대해 표시됩니다. 다음은 Microsoft Entra ID에서 샘플 SAML 2.0 ID 공급자로 전송되는 샘플 요청 메시지입니다. 샘플 SAML 2.0 ID 공급자는 SAML-P 프로토콜을 사용하도록 구성된 AD FS(Active Directory Federation Services)입니다. 다른 SAML 2.0 ID 공급자와의 상호 운용성 테스트도 완료되었습니다.

<samlp:AuthnRequest ID="_1e089e5c-a976-4881-af74-3b92c89e7e2c" Version="2.0" IssueInstant="2024-03-12T14:00:18.450Z" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:MicrosoftOnline</Issuer><samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"/></samlp:AuthnRequest>

internaldo기본federation-update설명된 대로 isSignedAuthenticationRequestRequired를 사용하도록 설정하면 요청은 다음 예제와 같습니다.

  <samlp:AuthnRequest ID="_1868c6f2-1fdd-40b9-818f-b4b44efb92c5" Version="2.0" IssueInstant="2024-03-11T16:51:17.120Z" Destination="https://fs.contoso.com/adfs/ls/" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:MicrosoftOnline</Issuer><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_1868c6f2-1fdd-40b9-818f-b4b44efb92c5"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>FPM404CTAfI458trTryNB7mVS4Q=</DigestValue></Reference></SignedInfo><SignatureValue>CuCSgua+bCtV8mlJJUxtbz1tsZjj7RDfH73YyJgDbOvk9lIpdZkrCcz3r9Qqb4OP+3we8cauXAOEDGNke2QywkHyGHV55zJomb5pKNiX8r/2xAD+LaGEeOw3O4H0lGZCyvN32pbDi/aTr8ocZu6tTcW7CbD51TNCasc+YJALYAa73F9rhDqgy/eieC3HvM6e18QE/9URKrT7IT82hsmUcOGjvhSF6gvWtRtdwsJ+4LLR1FnTKCJvPcDU0AeKtvh9DDTrIEBY9OurB0VLYMQ75F9P2ijZXnBaITqx1nkdT70NjVmq+tUWl//24v1AnSu1Z7lTkYNlydV536epaYYb4Q==</SignatureValue><KeyInfo><ds:X509Data xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509SKI>bwzmkdKETWhixlS99FL36FH37EI=</ds:X509SKI></ds:X509Data><ds:KeyName xmlns:ds="http://www.w3.org/2000/09/xmldsig#">MicrosoftOnline</ds:KeyName></KeyInfo></Signature><samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"/></samlp:AuthnRequest>

다음은 샘플 SAML 2.0 호환 ID 공급자에서 Microsoft Entra ID/Microsoft 365로 전송되는 샘플 응답 메시지입니다.

    <samlp:Response ID="_592c022f-e85e-4d23-b55b-9141c95cd2a5" Version="2.0" IssueInstant="2014-01-31T15:36:31.357Z" Destination="https://login.microsoftonline.com/login.srf" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="_049917a6-1183-42fd-a190-1d2cbaf9b144" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://WS2012R2-0.contoso.com/adfs/services/trust</Issuer>
    <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
    </samlp:Status>
    <Assertion ID="_7e3c1bcd-f180-4f78-83e1-7680920793aa" IssueInstant="2014-01-31T15:36:31.279Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
    <Issuer>http://WS2012R2-0.contoso.com/adfs/services/trust</Issuer>
    <ds:Signature xmlns:ds="https://www.w3.org/2000/09/xmldsig#">
      <ds:SignedInfo>
        <ds:CanonicalizationMethod Algorithm="https://www.w3.org/2001/10/xml-exc-c14n#" />
        <ds:SignatureMethod Algorithm="https://www.w3.org/2000/09/xmldsig#rsa-sha1" />
        <ds:Reference URI="#_7e3c1bcd-f180-4f78-83e1-7680920793aa">
          <ds:Transforms>
            <ds:Transform Algorithm="https://www.w3.org/2000/09/xmldsig#enveloped-signature" />
            <ds:Transform Algorithm="https://www.w3.org/2001/10/xml-exc-c14n#" />
          </ds:Transforms>
          <ds:DigestMethod Algorithm="https://www.w3.org/2000/09/xmldsig#sha1" />
          <ds:DigestValue>CBn/5YqbheaJP425c0pHva9PhNY=</ds:DigestValue>
        </ds:Reference>
      </ds:SignedInfo>
      <ds:SignatureValue>TciWMyHW2ZODrh/2xrvp5ggmcHBFEd9vrp6DYXp+hZWJzmXMmzwmwS8KNRJKy8H7XqBsdELA1Msqi8I3TmWdnoIRfM/ZAyUppo8suMu6Zw+boE32hoQRnX9EWN/f0vH6zA/YKTzrjca6JQ8gAV1ErwvRWDpyMcwdYCiWALv9ScbkAcebOE1s1JctZ5RBXggdZWrYi72X+I4i6WgyZcIGai/rZ4v2otoWAEHS0y1yh1qT7NDPpl/McDaTGkNU6C+8VfjD78DrUXEcAfKvPgKlKrOMZnD1lCGsViimGY+LSuIdY45MLmyaa5UT4KWph6dA==</ds:SignatureValue>
      <KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>MIIC7jCCAdagAwIBAgIQRrjsbFPaXIlOG3GTv50fkjANBgkqhkiG9w0BAQsFADAzMTEwLwYDVQQDEyhBREZTIFNpZ25pbmcgLSBXUzIwMTJSMi0wLnN3aW5mb3JtZXIuY29tMB4XDTE0MDEyMDE1MTY0MFoXDTE1MDEyMDE1MTY0MFowMzExMC8GA1UEAxMoQURGUyBTaWduaW5nIC0gV1MyMDEyUjItMC5zd2luZm9ybWVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKe+rLVmXy1QwCwZwqgbbp1/+3ZWxd9T/jV0hpLIIWr+LCOHqq8n8beJvlivgLmDJo8f+EITnAxWcsJUvVai/35AhHCUq9tc9sqMp5PWtabAEMb2AU72/QlX/72D2/NbGQq1BWYbqUpgpCZ2nSgvlWDHlCiUo//UGsvfox01kjTFlmqQInsJVfRxF5AcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAi8c6C4zaTEc7aQiUgvnGQgCbMZbhUXXLGRpjvFLKaQzkwa9eq7WLJibcSNyGXBa/SfT5wJgsm3TPKgSehGAOTirhcqHheZyvBObAScY7GOT+u9pVYp6raFrc7ez3c+CGHeV/tNvy1hJNs12FYH4X+ZCNFIT9tprieR25NCdi5SWUbPZL0tVzJsHc1y92b2M2FxqRDohxQgJvyJOpcg2mSBzZZIkvDg7gfPSUXHVS1MQs0RHSbwq/XdQocUUhl9/e/YWCbNNxlM84BxFsBUok1dH/gzBySx+Fc8zYi7cOq9yaBT3RLT6cGmFGVYZJW4FyhPZOCLVNsLlnPQcX3dDg9A==</ds:X509Certificate>
        </ds:X509Data>
      </KeyInfo>
    </ds:Signature>
    <Subject>
      <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">ABCDEG1234567890</NameID>
      <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData InResponseTo="_049917a6-1183-42fd-a190-1d2cbaf9b144" NotOnOrAfter="2014-01-31T15:41:31.357Z" Recipient="https://login.microsoftonline.com/login.srf" />
      </SubjectConfirmation>
    </Subject>
    <Conditions NotBefore="2014-01-31T15:36:31.263Z" NotOnOrAfter="2014-01-31T16:36:31.263Z">
      <AudienceRestriction>
        <Audience>urn:federation:MicrosoftOnline</Audience>
      </AudienceRestriction>
    </Conditions>
    <AttributeStatement>
      <Attribute Name="IDPEmail">
        <AttributeValue>administrator@contoso.com</AttributeValue>
      </Attribute>
    </AttributeStatement>
    <AuthnStatement AuthnInstant="2014-01-31T15:36:30.200Z" SessionIndex="_7e3c1bcd-f180-4f78-83e1-7680920793aa">
      <AuthnContext>
        <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>
      </AuthnContext>
    </AuthnStatement>
    </Assertion>
    </samlp:Response>

SAML 2.0 호환 ID 공급자 구성

이 섹션에는 SAML 2.0 프로토콜을 사용하여 하나 이상의 Microsoft 클라우드 서비스(예: Microsoft 365)에 대한 Single Sign-On 액세스를 허용하기 위해 Microsoft Entra ID와 페더레이션되도록 SAML 2.0 ID 공급자를 구성하는 방법에 대한 지침이 포함되어 있습니다. 이 시나리오에서 사용되는 Microsoft 클라우드 서비스용 SAML 2.0 신뢰 당사자는 Microsoft Entra ID입니다.

Microsoft Entra 메타데이터 추가

SAML 2.0 ID 공급자는 Microsoft Entra ID 신뢰 당사자에 대한 정보를 준수해야 합니다. Microsoft Entra ID는 https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml에 메타데이터를 게시합니다.

SAML 2.0 ID 공급자를 구성할 때 항상 최신 Microsoft Entra 메타데이터를 가져오는 것이 좋습니다.

참고 항목

Microsoft Entra ID는 ID 공급자에서 메타데이터를 읽지 않습니다.

신뢰 당사자로 Microsoft Entra ID 추가

SAML 2.0 ID 공급자와 Microsoft Entra ID 간의 통신을 사용하도록 설정해야 합니다. 이 구성은 특정 ID 공급자에 따라 달라지며 이에 대한 설명서를 참조해야 합니다. 일반적으로 신뢰 당사자 ID를 Microsoft Entra 메타데이터의 entityID와 동일하게 설정합니다.

참고 항목

SAML 2.0 ID 공급자 서버의 시계가 정확한 시간 원본과 동기화되는지 확인합니다. 시계 시간이 부정확하면 페더레이션 로그인이 실패하게 됩니다.

SAML 2.0 ID 공급자를 사용한 로그인을 위해 PowerShell 설치

Microsoft Entra 로그온에 사용할 SAML 2.0 ID 공급자를 구성한 후 다음 단계는 Microsoft Graph PowerShell 모듈을 다운로드하여 설치하는 것입니다. 설치되면 이러한 cmdlet을 사용하여 Microsoft Entra do기본를 페더레이션된 do기본s로 구성합니다.

Microsoft Graph PowerShell 모듈은 Microsoft Entra ID에서 조직 데이터를 관리하기 위한 다운로드입니다. 이 모듈은 PowerShell에 cmdlet 집합을 설치합니다. 이러한 cmdlet을 실행하여 Microsoft Entra ID에 대한 Single Sign-On 액세스를 설정하고 구독하는 모든 클라우드 서비스로 전환합니다. cmdlet을 다운로드하고 설치하는 방법에 대한 지침은 Microsoft Graph PowerShell SDK 설치를 참조하세요.

SAML ID 공급자 및 Microsoft Entra ID 간에 트러스트 설정

Microsoft Entra ID 도메인에서 페더레이션을 구성하기 전에 사용자 지정 도메인을 먼저 구성해야 합니다. Microsoft에서 제공하는 기본 do기본 페더레이션할 수 없습니다. Microsoft의 기본 도메인은 onmicrosoft.com으로 끝납니다. Single Sign-On에 대해 do기본를 추가하거나 변환하는 일련의 PowerShell cmdlet을 실행합니다.

SAML 2.0 ID 공급자를 사용하여 페더레이션하려는 각 Microsoft Entra 도메인을 Single Sign-On으로 추가하거나 표준 도메인에서 Single Sign-On 도메인으로 변환해야 합니다. 도메인을 추가하거나 변환하면 SAML 2.0 ID 공급자와 Microsoft Entra ID 간에 트러스트가 설정됩니다.

다음 절차에서는 SAML 2.0 SP-Lite를 사용하여 기존 표준 도메인을 페더레이션된 도메인으로 변환하는 과정을 안내합니다.

참고 항목

도메인에서는 이 단계를 수행한 후 최대 2시간 정도 작동이 중단되어 사용자에게 영향을 줄 수 있습니다.

Microsoft Entra 디렉터리에서 페더레이션에 대한 도메인 구성

  1. Microsoft Entra 디렉터리에 테넌트 관리자 권한으로 연결합니다.

    Connect-MgGraph -Scopes "Domain.ReadWrite.All"
    
  2. SAML 2.0에서 페더레이션을 사용하도록 원하는 Microsoft 365 도메인을 구성합니다.

    $Domain = "contoso.com"  
    $LogOnUrl = "https://WS2012R2-0.contoso.com/passiveLogon" 
    $LogOffUrl = "https://WS2012R2-0.contoso.com/passiveLogOff" 
    $ecpUrl = "https://WS2012R2-0.contoso.com/PAOS" 
    $MyUri = "urn:uri:MySamlp2IDP"
    $idptokensigningcert = [System.Security.Cryptography.X509Certificates.X509Certificate2]("C:\temp\contosoidptokensign.cer")  
    $MySigningCert = [system.convert]::tobase64string($idptokensigningcert.rawdata) 
    $Protocol = "saml"
    
    New-MgDomainFederationConfiguration `
      -DomainId $Domain `
      -ActiveSignInUri $ecpUrl `
      -IssuerUri $MyUri `
      -PassiveSignInUri $LogOnUrl `
      -PreferredAuthenticationProtocol $Protocol `
      -SignOutUri $LogOffUrl `
      -SigningCertificate $MySigningCert
    
  3. IDP 메타데이터 파일에서 서명 인증서 base64 인코딩 문자열을 얻을 수 있습니다. 이 위치의 예는 아래에 제공되지만 구현에 따라 약간 다를 수 있습니다.

    <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
      <KeyDescriptor use="signing">
        <KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
         <X509Data>
           <X509Certificate> MIIC5jCCAc6gAwIBAgIQLnaxUPzay6ZJsC8HVv/QfTANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDEyRBREZTIFNpZ25pbmcgLSBmcy50ZWNobGFiY2VudHJhbC5vcmcwHhcNMTMxMTA0MTgxMzMyWhcNMTQxMTA0MTgxMzMyWjAvMS0wKwYDVQQDEyRBREZTIFNpZ25pbmcgLSBmcy50ZWNobGFiY2VudHJhbC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwMdVLTr5YTSRp+ccbSpuuFeXMfABD9mVCi2wtkRwC30TIyPdORz642MkurdxdPCWjwgJ0HW6TvXwcO9afH3OC5V//wEGDoNcI8PV4enCzTYFe/h//w51uqyv48Fbb3lEXs+aVl8155OAj2sO9IX64OJWKey82GQWK3g7LfhWWpp17j5bKpSd9DBH5pvrV+Q1ESU3mx71TEOvikHGCZYitEPywNeVMLRKrevdWI3FAhFjcCSO6nWDiMqCqiTDYOURXIcHVYTSof1YotkJ4tG6mP5Kpjzd4VQvnR7Pjb47nhIYG6iZ3mR1F85Ns9+hBWukQWNN2hcD/uGdPXhpdMVpBAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAK7h7jF7wPzhZ1dPl4e+XMAr8I7TNbhgEU3+oxKyW/IioQbvZVw1mYVCbGq9Rsw4KE06eSMybqHln3w5EeBbLS0MEkApqHY+p68iRpguqa+W7UHKXXQVgPMCpqxMFKonX6VlSQOR64FgpBme2uG+LJ8reTgypEKspQIN0WvtPWmiq4zAwBp08hAacgv868c0MM4WbOYU0rzMIR6Q+ceGVRImlCwZ5b7XKp4mJZ9hlaRjeuyVrDuzBkzROSurX1OXoci08yJvhbtiBJLf3uPOJHrhjKRwIt2TnzS9ElgFZlJiDIA26Athe73n43CT0af2IG6yC7e6sK4L3NEXJrwwUZk=</X509Certificate>
          </X509Data>
        </KeyInfo>
      </KeyDescriptor>
    </IDPSSODescriptor>
    

자세한 내용은 New-MgDo기본FederationConfiguration을 참조하세요.

참고 항목

ID 공급자에 대해 ECP 확장을 설정한 경우에만 $ecpUrl = "https://WS2012R2-0.contoso.com/PAOS"를 사용해야 합니다. OWA(Outlook Web Application)를 제외한 Exchange Online 클라이언트는 POST 기반 활성 끝점에 의존합니다. SAML 2.0 STS가 Shibboleth의 ECP 활성 끝점 구현과 비슷한 활성 끝점을 구현하는 경우 이러한 리치 클라이언트가 Exchange Online 서비스와 상호 작용할 수 있습니다.

페더레이션이 구성되면 "페더레이션되지 않음"(또는 "관리됨")으로 다시 전환할 수 있지만 이 변경을 완료하는 데 최대 2시간이 걸리며 클라우드 기반 로그인에 대한 새 임의 암호를 각 사용자에게 할당해야 합니다. 일부 시나리오에서는 설정의 오류를 복구하기 위해 "관리"로 다시 전환해야 할 수 있습니다. Do기본 변환에 대한 자세한 내용은 Remove-MgDo기본FederationConfiguration을 참조하세요.

사용자 주체를 Microsoft Entra ID/Microsoft 365에 프로비전

Microsoft 365에서 사용자를 인증하려면 먼저 SAML 2.0 클레임의 어설션에 해당하는 사용자 계정으로 Microsoft Entra ID를 프로비전해야 합니다. 이러한 사용자 보안 주체가 Microsoft Entra ID에 미리 알려지지 않은 경우 페더레이션 로그인에 사용할 수 없습니다. Microsoft Entra Connect 또는 PowerShell을 사용하여 사용자 주체를 프로비전할 수 있습니다.

Microsoft Entra Connect를 사용하여 온-프레미스 Active Directory에서 Microsoft Entra 디렉터리의 도메인으로 계정을 프로비전할 수 있습니다. 자세한 내용은 Microsoft Entra ID와 온-프레미스 디렉터리 통합을 참조하세요.

Microsoft Entra ID에 새 사용자 추가를 자동화하고 온-프레미스 디렉터리의 변경 내용을 동기화하는 데 PowerShell은 사용할 수도 있습니다. PowerShell cmdlet을 사용하려면 Microsoft Graph PowerShell 모듈을 다운로드해야 합니다.

이 절차에서는 Microsoft Entra ID에 단일 사용자를 추가하는 방법을 보여 줍니다.

  1. 커넥트-MgGraph를 사용하여 테넌트 관리자로 Microsoft Entra Directory에 커넥트.

  2. 새 사용자 계정 만들기:

    $Password =  -join ((48..57) + (97..122) | Get-Random -Count 12 | % {[char]$_})
    $PasswordProfile = @{ Password = "$Password" }
    
    New-MgUser `
      -UserPrincipalName "elwoodf1@contoso.com" `
      -DisplayName "Elwood Folk" `
      -GivenName "Elwood" `
      -Surname "Folk" `
      -AccountEnabled `
      -MailNickName 'ElwoodFolk' `
      -OnPremisesImmutableId ABCDEFG1234567890 `
      -OtherMails "Elwood.Folk@contoso.com" `
      -PasswordProfile $PasswordProfile `
      -UsageLocation "US"
    

자세한 내용은 New-MgUser를 참조 하세요.

참고 항목

"UserPrincipalName" 값은 SAML 2.0 클레임에서 "IDPEmail"에 대해 보낼 값과 일치해야 하며 "OnPremisesImmutableId" 값은 "NameID" 어설션에서 보낸 값과 일치해야 합니다.

SAML 2.0 IDP를 사용하여 Single Sign-On 확인

관리자는 Single Sign-On(ID 페더레이션이라고도 함)을 확인 및 관리하기 전에 해당 정보를 검토하고 다음 문서의 단계를 수행하여 SAML 2.0 SP-Lite 기반 ID 공급자로 Single Sign-On을 설정해야 합니다.

  1. Microsoft Entra SAML 2.0 프로토콜 요구 사항을 검토해야 합니다.
  2. SAML 2.0 ID 공급자를 구성해야 합니다.
  3. SAML 2.0 ID 공급자를 사용하여 SSO(Single Sign-On)용 PowerShell 설치
  4. SAML 2.0 ID 공급자 및 Microsoft Entra ID 간에 트러스트 설정
  5. PowerShell 또는 Microsoft Entra Connect를 통해 알려진 테스트 사용자 주체가 Microsoft Entra ID(Microsoft 365)에 프로비전됩니다.
  6. Microsoft Entra Connect를 사용하여 디렉터리 동기화를 구성합니다.

SAML 2.0 SP-Lite 기반 ID 공급자를 사용하여 SSO를 설정한 후 제대로 작동하는지 확인해야 합니다. SAML 기반 SSO 테스트에 대한 자세한 내용은 SAML 기반 Single Sign-On 테스트를 참조하세요.

참고 항목

도메인을 추가하지 않고 변환한 경우 Single Sign-On을 설정하는 데 최대 24시간이 걸릴 수 있습니다. Single Sign-On을 확인하기 전에 Active Directory 동기화 설정을 완료하고, 디렉터리를 동기화하고, 동기화된 사용자를 활성화해야 있습니다.

Single Sign-On이 올바르게 설정되어 있는지 수동으로 확인

수동 확인은 SAML 2.0 ID 공급자가 많은 시나리오에서 제대로 작동하는지 확인하기 위해 수행할 수 있는 더 많은 단계를 제공합니다. Single Sign-On이 올바르게 설정되었는지 확인하려면 다음 단계를 완료합니다.

  1. 도메인에 조인된 컴퓨터에서 회사 자격 증명에 사용하는 것과 동일한 로그인 이름을 사용하여 클라우드 서비스에 로그인합니다.
  2. 암호 상자 내에서 선택합니다. Single Sign-On이 설정되면 암호 상자가 음영 처리되고 다음과 같은 메시지가 표시됩니다. "이제 회사에서> 로그인<해야 합니다."
  3. 회사> 링크에서 <로그인을 선택합니다. 로그인할 수 있는 경우 Single Sign-On이 설정됩니다.

다음 단계