Azure AD アカウントの認証方法レポートの作成

Azure AD アカウントの認証方法レポートの作成

古いモジュールから Microsoft Graph SDK for PowerShell への移行

Microsoft 365 テナントは、多くの場合、Azure AD アカウントの正常性を理解するためのレポートを作成します。2021 年 6 月、Microsoft は Microsoft Online Services (MSOL) モジュールと Azure AD PowerShell モジュールから移行し、2022 年 6 月末に Azure AD Graph API を非推奨にすると発表しました。お客様からのフィードバックにより、マイクロソフトは 非推奨日を 2022 年末にプッシュする. ただし、Azure AD Graph API の記述は壁に貼られており、グラフ ベースのインターフェイスに移行する時が来ました。

Azure AD データへの PowerShell アクセスに対する今後の焦点は、Microsoft Graph SDK for PowerShell です。古いモジュールに影響を与える唯一の明確なドロップデッド日は、Microsoftが新しいライセンス管理プラットフォームに移行する2022年6月30日です。この時点で、ユーザー アカウントのライセンス情報を取得するコマンドレットは動作を停止します。テナント ライセンス管理に使用されているスクリプトが更新されていない場合は、緊急の注意が必要です。

私は2018年に書かれたMFAステータススクリプトを持っています。スクリプトは、MSOL コマンドレットを使用して、各ユーザー アカウントの “強力な認証方法" を確認し、報告します。多要素認証の状態は、次のような新しい方法に対応するために、2018年以降に進んでいます。 FIDO2 キー パスワードレス認証。これらのメソッドは、MSOL コマンドレットでは処理されません。したがって、別のアプローチを取る時が来ました。

Microsoft Graph SDK for PowerShell for Azure AD アクセスを使用するという Microsoft の方向性を考えると、これが正しい道筋であるように思えます。私はSDKで妥当な量を行い、私の進歩を報告するためにいくつかの記事を書いています。たとえば、次の方法は次のとおりです。 テナントのライセンス レポートを生成する.

完璧なSDKではない

SDKは完璧ではありません。基本的に、そのコマンドレットは Graph API クエリのラッパーです。グラフ API の処理に慣れている場合は、SDK コマンドレットが第 2 の性質になります。そうでない場合は、慣れるまでに時間がかかります。

慣れ親しんでも、SDK コマンドレットのドキュメントの状態が悪いわけではありません。Microsoft では、自動テキスト生成ツールを使用して、ソース コードからドキュメントを作成します。その結果は、砂漠の雪だるまのように、特に実用的な例や入力に関する説明の点で、しばしば有用です。繰り返しになりますが、Graph API を知っていれば、ドキュメントの内容に驚くことはないでしょうが、ドキュメントの現在の状態は Microsoft の功績ではなく、導入の障壁にもなりません。

レポート作成の手順

目的は、Azure AD アカウントで使用される認証方法を示すレポートを作成し、注意を引く可能性のあるアカウントを強調表示することです (できれば、多要素認証を有効にすることによって)。最近のマイクロソフトのレポートによると、 Microsoft 365 アカウントの 22% のみが多要素認証を使用しています.これは過去に比べて改善されていますが、まだパーセンテージが低すぎます。おそらく人々は知らないでしょう マイクロソフトが MFA 処理で行った最近の改善点 人々が使いやすくするために。

レポートを作成するために書いたスクリプトは、次のことを行います。

  • テナント識別子を Get-AzureADTenantDetail コマンドレット。識別子はグラフに接続するために必要ですが、Azure AD モジュールを読み込む必要がない場合は、識別子をハードコーディングできます。
  • 次のアクセス許可で Graph エンドポイントに接続します。 UserAuthenticationMethod.Read.All, Directory.Read.All, User.Read.All, Auditlog.Read.All. SDK のサービス プリンシパルに administrat9 またはアクセス許可の同意がない場合は、この時点で付与する必要があります。
  • グラフプロファイルをベータに設定して、すべてのユーザーアカウントデータにアクセスできることを確認します。
  • Get-MgUser Azure AD メンバー アカウントのセットを取得するコマンドレット。返されるセットにはゲスト アカウントは含まれませんが、共有メールボックスとリソース メールボックスに使用されるアカウントが含まれます。
  • 各アカウントをループして、認証方法を確認します。アクティブなアカウントのみがチェックされるようにするために、スクリプトは Get-MgAuditLogSignIn サインイン レコードを検索するコマンドレット。このチェックは 30 日間しかさかのぼることができません。
  • アクティブなアカウントごとに、 Get-MgUserAuthenticationMethod アカウントによって使用される認証方法を返すコマンドレット。アカウントは、パスワードなしから Microsoft 認証アプリまで、すべての有効な認証方法を使用できます。初めてのアカウントメソッドを使用すると、Azure AD はそれをアカウントで使用されるリストに追加します。
  • メソッドごとに、いくつかの情報を取得します。
  • 各方法のチェック結果を報告する。
  • すべてのユーザー アカウントを処理した後、認証方法が使用可能なユーザーの一覧を作成し、各アカウントをチェックして、強力な (MFA) 方法の 1 つが記録されているかどうかを確認します。
  • 最終レポートを作成し、CSVファイルに出力します。

図 1 に、生成される出力の種類の例を示します。

Azure AD アカウントと認証方法
図 1: Azure AD アカウントの認証方法レポート

できます GitHub からスクリプトをダウンロードする.いつものように、このコードは、完全にベイクされたソリューションではなく、プリンシパルを説明することを目的としています。

チェックの自動化

このようなスクリプトは、 Azure オートメーション運用手順書による実行.スケジュールに従って実行でき、その結果は管理者に電子メールで送信されてアクションが行われます。適切に保護されているアカウントの割合を増やすことによって組織のセキュリティ体制を改善するためのリマインダーを毎週または毎月取得することは、良いことばかりですよね。


Microsoft 365 テナント管理者が利用できるデータを活用する方法については、 Office 365 for IT プロフェッショナル 電子ブック。私たちは物事がどのように機能するかを理解するのが大好きです。

未分類

Posted by admin