Copilot for Securityから名称が変わりSecurity Copilotとなったサービスのシリーズ、今回はSecurity CopilotとMicrosoft Entra IDの組み合わせでの管理について見ていきます。
※この投稿はなんでもCopilot Advent Calendar 2024 Day9 として投稿しています。
Security Copilotとは
Security CopilotはMicrosoft Defender XDRに対する(Microsoft 365内のインフラ系サービスを対象とした)生成AIのサービスで、自分の会社の構成情報をもとに構成情報の解説をしてくれたり、インシデントであればその状況の解説をしてくれたり、その後に行うべきアクションを指示してくれたりします。これまでにもこのブログではサービス種類ごとに利用感などについて書いてきました。
ゼロトラストの世界では「Identity is the new control plane (IDは(これからの時代の)新しい境界になる)」と言われるぐらい、IDはセキュリティ上とても重要な要素です。
そのIDにセキュリティ侵害があったか、なかったか、そして侵害があればその状況を知ることができるのがSecurity CopilotをEntra IDと組み合わせて利用するメリットになります。
早速見ていきましょう!
Security Copilot in Entra のスキル
Security Copilotの中で学習・推論に利用できる分野を「スキル」と表現するのですが、Microsoft Entra IDに関連するスキルとしてはユーザーに関連する情報、特にサインインに関わる情報が利用できるようです。
ですので
・ユーザーが所属するグループやロールについて
・ユーザーのサインイン失敗やリスクのあるサインインに関して
・監査ログから管理者が行った操作について
などがSecurity Copilotの中でできる操作になります。
エンタープライズアプリケーションのSAML設定に関するトラブルシューティングだったり、ぐちゃぐちゃになっている条件付きアクセス設定とか解説してくれたら本当は嬉しんですけどね..
ビルトインのアイコンから調査する
Security CopilotのSCUを購入するとMicrosoft Entra管理センターにあるCopilotアイコンが利用できるようになります。
一番わかりやすいのは画面右上にある[Copilot]ボタンですが、
画面左側にある 保護 > Identity Protection からリスクのあるユーザーのアラートを要約してくれます。
スタンドアロンから調査する
Microsoft Entra管理センターのメニューにないことを聞きたければスタンドアロンを使います。もちろんMicrosoft Entra管理センターの[Copilot]ボタンを使って質問しても良いんだけど、スタンドアロンの場合はサンプルプロンプト集を使って質問したり
プロンプトブックを使って聞きたいことをまとめて質問してくれたりするので
Copilotを使って調べたいこと、聞きたいことがまとまっている人はMicrosoft Entra管理センターから質問しても良いけど、そもそも何を聞けばよいかわからない.. という人にはスタンドアロン型の設定はお勧めです。
実際に使ってみましょう!
まずはサンプルプロンプトから[User Authentication]というプロンプトを使ってユーザーが利用するサインイン方法を追跡してみましょう。サンプルプロンプトを選択して、ユーザーのUPNを入力すると
こんな感じで結果が返ってきました。
これを見るとWindows Hello for Businessを利用しているデバイス、Microsoft Authenticatorを利用しているデバイスなどが確認できるのと当時にパスワードはどこのデバイスでも使っていないと出ているので、ちゃんとパスワードレス認証を使っているな!ってことがわかります。
デバイス名を塗りつぶしてしまっているのでわかりにくいのですが、Entra IDに登録されたデバイスが認証に使われている場合はデバイス名がちゃんと表示されます。(登録されていない場合はそのデバイスに対して一意に割り当てられたIDが表示されるので、どのデバイスなのか、よくわかりません)
今度はプロンプトブックを使ってみましょう。Entra関連のプロンプトブックに [Microsoft User Analysis] というものがあるので、これを使って特定ユーザーの詳細情報を調べていきましょう。UPNにユーザー名、durationに対象調査期間 (日数) をそれぞれ入れて実行します。
すると1つずつ順番に質問に答えてくれます。
最初の質問:ユーザー情報の詳細教えて
ユーザーの表示名からUPN、ID、作成日などが確認できます。
2番目の質問:ユーザーに関連付けられているデバイスを教えて
Intuneに登録されたデバイスと、そうでないデバイスに分かれて表示してくれます
※そうでないデバイスの一覧は画面が切れちゃって表示されていないです、ごめんなさい
以降は省略しますが、このプロンプトブックでは次のことを質問してくれます。
・上記のユーザーにはどのような認証方法が設定されていますか?
・上記のユーザーは、過去 30 日間にサインインに失敗しましたか? はいの場合、失敗した各サインインの場所とIPアドレスを列挙してください
・上記ユーザーの過去30日間の監査ログを表示してください
・Purviewから上記ユーザーが過去30日間に行った活動をリストアップしてください
・上記ユーザーのMicrosoft Defender for Identityサマリーを表示してください
こうした情報は自力で頑張ればCopilotを使わなくても確認できます。だけど、どこになんの情報があるかわからない、調べるの面倒、という人は便利だと思います。
便利だけどお高いんでしょ?
それは否定しないです。プロンプトブックにあった8つの質問を投げたら、それだけで5SCUほど消費しました。自分の妻にクレジットカードを渡して自由に買い物をさせるかのような恐ろしさがあります。「エルメスのバーキン買っちゃった!かわいいでしょ?」ってSecurity Copilotが語り掛けてきているようにしか見えませんw
あと、従業員雇うのに比べれば安いっていう人がいますが、重課金を経験したことのある私にはそんなこと言えません。
ただ愚痴ばかり言っても始まらないので、効果的な使い方を考えてみましょう。
そもそもプロンプトブックに書いてあること、全部聞く必要あります?
プロンプトブックはブック自体をコピーすればオリジナルのプロンプトブックを作れるので、そこから不要なプロンプトを削除すればスリム化できます。
また、プロンプトブックにある特定のプロンプトだけ実行したければ、そこの文言だけコピペしてプロンプトに打ち込めばよいのです。
例えば先ほどのプロンプトブックにこんなプロンプトがありましたが
From Purview, list the activities performed by above user in the last 30
(Purviewから上記ユーザーが過去30日間に行った活動をリストアップしてください)
これを使いたい場合、プロンプトを次のように書き換えて使うのです。
From Purview, list the activities performed by xxx@xxx.com in the last 30
太字部分にユーザー名を入れて実行すれば、そのユーザーが過去30日で行ったインサイダーリスク管理に引っ掛かった操作があぶりだされます。
下の画面だと5つのファイルを印刷したってことがわかります。
それがわかったら、そこから話を展開していけばよいのです。
例えば「そのユーザーが印刷したファイルを教えてくれ」と聞けば、よろしくないアクティビティの詳細がわかりますよね
このような要領で、わからないから何でも聞いてしまうのではなく、プロンプトのリスクの中から「これよさそう」ってものを選択してピンポイントで質問する
そうすることでコストをある程度抑えながら必要なことを調べられるようになると思います。
Entra関係ない気がしますが参考になれば幸いです。