Share via


使用 SAML 2.0 識別提供者 (IdP) 進行 單一登入

本檔包含使用 SAML 2.0 相容 SP-Lite 配置檔型識別提供者作為慣用的安全性令牌服務 (STS) / 識別提供者的相關信息。 當您已經有可使用 SAML 2.0 存取的內部部署使用者目錄和密碼存放區時,此案例很有用。 這個現有的使用者目錄可用於登入 Microsoft 365 和其他 Microsoft Entra 識別符保護的資源。 SAML 2.0 SP-Lite 配置檔是以廣泛使用的安全性判斷提示標記語言 (SAML) 同盟身分識別標準為基礎,以提供登入和屬性交換架構。

注意

如需已測試以搭配 Microsoft Entra 識別碼使用的第三方 Idps 清單,請參閱 Microsoft Entra 同盟相容性清單

Microsoft 支援此登入體驗,以整合 Microsoft 雲端服務,例如 Microsoft 365,並搭配您正確設定的 SAML 2.0 配置檔型 IdP。 SAML 2.0 識別提供者是第三方產品,因此 Microsoft 不提供部署、設定、疑難解答最佳做法的支援。 正確設定之後,可以使用 Microsoft 連線 ivity Analyzer Tool 來測試與 SAML 2.0 識別提供者的整合,如下所述。 如需SAML 2.0 SP-Lite設定檔型識別提供者的詳細資訊,請詢問提供它的組織。

重要

此登入案例中只有一組有限的用戶端可以使用 SAML 2.0 識別提供者,這包括:

  • Web 型用戶端,例如 Outlook Web Access 和 SharePoint Online
  • 使用基本身份驗證和支援 Exchange 存取方法的電子郵件豐富型用戶端,例如 IMAP、POP、Active Sync、MAPI 等。(需要部署增強型用戶端通訊協定端點),包括:
    • Microsoft Outlook 2010/Outlook 2013/Outlook 2016、Apple i 電話 (各種 iOS 版本)
    • 各種Google Android裝置
    • Windows 電話 7、Windows 電話 7.8 和 Windows 電話 8.0
    • Windows 8 Mail 用戶端和 Windows 8.1 郵件用戶端
    • Windows 10 郵件用戶端

您的 SAML 2.0 識別提供者在此登入案例中無法使用所有其他用戶端。 例如,Lync 2010 桌面客戶端無法使用已設定單一登錄的 SAML 2.0 識別提供者登入服務。

Microsoft Entra SAML 2.0 通訊協定需求

本檔包含 SAML 2.0 身分識別提供者必須實作以與 Microsoft Entra ID 同盟的通訊協定和訊息格式的詳細需求,以啟用對一或多個 Microsoft 雲端服務的登入(例如 Microsoft 365)。 此案例中使用的 Microsoft 雲端服務的 SAML 2.0 信賴憑證者 (SP-STS) 是 Microsoft Entra ID。

建議您確保 SAML 2.0 識別提供者輸出訊息儘可能類似所提供的範例追蹤。 此外,請盡可能使用所提供 Microsoft Entra 元數據的特定屬性值。 一旦您滿意輸出訊息,您可以使用 Microsoft 連線 ivity Analyzer 進行測試,如下所示。

您可以從此 URL 下載 Microsoft Entra 元數據: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml。 對於使用中國特定 Microsoft 365 實例的中國客戶,應使用下列同盟端點: https://nexus.partner.microsoftonline-p.cn/federationmetadata/saml20/federationmetadata.xml

SAML 通訊協定需求

本節詳細說明如何組合要求和回應消息組,以協助您正確格式化訊息。

Microsoft Entra ID 可以設定為與使用 SAML 2.0 SP Lite 配置檔的識別提供者搭配使用,其特定需求如下所列。 使用範例 SAML 要求和回應訊息以及自動化和手動測試,您可以透過 Microsoft Entra ID 達成互操作性。

簽章區塊需求

在 SAML 回應訊息內,[簽章] 節點包含訊息本身數位簽名的相關信息。 簽章區塊具有下列需求:

  1. 判斷提示節點本身必須簽署
  2. RSA-sha1 演演算法必須做為 DigestMethod。 不接受其他數位簽名演算法。 <ds:DigestMethod Algorithm="https://www.w3.org/2000/09/xmldsig#sha1"/>
  3. 您也可以簽署 XML 檔。
  4. 轉換演算法必須符合下列範例中的值: <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 會針對身分識別提供者的驗證要求使用 HTTP POST,並將註銷訊息重新導向至識別提供者。

必要屬性

下表顯示 SAML 2.0 訊息中特定屬性的需求。

屬性 描述
NameID 這個判斷提示的值必須與 Microsoft Entra 使用者的 ImmutableID 相同。 最多可以有64個英數位元。 任何非 HTML 安全字元都必須編碼,例如 「+」 字元會顯示為 「.2B」。
IDPEmail 用戶主體名稱 (UPN) 會列在 SAML 回應中,作為名稱為 IDPEmail 的使用者 UserPrincipalName (UPN) 在 Microsoft Entra ID / Microsoft 365 中的元素。 UPN 的格式為電子郵件位址。 Windows Microsoft 365 中的 UPN 值(Microsoft Entra ID)。
Issuer 必須是識別提供者的 URI。 請勿從範例訊息重複使用簽發者。 如果您的 Microsoft Entra 租使用者中有多個最上層網域,簽發者必須符合每個網域所設定的指定 URI 設定。

重要

Microsoft Entra ID 目前支援 SAML 2.0:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent 的下列 NameID 格式 URI。

SAML 要求和回應訊息範例

登入訊息交換會顯示要求和回應消息組。 以下是從 Microsoft Entra ID 傳送至範例 SAML 2.0 識別提供者的範例要求訊息。 已設定為使用 SAML-P 通訊協定的範例 SAML 2.0 識別提供者 Active Directory 同盟服務 (AD FS)。 其他 SAML 2.0 識別提供者也已完成互操作性測試。

<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>

如果 isSignedAuthenticationRequestRequired 已啟用,如 internaldomainfederation-update 中所述,則要求看起來會像下列範例所示:

  <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 相容識別提供者傳送至 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 相容識別提供者

本節包含如何設定 SAML 2.0 識別提供者與 Microsoft Entra ID 同盟的指導方針,以使用 SAML 2.0 通訊協定啟用一或多個 Microsoft 雲端服務的單一登錄存取。 此案例中使用的 Microsoft 雲端服務的 SAML 2.0 信賴憑證者是 Microsoft Entra ID。

新增 Microsoft Entra 元數據

您的 SAML 2.0 識別提供者必須遵守 Microsoft Entra ID 信賴憑證者的相關信息。 Microsoft Entra ID 會在 發佈元數據 https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml

建議您在設定 SAML 2.0 識別提供者時,一律匯入最新的 Microsoft Entra 元數據。

注意

Microsoft Entra ID 不會從識別提供者讀取元數據。

將 Microsoft Entra 識別元新增為信賴憑證者

您必須啟用 SAML 2.0 識別提供者與 Microsoft Entra ID 之間的通訊。 此設定取決於您的特定識別提供者,您應該參考其檔。 您通常會將信賴憑證者標識符設定為與 Microsoft Entra 元數據中的 entityID 相同。

注意

確認 SAML 2.0 識別提供者伺服器上的時鐘已同步至精確的時間來源。 不正確的時鐘時間可能會導致同盟登入失敗。

安裝 PowerShell 以使用 SAML 2.0 識別提供者登入

設定 SAML 2.0 識別提供者以搭配 Microsoft Entra 登入使用之後,下一個步驟是下載並安裝 Microsoft Graph PowerShell 模組。 安裝之後,您將使用這些 Cmdlet 將 Microsoft Entra 網域設定為同盟網域。

Microsoft Graph PowerShell 模組是用來管理 Microsoft Entra 標識符中組織數據的下載專案。 此模組會將一組 Cmdlet 安裝至 PowerShell;您可以執行這些 Cmdlet 來設定 Microsoft Entra ID 的單一登錄存取權,並接著設定您訂閱的所有雲端服務。 如需如何下載及安裝 Cmdlet 的指示,請參閱 安裝 Microsoft Graph PowerShell SDK

設定 SAML 識別提供者與 Microsoft Entra 識別碼之間的信任

在 Microsoft Entra 網域上設定同盟之前,必須先設定自定義網域。 您無法將 Microsoft 提供的預設網域同盟。 來自 Microsoft 的預設網域結尾為 onmicrosoft.com。 您將執行一系列 PowerShell Cmdlet,以新增或轉換單一登錄的網域。

