はじめに
GSA クライアントは、既定で、利用者は タスクトレイの GSA クライアント を右クリックし Disable にすることができてしまいます。
ポイント
特に、GSA インターネットアクセス を採用する場合にお勧めの設定です。
インターネットアクセスは、各種ポリシーで インターネットへの通信を制御することが目的の機能です。
しかし、利用者が GSA クライアントを Disable できてしまうと、これらの制御の意味が半減どころか、実質 意味が無くなります。
GSA インターネットアクセス については、以下の私の記事を参照してください。
[GSA:Internet] Microsoft Entra インターネット アクセス を構成する
https://qiita.com/carol0226/items/ae2bfdb209170fb41bae
この抜け穴を防ぐために、以下のいずれかの方法で設定をするとバランスの良い構成が実現できると思います。
- 1.レジストリで構成する
- 2.Intune を使った制御
この記事の対象読者
- GSA インターネットアクセスを導入済み(または予定)の企業管理者
- 利用者が勝手に Disable してしまう問題に困っている人
- Intune で GSA クライアントを管理したい人
1. レジストリで構成する
手順内で案内している設定値が私がおススメする設定ですので、手順通りの内容で構成し、動作を確認してみてください。
1-1. 特権の無いユーザーを制限する (RestrictNonPrivilegedUsers)
以下の公開情報のレジストリキーを設定することで、上記を 無効化することができます。
公開情報:クライアント レジストリ キー
https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-install-windows-client?wt.mc_id=MVP_407731#client-registry-keys
(レジストリキー)
Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Global Secure Access Client
以下のレジストリ値 (RestrictNonPrivilegedUsers) を追加し 値をセットします。
動作確認
管理権限の無いユーザーでサインインしなおし、以下の Dislble ボタンを押します。

すると、UAC が発動して 管理者の認証を求められますが、キャンセルすると 以下のエラーになり Disable 化できません。管理者で認証を行えば、Disable 化することが可能です。

1-2. システム トレイ メニュー ボタンの非表示または再表示
管理者は、クライアント システム トレイ アイコン メニューで特定のボタンを表示または非表示にすることができます。
(レジストリキー)
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Global Secure Access Client
1-2-1. Disable ボタン (HideDisableButton) を非表示にする
次のレジストリ 値を作成します。

すると、以下の通り Disable ボタン自体が非表示になります。
この場合は、この PC 上の全ユーザーが Disable / Enable の切り替えができなくなります。
この段階では、管理者であっても 無効化 することができなくなります。
※このあと、サインアウトボタンを有効化することで、管理者向けの対策を講じます。
1-2-2. プライベートアクセスの Disable ボタン (HideDisablePrivateAccessButton) を表示する
次のレジストリ値を作成します。

すると、以下の通り プライベートアクセス の機能の箇所に Disable ボタンが現れます。

以下の通り、プライベートアクセス のみを無効化できるようになります。
社外からアクセスする際は ON にして、社内に居るときには OFF にするような使い方ができます。

RestrictNonPrivilegedUsers が 有効な場合でも、利用者は プライベートアクセス を無効化できます。
1-2-3. サインアウトボタン (HideSignoutButton) を表示する
次のレジストリ キー値を作成します。

すると、以下の通り サインアウト が現れます。

この場合は、サインアウトすることが可能になり、別のアカウントで GSA にログオンすることが出来るようになります。
RestrictNonPrivilegedUsers が 有効な場合は、サインアウト がトレイに表示されますが、管理者以外は サインアウト できません。
なお、利用者に ローカル管理者権限を付与している場合で、勝手に サインアウト をさせたくない場合は、サインアウトボタン を非表示のままにします。そうすると、例外なく GSA を終了させられなくなるため、セキュリティを担保できます。
まとめ:私のおススメ設定
結果として、以下のような設定になります。
GSA クライアントの無効化ボタンが無くなり、一般ユーザーは プライベートアクセス のみを無効化できます。サインアウトボタンが表示されるようになり、管理者はそれを利用することができ、一般ユーザーはブロックされます。
この設定が 一番バランスが良いのではないかと思います。
- RestrictNonPrivilegedUsers = 1
- HideDisableButton = 1
- HideDisablePrivateAccessButton = 0
- HideSignoutButton = 0
(一般ユーザーがローカル管理者権限を持っている場合は、"1")
2. Intune を使った制御
1.で構成したことと同じ内容を Intune を使って 管理下の PC へ展開することが可能です。
公開情報:Intune を使用してグローバル セキュリティで保護されたアクセス クライアント設定を構成する
https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-install-windows-client?wt.mc_id=MVP_407731#configure-global-secure-access-client-settings-with-intune
(公開情報より抜粋)

Intune での 設定方法
上記の公開情報で紹介されている 検出スクリプト と 修復スクリプト を以下の場所に貼り付けます。
※赤丸の箇所を開くと コピーすべきスクリプトを参照できます。

このとき、検出スクリプト と 修復スクリプト の以下の箇所は 1. レジストリの設定 と同様の意味を持ちますので 適宜 ON / OFF してください。
$gsaSettings = @{
"HideSignOutButton" = 0
"HideDisablePrivateAccessButton" = 0
"HideDisableButton" = 1
"RestrictNonPrivilegedUsers" = 1
}
検出スクリプトの図は、以下の公開情報から抜粋しています。
公開情報:カスタムのスクリプト パッケージを作成および展開する
https://learn.microsoft.com/ja-jp/intune/intune-service/fundamentals/remediations?wt.mc_id=MVP_407731#create-and-deploy-custom-script-packages
検出スクリプト と 修復スクリプト の仕込み方は、以下の私の記事も参考にしてみてください。
貼り付けるスクリプトの内容が違うだけで、設定手順は同じです。
[GSA:Internet] 前提条件の IPv4 優先 を構成する
https://qiita.com/carol0226/items/7b3cff50503d07211946
1.または 2.の構成が終わったら、利用者が 勝手に GSA クライアントを終了させられない状態になっていることを確認してください。
まとめ
GSA クライアントは既定のままだと、利用者が自由に Disable できてしまい、
GSA インターネットアクセスのポリシーが完全に無効化されるリスク があります。
この記事で紹介した設定を行うことで、次のような “バランスの良い運用” が実現できます。
- 一般ユーザーは GSA を勝手に無効化できない
- Private Access のみ ON/OFF できるため、利便性は確保
- 管理者は必要に応じてサインアウト可能
- GSA インターネットアクセスのポリシーが確実に適用される
セキュリティと運用性のバランスが取れた構成になり、企業環境での GSA クライアント運用が非常に安定します。

