分享方式:


設定 Microsoft Entra SAML 權杖加密

注意

權杖加密是 Microsoft Entra ID P1 或 P2 功能。 若要深入瞭解 Microsoft Entra 版本、功能和價格,請參閱 Microsoft Entra

SAML 權杖加密允許將加密的 SAML 判斷提示與支援它的應用程式一起使用。 當針對應用程式進行設定時,Microsoft Entra ID 會使用從 Microsoft Entra ID 中儲存的憑證取得的公開金鑰,將針對該應用程式發出的 SAML 判斷提示進行加密。 應用程式必須使用對應的私密金鑰來解密權杖,然後才能將其作為已登入使用者的驗證辨識項。

加密 Microsoft Entra ID 與應用程式之間的 SAML 判斷提示,可以進一步確保權杖的內容無法攔截,個人或公司資料也不會外洩。

即使沒有權杖加密,Microsoft Entra SAML 權杖也絕不會在網路上傳遞。 Microsoft Entra ID 要求透過加密的 HTTPS/TLS 通道進行權杖要求/回應交換,以便 IDP、瀏覽器和應用程式之間的通訊透過加密連結進行。 相較於管理更多憑證的額外負荷,請針對您的情況考慮權杖加密的值。

若要設定權杖加密,您需要將包含公開金鑰的 X.509 憑證檔案,上傳到代表該應用程式的 Microsoft Entra 應用程式物件。 若要取得 X.509 憑證,您可以從應用程式本身下載此憑證,或在應用程式廠商提供加密金鑰的情況下,向應用程式廠商取得此憑證,或如果應用程式預期由您提供私密金鑰,則可以使用加密工具、上傳至應用程式金鑰存放區的私密金鑰部分,以及上傳至 Microsoft Entra ID 的對應公開金鑰憑證,來建立此憑證。

Microsoft Entra ID 會使用 AES-256 加密 SAML 判斷提示的資料。

必要條件

若要設定 SAML 權杖加密,您需要:

  • Microsoft Entra 使用者帳戶。 若尚未有帳戶,可以免費建立帳戶
  • 下列其中一個角色:雲端應用程式管理員、應用程式系統管理員或服務主體擁有者。

提示

根據您開始使用的不同入口網站,本文中的步驟可能略有變化。

設定企業應用程式 SAML 權杖加密

本節說明如何設定企業應用程式的 SAML 權杖加密。 已從 Microsoft Entra 系統管理中心中的 [企業應用程式] 刀鋒視窗設定的應用程式 (來自應用程式庫或是非資源庫應用程式)。 針對透過「應用程式註冊」體驗註冊的應用程式,遵循設定已註冊應用程式 SAML 權杖加密指導。

若要設定企業應用程式的 SAML 權杖加密,請遵循下列步驟:

  1. 取得與應用程式中設定的私用金鑰對應的公開金鑰憑證。

    建立要用於加密的非對稱金鑰組。 或者,如果應用程式會提供用來加密的公開金鑰,請依照應用程式的指示下載 X.509 憑證。

    公開金鑰應該儲存在 .cer 格式的 X.509 憑證檔案中。 您可以將憑證檔案的內容複製到文字編輯器,並將它儲存為 .cer 檔案。 憑證檔案應該只包含公開金鑰,而不是私密金鑰。

    如果應用程式會使用您為執行個體建立的金鑰,請依照應用程式所提供的指示,安裝應用程式將用來從 Microsoft Entra 租用戶解密權杖的私密金鑰。

  2. 將憑證新增至 Microsoft Entra ID 中的應用程式設定。

在 Microsoft Entra 系統管理中心設定權杖加密

您可以將公開憑證新增到 Microsoft Entra 系統管理中心中的應用程式設定。

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式]

  3. 在搜尋方塊中輸入現有應用程式的名稱,然後從搜尋結果中選取應用程式。

  4. 在應用程式的頁面上,選取 [權杖加密]

    螢幕擷取畫面顯示如何選取 Microsoft Entra 系統管理中心中的 [權杖加密] 選項。

    注意

    權杖加密選項僅適用於從 Microsoft Entra 系統管理中心中的 [企業應用程式] 刀鋒視窗設定的 SAML 應用程式,可以是應用程式庫或非資源庫應用程式。 對於其他應用程式,此功能表選項已停用。

  5. 在 [權杖加密] 頁面上,選取 [匯入憑證] 以匯入包含 X.509 公開憑證的 .cer 檔案。

    螢幕擷取畫面顯示如何使用 Microsoft Entra 系統管理中心來匯入憑證檔案。

  6. 匯入憑證,並設定私密金鑰以在應用程式端上使用後,透過選取指紋狀態旁邊的 [...] 啟用加密,然後從下拉式功能表中的選項選取 [啟用權杖加密]

  7. 選取 [是] 確認啟用權杖加密憑證。

  8. 確認為應用程式發出的 SAML 判斷提示已加密。