您想要使用 SAML 2.0 識別提供者同盟的每個 Microsoft Entra 網域,都必須新增為單一登錄網域,或轉換成標準網域中的單一登錄網域。 新增或轉換網域會設定 SAML 2.0 識別提供者與 Microsoft Entra 標識符之間的信任。

下列程式會逐步引導您使用 SAML 2.0 SP-Lite 將現有的標準網域轉換成同盟網域。

注意

您的網域可能會發生中斷,在您執行此步驟之後,最多 2 小時會影響使用者。

在 Microsoft Entra Directory 中設定網域以進行同盟

  1. 以租用戶系統管理員身分 連線 至 Microsoft Entra Directory:

    Connect-MgGraph -Scopes "Domain.ReadWrite.All"
    
  2. 設定您想要的 Microsoft 365 網域,以搭配 SAML 2.0 使用同盟:

    $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-MgDomainFederationConfiguration

注意

只有您為識別提供者設定 ECP 擴充功能時,才能使用 $ecpUrl = "https://WS2012R2-0.contoso.com/PAOS" 。 Exchange Online 用戶端,不包括 Outlook Web 應用程式 (OWA),依賴以 POST 為基礎的使用中端點。 如果您的 SAML 2.0 STS 實作類似於 Shibboleth ECP 實作作用中端點的作用中端點,則這些豐富型用戶端可能會與 Exchange Online 服務互動。

設定同盟之後,您可以切換回「非同盟」(或「受控」),不過這項變更最多需要兩個小時才能完成,而且需要為每個使用者指派新的隨機密碼。 在某些情況下,可能需要切換回「受控」,才能重設設定中的錯誤。 如需網域轉換的詳細資訊,請參閱 Remove-MgDomainFederationConfiguration

將用戶主體布建至 Microsoft Entra ID / Microsoft 365

您必須先使用對應至 SAML 2.0 宣告中判斷提示的用戶主體來布建 Microsoft Entra ID,才能向 Microsoft 365 驗證使用者。 如果這些用戶主體事先不知道 Microsoft Entra ID,則無法用於同盟登入。 Microsoft Entra 連線 或 PowerShell 都可以用來布建用戶主體。

Microsoft Entra 連線 可用來從 內部部署的 Active Directory 將主體布建至 Microsoft Entra Directory 中的網域。 如需詳細資訊,請參閱 整合內部部署目錄與 Microsoft Entra ID

PowerShell 也可以用來將新用戶自動新增至 Microsoft Entra ID,以及同步處理內部部署目錄中的變更。 若要使用 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 確認單一登錄

身為系統管理員,在您驗證和管理單一登錄之前(也稱為身分識別同盟),請檢閱資訊,並執行下列文章中的步驟,以設定 SAML 2.0 SP-Lite 型身分識別提供者的單一登錄:

  1. 您已檢閱 Microsoft Entra SAML 2.0 通訊協定需求
  2. 您已設定 SAML 2.0 識別提供者
  3. 使用 SAML 2.0 識別提供者安裝 PowerShell 以進行單一登入 (SSO)
  4. 設定 SAML 2.0 識別提供者與 Microsoft Entra 識別碼之間的信任
  5. 透過PowerShell或 Microsoft Entra 連線,將已知的測試用戶主體布建至 Microsoft Entra ID (Microsoft 365)。
  6. 使用 Microsoft Entra 連線 設定目錄同步處理。

使用 SAML 2.0 SP-Lite 型識別提供者設定 SSO 之後,您應該確認其運作正常。 如需測試 SAML 型 SSO 的詳細資訊,請參閱 測試 SAML 型單一登錄

注意

如果您轉換網域,而不是新增網域,最多可能需要 24 小時才能設定單一登錄。 驗證單一登錄之前,您應該完成設定 Active Directory 同步處理、同步處理您的目錄,以及啟用同步處理的使用者。

手動確認已正確設定單一登錄

手動驗證提供更多步驟,可讓您確保 SAML 2.0 識別提供者在許多案例中正常運作。 若要確認已正確設定單一登錄,請完成下列步驟:

  1. 在已加入網域的計算機上,使用您用於公司認證的相同登入名稱登入您的雲端服務。
  2. 在密碼方塊內選取。 如果已設定單一登錄,密碼方塊會受到陰影,您會看到下列訊息:「您現在必須在公司>登入<。」
  3. 選取公司>連結的 <[登入]。 如果您能夠登入,則會設定單一登錄。

後續步驟