Microsoft Entra ID は、アクセス Cookie とセッション Cookie を使用して、アプリケーション プロキシを介してオンプレミスのアプリケーションにアクセスします。 アプリケーション プロキシ Cookie の設定を構成する方法について説明します。
Cookie 設定の概要
アプリケーション プロキシ では、次のアクセスとセッション Cookie の設定が使用されます。
Cookie 設定 | 既定値 | 説明 | 推奨事項 |
---|---|---|---|
[HTTP 専用 Cookie を使用する] | いいえ |
はい 。アプリケーション プロキシが HTTP 応答ヘッダーに HTTPOnly フラグを含めることができます。 このフラグを使うと、クライアント側スクリプト (CSS) による Cookie のコピーや変更の防止など、セキュリティに関する追加のベネフィットが提供されます。 HTTP 専用の設定がサポートされる前は、変更を防ぐため、アプリケーション プロキシによって Cookie が暗号化され、セキュリティ保護されたトランスポート層セキュリティ (TLS) チャネル経由で送信されていました。 |
追加のセキュリティ上の利点があるため、[ はい ] を使用します。 セッション Cookie へのアクセスが必要なクライアントまたはユーザー エージェントには 、No を使用します。 たとえば、アプリケーション プロキシを介してリモート デスクトップ ゲートウェイ サーバーに接続するリモート デスクトップ プロトコル (RDP) または Microsoft ターミナル サービス クライアント (MSTSC) には No を使用します。 |
[Use Secure Cookie] (セキュリティで保護された Cookie を使用する) | はい | はい 。アプリケーション プロキシは、HTTP 応答ヘッダーに Secure フラグを含めることができます。 セキュリティで保護された Cookie は、HTTPS などの TLS でセキュリティ保護されたチャネル経由で Cookie を送信することによってセキュリティを拡張します。 TLS を使うと、Cookie はクリアテキストで送信されなくなります。 | 追加のセキュリティ上の利点があるため、[ はい ] を使用します。 |
[Use Persistent Cookie] (永続的な Cookie を使用する) | いいえ | [はい ] を使用すると、アプリケーション プロキシは、Web ブラウザーが閉じられたときにアクセス Cookie の有効期限が切れないように設定できます。 この永続性は、アクセス トークンの期限が切れるか、またはユーザーが永続的な Cookie を手動で削除するまで持続します。 | ユーザーの認証を維持することに関連するセキュリティ リスクがあるため、 No を 使用します。 プロセス間で Cookie を共有できない古いアプリケーションの場合にのみ、[ はい] を 使用します。 永続的な Cookie を使用するのではなく、プロセス間での Cookie の共有を処理するようにアプリケーションを更新する方が適切です。 たとえば、永続的な Cookie は、ユーザーが SharePoint サイトからエクスプローラー ビューで Office ドキュメントを開けるようにするために必要になることがあります。 永続的な Cookie がない場合、ブラウザー、エクスプローラー プロセス、および Office プロセスの間でアクセス Cookie が共有されていないと、この操作は失敗する可能性があります。 |
SameSite Cookie
SameSite 属性を指定しない Cookie は、SameSite=Lax に設定されているかのように扱われます。
SameSite
属性では、同一サイト コンテキストに Cookie を制限する方法を宣言します。
Lax
に設定すると、Cookie は同一サイト要求またはトップレベル ナビゲーションにのみ送信されます。 ただし、アプリケーション プロキシでは、セッション中にユーザーがサインインし続けるために、これらの Cookie をサード パーティのコンテキストで保持する必要があります。 この要件のため、次の更新が行われました。
- SameSite 属性を None に設定すると、アプリケーション プロキシ セッション Cookie がサードパーティのコンテキストで送信されます。
- [ セキュリティで保護された Cookie を使用 する] 設定を既定として [ はい ] を使用するように設定します。 Chrome では、
Secure
フラグを使用しない Cookie が拒否されます。 この変更は、アプリケーション プロキシ経由で公開されるすべての既存アプリケーションに適用されます。 アプリケーション プロキシのアクセス Cookie は Secure に設定され、HTTPS 経由でのみ送信されます。 この変更は、セッション Cookie にのみ適用されます。
さらに、バックエンド アプリケーションにサード パーティ コンテキストを必要とする Cookie がある場合は、SameSite=None
を使うようにアプリケーションを変更して、明示的にオプトインする必要があります。 アプリケーション プロキシは、Set-Cookie
ヘッダーをその URL に変換して、その設定を適用します。
Microsoft Entra 管理センターで Cookie 設定を設定する
Microsoft Entra 管理センターを使用して Cookie 設定を設定するには:
- Microsoft Entra 管理センターに、少なくともアプリケーション管理者としてサインインします。
- Entra ID>エンタープライズアプリ>アプリケーションプロキシに移動します。
- [ 追加設定] で、Cookie の設定を [はい ] または [いいえ] に設定します。
- [ 保存] を 選択して変更を適用します。
PowerShell を使用して現在の Cookie 設定を表示する
アプリケーションの現在の Cookie 設定を確認するには、次の PowerShell コマンドを使用します。
Get-MgBetaApplication -ApplicationId <Id> | FL *
PowerShell を使用して Cookie 設定を設定する
次の PowerShell コマンドでは、 <Id>
はアプリケーションの ID です 。
Http-Only クッキー
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsHttpOnlyCookieEnabled $true
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsHttpOnlyCookieEnabled $false
セキュリティで保護された Cookie
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsSecureCookieEnabled $true
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsSecureCookieEnabled $false
永続的な Cookie
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsPersistentCookieEnabled $true
Set-EntraBetaApplicationProxyApplication -ApplicationId <Id> -IsPersistentCookieEnabled $false