若要在 Microsoft Entra 系統管理中心停用權杖加密

  1. 在 Microsoft Entra 系統管理中心,移至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式],然後選取已啟用 SAML 權杖加密的應用程式。

  2. 在應用程式頁面上,選取 [權杖加密],找到憑證,然後選取 [...] 選項,以顯示下拉式功能表。

  3. 選取 [停用權杖加密]

設定已註冊應用程式 SAML 權杖加密

本節說明如何設定已註冊應用程式的 SAML 權杖加密。 已從 Microsoft Entra 系統管理中心的 [應用程式註冊] 刀鋒視窗中設定的應用程式。 針對企業應用程式,遵循設定企業應用程式 SAML 權杖加密指導。

加密憑證儲存在 Microsoft Entra ID 中的應用程式物件上,並包含 encrypt 使用量標記。 您可以設定多個加密憑證,以及由 tokenEncryptionKeyID 屬性識別用於加密權杖的作用中憑證。

您需要應用程式的物件識別碼,才能使用 Microsoft Graph API 或 PowerShell 設定權杖加密。 您可以透過程式設計的方式找到此值,也可以移至 Microsoft Entra 系統管理中心中應用程式的 [屬性] 頁面並注意物件識別碼值。

當您使用 Graph、PowerShell 或應用程式資訊清單設定 keyCredential 時,應產生要用於 keyId 的 GUID。

若要設定應用程式註冊的權杖加密,請遵循下列步驟:

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[應用程式]>[應用程式註冊]>[所有應用程式]

  3. 在搜尋方塊中輸入現有應用程式的名稱,然後從搜尋結果中選取應用程式。

  4. 在應用程序的頁面中,選取 [資訊清單] 編輯應用程式資訊清單

    下列範例示範使用兩個加密憑證設定的應用程式資訊清單,並使用 tokenEncryptionKeyId 將第二個選取為作用中憑證。

    { 
      "id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
      "accessTokenAcceptedVersion": null,
      "allowPublicClient": false,
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "appRoles": [],
      "oauth2AllowUrlPathMatching": false,
      "createdDateTime": "2017-12-15T02:10:56Z",
      "groupMembershipClaims": "SecurityGroup",
      "informationalUrls": { 
         "termsOfService": null, 
         "support": null, 
         "privacy": null, 
         "marketing": null 
      },
      "identifierUris": [ 
        "https://testapp"
      ],
      "keyCredentials": [ 
        { 
          "customKeyIdentifier": "Tog/O1Hv1LtdsbPU5nPphbMduD=", 
          "endDate": "2039-12-31T23:59:59Z", 
          "keyId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333", 
          "startDate": "2018-10-25T21:42:18Z", 
          "type": "AsymmetricX509Cert", 
          "usage": "Encrypt", 
          "value": <Base64EncodedKeyFile> 
          "displayName": "CN=SAMLEncryptTest" 
        }, 
        {
          "customKeyIdentifier": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u=",
          "endDate": "2039-12-31T23:59:59Z", 
          "keyId": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
          "startDate": "2018-10-25T21:42:18Z", 
          "type": "AsymmetricX509Cert", 
          "usage": "Encrypt", 
          "value": <Base64EncodedKeyFile> 
          "displayName": "CN=SAMLEncryptTest2" 
        } 
      ], 
      "knownClientApplications": [], 
      "logoUrl": null, 
      "logoutUrl": null, 
      "name": "Test SAML Application", 
      "oauth2AllowIdTokenImplicitFlow": true, 
      "oauth2AllowImplicitFlow": false, 
      "oauth2Permissions": [], 
      "oauth2RequirePostResponse": false, 
      "orgRestrictions": [], 
      "parentalControlSettings": { 
         "countriesBlockedForMinors": [], 
         "legalAgeGroupRule": "Allow" 
        }, 
      "passwordCredentials": [], 
      "preAuthorizedApplications": [], 
      "publisherDomain": null, 
      "replyUrlsWithType": [], 
      "requiredResourceAccess": [], 
      "samlMetadataUrl": null, 
      "signInUrl": "https://127.0.0.1:444/applications/default.aspx?metadata=customappsso|ISV9.1|primary|z" 
      "signInAudience": "AzureADMyOrg",
      "tags": [], 
      "tokenEncryptionKeyId": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444" 
    }  
    

下一步