共用方式為


設定 Microsoft Entra SAML 權杖加密

注意

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

SAML 權杖加密允許將加密的 SAML 判斷提示與支援它的應用程式一起使用。 針對應用程式設定時,Microsoft Entra ID 會加密它針對該應用程式發出的 SAML 判斷提示。 它會使用從儲存 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 識別碼的相符公鑰憑證。

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 系統管理中心的 [企業應用程式] 窗格設定的 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" 
    }  
    

下一步