Microsoft Entra ID でオンプレミスのアプリケーションにアクセスするための Cookie 設定

Microsoft Entra ID には、アプリケーション プロキシ経由でオンプレミスのアプリケーションにアクセスするための、アクセス権とセッション Cookie があります。 アプリケーション プロキシの Cookie の設定を使う方法について説明します。

アプリケーション プロキシでは、次のアクセス権とセッション Cookie の設定が使われます。

Cookie 設定 Default 説明 Recommendations
[HTTP 専用 Cookie を使用する] いいえ [はい] を指定すると、アプリケーション プロキシは HTTP 応答ヘッダーに HTTPOnly フラグを含めることができます。 このフラグを使うと、クライアント側スクリプト (CSS) による Cookie のコピーや変更の防止など、セキュリティに関する追加のベネフィットが提供されます。



HTTP 専用の設定がサポートされる前は、変更を防ぐため、アプリケーション プロキシによって Cookie が暗号化され、セキュリティ保護されたトランスポート層セキュリティ (TLS) チャネル経由で送信されていました。 
セキュリティに関していっそうのベネフィットがあるため、[はい] を使います。



セッション Cookie へのアクセス権が必要なクライアントまたはユーザー エージェントには [いいえ] を使用します。 たとえば、アプリケーション プロキシ経由でリモート デスクトップ ゲートウェイ サーバーに接続するリモート デスクトップ プロトコル (RDP) または Microsoft ターミナル サービス クライアント (MTSC) クライアントには、[いいえ] を使います。
[Use Secure Cookie] (セキュリティで保護された Cookie を使用する) はい [はい] を指定すると、アプリケーション プロキシは HTTP 応答ヘッダーに Secure フラグを含めることができます。 セキュリティで保護された Cookie は、HTTPS などの TLS でセキュリティ保護されたチャネル経由で Cookie を送信することによってセキュリティを拡張します。 TLS を使うと、Cookie はクリアテキストで送信されなくなります。 セキュリティに関していっそうのベネフィットがあるため、[はい] を使います。
[Use Persistent Cookie] (永続的な Cookie を使用する) いいえ [はい] を指定すると、アプリケーション プロキシは、Web ブラウザーが閉じられても期限切れにならないようにアクセス Cookie を設定できます。 この永続性は、アクセス トークンの期限が切れるか、またはユーザーが永続的な Cookie を手動で削除するまで持続します。 ユーザーが認証されたままになることに関連したセキュリティ上のリスクがあるため、[いいえ] を使用します。



[はい] は、プロセス間で 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 設定を設定するには:

  1. 少なくとも アプリケーション管理者 の権限で Microsoft Entra 管理センター にサインインします。
  2. ID>アプリケーション>エンタープライズ アプリケーション>アプリケーション プロキシ を参照します。
  3. [追加設定] で、Cookie 設定を [はい] または [いいえ] に設定します。
  4. [保存] を選択して変更を保存します。

アプリケーションの現在の Cookie 設定を確認するには、次の PowerShell コマンドを使用します。

Get-AzureADApplicationProxyApplication -ObjectId <ObjectId> | fl * 

次の PowerShell コマンドにおいて、<ObjectId> はアプリケーションの ObjectId です。

HTTP 専用 Cookie

Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsHttpOnlyCookieEnabled $true 
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsHttpOnlyCookieEnabled $false 

セキュリティで保護された Cookie

Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsSecureCookieEnabled $true 
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsSecureCookieEnabled $false 

永続 Cookie

Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsPersistentCookieEnabled $true 
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsPersistentCookieEnabled $false