注
トークン暗号化は、Microsoft Entra ID P1 または P2 の機能です。 Microsoft Entra のエディション、機能、価格の詳細については、 Microsoft Entra の価格に関するページを参照してください。
SAML トークン暗号化を使用すると、それをサポートしているアプリケーションで、暗号化された SAML アサーションを使用できるようになります。 アプリケーション用に構成すると、そのアプリケーションに対して出力される SAML アサーションが Microsoft Entra ID によって暗号化されます。 SAML アサーションは、Microsoft Entra ID に格納されている証明書から取得した公開キーを使用して暗号化されます。 アプリケーションでは、対応する秘密キーを使用してトークンを復号化する必要があります。これにより、現在サインインしているユーザーの認証の証拠として、そのトークンを使用できるようになります。
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 トークン暗号化を構成するには、次の手順に従います。
アプリケーションで構成されている秘密キーに一致する公開キー証明書を取得します。
暗号化に使用する非対称キー ペアを作成します。 なお、暗号化に使用する公開キーがアプリケーションで提供される場合は、アプリケーションの指示に従って X.509 証明書をダウンロードします。
公開キーは、.cer 形式の X.509 証明書ファイルに格納する必要があります。 証明書ファイルの内容をテキスト エディターにコピーし、.cer ファイルとして保存できます。 証明書ファイルには公開キーのみを含め、秘密キーは含めないようにする必要があります。
インスタンス用に作成したキーがアプリケーションで使用される場合は、アプリケーションの指示に従って、Microsoft Entra テナントからのトークンの復号化に使用される秘密キーをインストールしてください。
Microsoft Entra ID のアプリケーション構成に証明書を追加します。
Microsoft Entra管理センターでトークン暗号化を構成する
Microsoft Entra管理センター内で、アプリケーション構成にパブリック証明書を追加できます。
Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
Entra ID>Enterprise アプリ>すべてのアプリケーションを参照します。
検索ボックスに既存のアプリケーションの名前を入力し、検索結果からアプリケーションを選択します。
アプリケーションのページで、[ トークン暗号化] を選択します。
注
[トークン暗号化] オプションは、Microsoft Entra 管理センターの [エンタープライズ アプリケーション] ウィンドウから設定された SAML アプリケーション (アプリケーション ギャラリーまたはギャラリー以外のアプリ) でのみ使用できます。 その他のアプリケーションについては、このオプションは無効になります。
[ トークン暗号化 ] ページで、[ 証明書のインポート ] を選択して、パブリック X.509 証明書を含む.cer ファイルをインポートします。
証明書がインポートされ、秘密キーがアプリケーション側で使用されるように構成されたら、拇印の状態の横にある ... を選択して暗号化をアクティブ化し、ドロップダウン メニューのオプションから [ トークン暗号化のアクティブ化 ] を選択します。
トークン暗号化証明書のアクティブ化を確認するには、[ はい ] を選択します。
アプリケーション用に出力された SAML アサーションが暗号化されたことを確認します。
Microsoft Entra管理センターでトークン暗号化を非アクティブ化する
Microsoft Entra 管理センターで、 Entra ID>Enterprise アプリ>すべてのアプリケーションを参照し、SAML トークン暗号化が有効になっているアプリケーションを選択します。
アプリケーションのページで、[ トークン暗号化] を選択し、証明書を見つけて、[ ... ] オプションを選択してドロップダウン メニューを表示します。
[ トークン暗号化の非アクティブ化] を選択します。
登録済みアプリケーションの SAML トークン暗号化を構成する
このセクションでは、登録済みアプリケーションの SAML トークン暗号化を構成する方法について説明します。 これらのアプリケーションは、Microsoft Entra 管理センターの [ アプリの登録 ] ウィンドウから設定されます。 エンタープライズ アプリケーションの場合は、 エンタープライズ アプリケーションの SAML トークン暗号化の構成 に関するガイダンスに従ってください。
暗号化証明書は、encrypt
使用タグを使用して Microsoft Entra ID 内のアプリケーション オブジェクトに格納されます。 暗号化証明書は複数構成できます。トークンの暗号化用にアクティブ化された証明書は、tokenEncryptionKeyID
属性によって識別されます。
Microsoft Graph API または PowerShell を使用してトークン暗号化を構成するには、アプリケーションのオブジェクト ID が必要になります。 この値はプログラムで見つけることができます。または、Microsoft Entra 管理センターのアプリケーションの [プロパティ] ページに移動し、 オブジェクト ID の値を確認します。
Graph、PowerShell、またはアプリケーション マニフェストを使用して keyCredential を構成する場合は、keyId に使用する GUID を生成する必要があります。
アプリケーション登録のトークン暗号化を構成するには、次の手順に従ってください。
Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。
Entra ID>アプリケーションの登録>すべてのアプリケーションに移動します。
検索ボックスに既存のアプリケーションの名前を入力し、検索結果からアプリケーションを選択します。
アプリケーションのページで、[ マニフェスト ] を選択して アプリケーション マニフェストを編集します。
次の例は、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" }
関連コンテンツ
- Microsoft Entra ID での SAML プロトコルの使用方法を確認する
- Microsoft Entra ID での SAML トークンの形式、セキュリティ特性、および内容について説明します