次の方法で共有


Microsoft Entra の SAML トークン暗号化を構成する

Note

トークン暗号化は、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 ID にアップロードされます。

Microsoft Entra ID では、SAML アサーション データの暗号化に AES-256 が使われます。

前提条件

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. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[すべてのアプリケーション] に移動します。

  3. 検索ボックスに既存のアプリケーションの名前を入力し、検索結果からアプリケーションを選択します。

  4. アプリケーションのページで、[トークン暗号化] を選択します。

    Note

    [ トークン暗号化 ] オプションは、Microsoft Entra 管理センターの [エンタープライズ アプリケーション] ウィンドウから 設定された SAML アプリケーション (アプリケーション ギャラリーまたはギャラリー以外のアプリ) でのみ使用できます。 他のアプリケーションの場合、このオプションは無効になっています。

  5. [トークン暗号化] ページで [証明書のインポート] を選択して、公開 X.509 証明書を含んだ .cer ファイルをインポートします。

    Microsoft Entra 管理センターを使用して証明書ファイルをインポートする方法を示すスクリーンショット。

  6. 証明書がインポートされ、アプリケーション側で使用する秘密キーが構成されたら、サムプリント状態の横にある [...] を選択して暗号化をアクティブ化し、ドロップダウン メニューのオプションから [トークン暗号化証明書のアクティブ化] を選択します。

  7. [はい] を選択して、トークン暗号化証明書のアクティブ化を確認します。

  8. アプリケーション用に出力された SAML アサーションが暗号化されたことを確認します。

Microsoft Entra管理センターでトークン暗号化を非アクティブ化する

  1. Microsoft Entra 管理センターで、Identity>Applications>Enterprise アプリケーションのすべてのアプリケーション>を参照し、SAML トークン暗号化が有効になっているアプリケーションを選択します。

  2. アプリケーションのページで、[トークン暗号化] を選択し、証明書を検索した後、[...] オプションを選択してドロップダウン メニューを表示します。

  3. [トークン暗号化証明書の非アクティブ化] を選択します。

登録済みアプリケーションの SAML トークン暗号化を構成する

このセクションでは、登録済みアプリケーションの SAML トークン暗号化を構成する方法について説明します。 これらのアプリケーションは、Microsoft Entra 管理センターの アプリの登録 ウィンドウから設定されます。 エンタープライズ アプリケーションの場合は、「エンタープライズ アプリケーションの SAML トークン暗号化の構成」のガイダンスに従ってください。

暗号化証明書は、encrypt 使用タグを使用して Microsoft Entra ID 内のアプリケーション オブジェクトに格納されます。 暗号化証明書は複数構成できます。トークンの暗号化用にアクティブ化された証明書は、tokenEncryptionKeyID 属性によって識別されます。

Microsoft Graph API または PowerShell を使用してトークン暗号化を構成するには、アプリケーションのオブジェクト ID が必要です。 この値はプログラムによって検索することもでき、Microsoft Entra 管理センターでアプリケーションの [プロパティ] に移動して、[オブジェクト ID] の値を見て確認することもできます。

Graph、PowerShell、またはアプリケーション マニフェストを使用して keyCredential を構成する場合は、keyId に使用する GUID を生成する必要があります。

アプリケーション登録のトークン暗号化を構成するには、次の手順に従ってください。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[アプリの登録]>[すべてのアプリケーション] を参照してください。

  3. 検索ボックスに既存のアプリケーションの名前を入力し、検索結果からアプリケーションを選択します。

  4. アプリケーションのページで、[マニフェスト] を選択してアプリケーション マニフェストを編集します。

    次の例は、2 つの暗号化証明書を使用して構成されたアプリケーション マニフェストを示したものです。2 つ目の証明書は、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" 
    }  
    

次のステップ