はじめに
みなさんこんにちは。tsuji です。
突然ですが、ローカル管理者管理の運用にお悩みはありませんか?
今回は、2023 年 3 月にパブリック プレビューでリリースされた Intune でローカル管理者を管理できる新機能 Endpoint Privilege Management (EPM) のレビューブログを書きたいと思います。
※ 2023/08 追記:ローカル管理者管理について、Windows LAPS for Entra ID:管理者パスワード複雑化や権限剥奪運用の足がかりに を新しく投稿しましたので、こちらもぜひお読みください!!
2023/03/31 時点のパブリック プレビュー中の機能検証となり、GA 後は仕様変更や機能追加などにより内容が変わっている可能性がありますのでその点ご注意ください。
このブログの書かれていること
- Intune Suite と呼ばれる新しいライセンス体系が発表され、その中で Endpoint Privilege Management(EPM)と呼ばれる機能がパブリックプレビューになった
- EPM では Windows で一時的にローカル特権の実行を可能とする機能が提供されるが、レポーティングが動作しないことや現段階では実行ファイル形式 (.exe) のみサポートなど、パブリックプレビュー段階では品質面での粗が確認できた
- 一方で、これまで仕方なくローカル管理者権限を付与してきた組織は非常に多く、大きな期待を寄せている機能のため今後の活発なアップデートに期待
Endpoint Privilege Management とは
EPM は、Windows のローカル管理者をジャストインタイムで利用できるようにするソリューションです。例えばユーザーがローカル管理者権限が必要なときにローカル管理者権限をそのまま付与するのではなく、ユーザーがアプリの昇格要求 (昇格正当性の理由入力など) を行った上で、タスク別に昇格実行させることができます。
また、2023 年 10 月に Intune Suite という新しいライセンス体系が発表され、EPM はその Intune Suite に含まれている機能の一部になります。Intune Suite の登場により Intune のライセンス体系が変わって以下のようになっています。
プラン | 価格 | 説明 |
---|---|---|
Intune Plan 1 | $8.00 | 今まで Microsoft 365 E3/ E5 / F1 / F3 / BP や EMS E3 / E5 などに含まれていた Intune ライセンスと同じものになります。 |
Intune Plan 2 | $4.00 | Intune Plan 1 のアドオンライセンスとなり、Suite の一部のアドオンが利用できます。 |
Intune Suite | $10.00 | Intune Plan 1 のアドオンライセンスとなり、Suite のすべてのアドオンが利用できます。 |
今までの Intune ライセンスの呼び名が Intune Plan 1 となり、Intune Plan 2 / Suite は Intune Plan 1 を持っている前提で追加で利用するライセンスとなります。
Intune Plan 2 や Suite では、以下のアドオン機能が含まれています。
機能 | リリース予定 | 機能が含まれているプラン | 単体価格 |
---|---|---|---|
Microsoft Tunnel | GA 済み | Plan 2 / Suite | – |
特殊なデバイスの管理 | GA 済み | Plan 2 / Suite | – |
リモート ヘルプ | GA 済み | Suite | $3.50 |
Endpoint Privilege Management | 2023/04 GA 予定 | Suite | $3.00 |
高度なエンドポイント分析 | 2023/03 GA 予定 | Suite | – |
高度なアプリ管理 | 2023/05 Preview 予定 | Suite | – |
複数アカウントの管理 | 2023 後半 GA 予定 | Suite | – |
クラウド証明書管理 | 2023 後半 Preview 予定 | Suite | – |
各アドオン機能の詳細についてはこちらのドキュメントをご参照ください。
前提条件
EPM では、以下の前提条件が必要となります。
- EPM ライセンスが付与されていること (パブリック プレビュー時点ではアクティブ化のみ)
- Intune に登録されていること
- Azure AD Join または Hybrid Azure AD Join されていること
- 対象の更新プログラムが適用されていること
- Windows 11 22H1 :KB5023774 以降
- Windows 11 22H2:KB5022913 以降
- Windows 10 20H2 / 21H2 / 22H2:KB5023773 以降
上記の初回リリース更新プログラムは D リリースのため、Windows Update for Businesss (WUfB) や WSUS 管理対象の端末では対象の更新プログラムを受け取れません。EPM のパブリック プレビューを確認したい場合は MS Catalog やオプション更新プログラムを受け取れる端末 (WUfB 管理下にない端末) などで適用が必要となります。
機能概要
EPM では以下の 3 つのタブがあります。
- Policies タブ: 昇格設定ポリシーと昇格ルールポリシー 2 つの設定があり、既定の設定やアプリ個別の昇格ルールなどを設定します。
- Reports タブ: 昇格設定ポリシーや昇格ルールで対象となった昇格レポートのログが確認できます。執筆時点では、このレポート機能はログが表示されず機能しませんでした。
- 再利用可能な設定 (プレビュー) タブ: 昇格ルールポリシーでアプリを制御する際の証明書管理ができます。
昇格設定ポリシーや昇格ルールポリシーを適用すると以下のように昇格の正当性の理由入力や Windows セキュリティ認証を求めた上でアプリをローカル管理者権限で実行できるようになります。
2023/03/31 時点では、exe 実行アプリのみが制御対象で、管理者承認制の機能などまだ実装されていない機能などがあります。
機能詳細
EPM の設定では、昇格設定ポリシーと昇格ルールポリシーの設定が肝になります。特に昇格設定ポリシーは必須のポリシーです。
それぞれ次のような特徴があります。
昇格設定ポリシー:
標準ユーザーが管理者権限での実行を要求したときの既定の昇格動作を構成するために利用します。その他設定では、EPM の有効化や Intune とのデータ共有設定などの構成があります
Default elevation response の項目で昇格する際のデフォルトのユーザーへの要求や拒否設定などを設定します。
昇格ルールポリシー:
昇格設定ポリシーとは別に、アプリ別に昇格要求の処理方法を管理するために利用します。アプリごとの評価の種類 (自動昇格やユーザー確認または自動昇格など)、アプリを識別する設定 (証明書やファイルハッシュなど) があります。
アプリごとに昇格要求処理やアプリを識別するための証明書設定などを構成します。
基本的に EPM で最初に作成するポリシーとしては、昇格設定ポリシーを作成することになり、必要に応じて昇格ルールポリシーを作成するイメージになります。
手順確認
以降では昇格設定ポリシーや昇格ルールポリシーを利用する際の例として、今回は設定の方法や動作の詳細をわかりやすくするため、以下のシナリオにそって説明したいと思います。また、各細かい設定や挙動についてはシナリオ 1 のみに記載します。
- シナリオ 1:すべてのアプリ特権実行を許可制にし、一部のアプリのみ自動昇格にする
- やること
- 昇格設定ポリシー:すべてのアプリの昇格実行に対してユーザー確認を構成する
- 昇格ルールポリシー:特定のアプリに対して自動昇格するよう構成する
- やること
- シナリオ 2:すべてのアプリ特権実行を拒否し、一部のアプリのみ許可制にする
- やること
- 昇格設定ポリシー:すべてのアプリの昇格実行に対して拒否を構成する
- 昇格ルールポリシー:特定のアプリの昇格実行に対してユーザー確認を構成する
- やること
各シナリオでの端末動作確認では、サインインユーザーにローカル管理者権限付与されていないことを前提に説明します。
アクティブ化 (共通)
まず共通の作業として始めに EPM 機能のアクティブ化作業を行います。なお、本作業はパブリック プレビュー時点で実施する作業であり、GA 後は不要になる可能性があります。
1. Intune 管理センターへアクセスします。
2023 年 3 月リリースより Microsoft Endpoint Manager (MEM) は、新しい URL (https://intune.microsoft.com) に変更となり、管理センター名も Microsoft Intune admin center へと変わっています。 今まで利用されていた URL (https://endpoint.microsoft.com) は 2023 年後半に新しい URL へリダイレクトされる予定です。
2. [エンドポイント セキュリティ] > [エンドポイント特権の管理] > [Activate] をクリックします。
シナリオ 1:すべてのアプリ特権実行を許可制にし、一部のアプリのみ自動昇格にする
昇格設定ポリシー:すべてのアプリの昇格実行に対してユーザー確認を構成する
始めに昇格設定ポリシーを作成します。
1. [Policies] タブ > [ポリシーの作成] > [Elevation settings policy] > [作成] ボタンをクリックします。
2. [名前] 欄に任意のポリシー名を入力して次へ進みます。
3. 既定の昇格設定動作を構成します。
- Endpoint Previlege Management:EPM の有効化設定
- Send elevation data for reporting:レポート送信設定 ※ 以下の画面では “Send data to Microsoft” となっていますが名称が変更されました
- Reporting scope:レポートログのスコープ
- Diagnostic data and managed elevations only:データ診断および昇格ルールポリシーで管理される昇格ログが報告されます。
- Diagnostic data and all endpoint elevations:データ診断および EPM 機能の昇格ログすべてが報告されます。
- Diagnostic data only:データの診断のみ報告されます。
- Reporting scope:レポートログのスコープ
- Default elevation response:ユーザーのアプリ昇格実行要求時の既定動作設定
- Deny all requests:アプリ昇格実行をブロック (昇格ルールポリシーでアプリ個別に許可)
- Require user confirmation:アプリ昇格実行時に特定のユーザー確認を求める ※ 本シナリオは当該設定を構成
- Business justification:正当な理由を求める入力画面の表示
- Windows authnetication:Windows セキュリティ認証画面の表示
- 構成されていません
- Send elevation data for reporting:レポート送信設定 ※ 以下の画面では “Send data to Microsoft” となっていますが名称が変更されました
4. その他、割り当てグループなどを設定して作成を完了します。
5. 構成した昇格設定ポリシーが [Policies] タブに表示されます。
6. 昇格設定ポリシーを設定すると対象となった端末に EPM エージェントが展開されます。
7. 昇格設定ポリシーが展開 (EPM エージェントが配布) されると以下のように実行したいアプリを右クリック > [Run with elevated access] で実行が可能になります。
8. 昇格実行を行うと昇格設定ポリシーで構成したユーザー確認が表示されるため、各作業を実施してローカル管理者権限で実行できるようになります。Windows セキュリティ画面では、Azure AD ユーザーもしくは Azure AD 同期ユーザーのパスワードを入力します。
2023/03/31 時点では、正当な理由を入力する画面は英語しか入力できません。
昇格ルールポリシー:特定のアプリに対して自動昇格するよう構成する
自動昇格の対象とするアプリ (今回は WinMerge) を識別するための構成を行います。アプリを識別するためには、ファイルハッシュや証明書によって識別する必要があるのですが、ファイルハッシュだとアプリのバージョンアップなどによって制御対象から外れる頻度が高くなってしまいます。
証明書の場合だとアプリのバージョンがアップデートされてもある一定期間は同じ証明書が利用されることが多いので今回は証明書を利用した制御を例に記載します。
昇格ルールポリシーを作成する前にアプリを識別するための証明書を取得します。
アプリの証明書を取得するにはアプリがデジタル署名されている必要があります。サードパーティ製のアプリでは、デジタル署名されていないアプリもあるため、署名されていないアプリではファイルハッシュなどを利用することになります。
デジタル署名から証明書をエクスポートするには、以下のアプリのプロパティから取得する方法と PowerShell で取得する方法があります。
アプリのプロパティから取得する方法:
アプリによってはデュアル署名 (SHA1、SHA256) されているものがあり、デュアル署名の中でも別々の証明書になっている場合はそれぞれエクスポートする必要があります。ただし、SHA1 は廃止の方向に向かっているため、そもそもデュアル署名が今後利用されなくなり、考慮は不要になるかもしれません。
PowerShell から取得する方法:
Get-AuthenticodeSignature <対象アプリのパス> | Select-Object -ExpandProperty SignerCertificate | Export-Certificate -Type CERT -FilePath <証明書エクスポート先のパス>
次に昇格ルールポリシー内で証明書を再利用できるよう設定を行います。1 度しか利用しない場合は、昇格ルールポリシー内で設定することも可能です。
1. Intune 管理センターに戻り、[再利用可能な設定] タブ > [追加] をクリックします。
2. 先ほどエクスポートしたファイルを取り込み設定を完了します。
次に昇格ルールポリシーを作成します。
1. [Policies] タブ > [ポリシーの作成] > [Elevation rules policy] > [作成] ボタンをクリックします。
2. [名前] 欄に任意のポリシー名を設定後、次へ進み [インスタンスの編集] リンクをクリックします。
3. 既定の種類 (“自動” or “ユーザーが確認しました”)の選択とファイル名を指定 (“自動” を選んだ場合は必須の設定) します。
※ 本シナリオでは “自動” を選択
4. 続いて証明書の設定を行います。
- 署名元
- 再利用可能設定で証明書ファイルを利用する:あらかじめ [再利用可能な設定] タブでインポートしていた証明書を利用する
- 構成されていません:ファイル名やファイルハッシュを指定
- 証明書ファイルをアップロードする:証明書をインポートする
デュアル証明書で 2 つの証明書を設定する必要がある場合は、[保存] したあと [追加] ボタンで別のアプリ昇格ルールを作成してもう一つの証明書を指定します。 また、2023/03/31 時点では、証明書の種類で “証明機関” を選択するとうまく昇格できないため、現時点では発行元を使用します。この問題は今後のリリースで解決されるようです。
5. その他、割り当てグループなどを設定して作成を完了します。
6. 構成した昇格ルールポリシーが [Policies] タブに表示されます。
7. 昇格ルールポリシーが端末に適用されると以下のようにユーザー確認画面が表示されず自動昇格でアプリを実行できます。
シナリオ 2:すべてのアプリ特権実行を拒否し、一部のアプリのみ許可制にする
昇格設定ポリシー:すべてのアプリの昇格実行に対して拒否を構成する
1. シナリオ 1 と同様に昇格設定ポリシーを作成して設定内容を以下で構成します。
- Endpoint Previlege Management:Enabled
- Send elevation data for reporting:Yes
- Reporting scope:Diagnostic data and all endpoint elevations
- Default elevation response:Deny all requests (アプリ昇格実行をブロック)
- Send elevation data for reporting:Yes
2. 昇格設定ポリシーが適用された後、端末で各アプリで “Run with elevated access” を実行すると以下のように昇格実行が拒否されます。
昇格ルールポリシー:特定のアプリの昇格実行に対してユーザー確認を構成する
1. シナリオ 1 と同様に昇格ルールポリシーを作成します。
2. アプリ個別の昇格ルール設定で昇格の種類を以下のように構成します。
3. 証明書の構成を行います。証明書の種類を “発行元” にしている場合はアプリのプロパティ詳細で設定されている項目も利用できる場合があります。
4. 昇格ルールポリシーを端末に適用されると設定したアプリのみ以下のように昇格実行ができるようになります。
気になる挙動や要望
気になる挙動:
- 正当理由を入力する画面で日本語入力がまだできませんでした
- 昇格ルールポリシーで追加を押した瞬間に怒られます(気持ち的には保存してからエラー出してほしいところ)
- ユーザー確認の構成ではファイル名指定せず昇格できるのに、自動の場合はファイル名指定が必要 (証明書でアプリ識別できるならユーザー確認の場合と同じなのでファイル名指定なしでできるオプションもあっても良いかなっと)
- 初めて昇格設定ポリシーを適用した際に設定は反映されているにも関わらずエラーが表示されました
レポートのスコープ設定を変更するとなぜか競合 (初回利用のため昇格設定ポリシーは 1 つのみ)
さらにスコープを戻すと正常適用になったり、他の端末で試すと現象が再発しなかったためちょっとこちらの原因は不明です…
- レポート機能がまだ利用できない
要望:
- アプリごとに証明書をエクスポートしたり、発行元の情報を入力したりするのが手間ひまかかるので AppLocker のようにアプリファイルの参照で情報取得や指定できるような感じの UI を追加してもらえると嬉しいですね
- サードパーティ製アプリなどで証明書管理するのは大変だと思うので、せめて Windows OS 標準アプリや機能などについては、証明書等のインポートを必要とせず簡易的な実行管理できる機能があると良いですね
- exe 以外のサポートや、ユーザー申請+管理者による承認機能 (今後リリース予定)
- Windows 11 では、”[Run with elevated access]” がプロパティの [その他のオプションを表示] の選択の下に表示される仕様も修正されて欲しい(修正予定)
おまけ
今回のブログでは、ローカル管理者権限がない状態での動作説明を行っていましたが、そもそもローカル管理者権限が付与されている場合はどのように剥奪する方法があるかは触れていませんでしたのでご紹介いたします。ちなみにローカル管理者権限が付与されている場合は、UAC などを通してローカル管理者権限の実行が通常通り可能になります。
Hybrid Azure AD Join 端末の場合は、GPO のグループ制限ポリシーでローカル管理者を制限できるかと思いますので、こちらの説明は省略します。
Azure AD Join 端末では、Intune で以下のエンドポイント セキュリティのポリシーよりローカル管理者の剥奪が可能です。
また、Azure AD Join 端末では既定の Administrator アカウントの他にグローバル管理者とデバイス管理者の SID が Administrators グループに含まれています。そのため、グローバル管理者やデバイス管理者ロールが付与されたアカウントで端末にサインインした場合は、その端末のローカル管理者権限を持っていることになります。
Azure AD Join の既定の構成と同じにしたい場合は、以下のように設定を行います。
グローバル管理者やデバイス管理者の SID を Azure AD テナントから取得したい場合は、以下のブログを参考に PowerShell で取得することが可能です。
まとめ
いかがでしたでしょうか。ついモリモリで書いてしまいましたが、どのような感じで利用するのか雰囲気伝わりましたでしょうか。まだ機能として足りないものや実用面で耐えれない部分がありますが、これからどんどん修正や機能追加されていくと思いますので、期待を込めて待ちましょう!!