【 Connect-MgGraph 】コマンドレット――Azure Active Directoryに接続する:Windows PowerShell基本Tips(45)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Connect-MgGraph」コマンドレットを解説します。
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Azure Active Directory」(Azure AD)に接続する「Connect-MgGraph」コマンドレットを解説します。
Connect-MgGraphコマンドレットとは?
これまで、Azure ADのコマンドレットについては「*-AzureAD*」というタイプのコマンドレットを利用してきましたが、これらのコマンドレットが将来的に廃止されることがMicrosoftから発表されました。
- Azure AD Graph / MSOnline PowerShellモジュール利用状況の調べ方(Japan Azure Identity Support Blog)
本稿執筆時点(2022年9月末)でも代替のコマンドが徐々に用意されてきていますので、今回からは代替で利用可能なコマンドレットについて解説していきます。
今回紹介する「Connect-MgGraph」は、PowerShellを利用して「Microsoft Graph API」に接続するためのコマンドレットですが、Azure ADに接続する際にも使われます(これまでAzure ADへの接続には「Connect-AzureAD」コマンドレットが使われていました。詳しくは、本連載第30回をご覧ください)。
なお、Connect-MgGraphコマンドレットはWindowsの標準搭載のコマンドレットではないため、本連載第19回で解説した「Install-Module」コマンドレットを利用して、事前にコマンドレット群(モジュール)をインストールしておく必要があります(Install-Module Microsoft.Graph)。
Connect-MgGraphコマンドレットの主なオプション
オプション | 意味 |
---|---|
-Scopes | Azure ADへの接続に使用するアクセス許可を指定する。省略可能 |
-UseDeviceAuthentication | ブラウザを利用して認証する。省略可能 |
-TenantId | 接続先となるAzure ADのテナント(ディレクトリ)IDを指定する。省略可能 |
-CertificateThumbprint | 資格情報の代わりに証明書を利用してAzure ADに接続する。省略可能 |
-ClientId | 接続先となるAzure ADのアプリケーション(クライアント)IDを指定する。省略可能 |
資格情報を指定してAzure ADに接続する
Connect-MgGraphコマンドレットは、Microsoft Graph APIに接続するためのコマンドレットであるため、Azure ADを操作するには事前に必要なアクセス許可を指定しなければなりません。(画面1)。また、Microsoft Azureのテナントで初めてConnect-MgGraphコマンドレットを実行する際には、アクセス許可の同意を求めるダイアログボックスが表示されるので、「承諾」をクリックしてアクセス許可を利用できるようにしてください。
コマンドレット実行例
Connect-MgGraph -Scopes "Organization.Read.All","User.ReadWrite.All"
ブラウザを使用してAzure ADに接続する
Connect-MgGraphコマンドレットでAzure ADに接続すると資格情報が求められますが、その操作をブラウザ経由で行うようにすることができます(画面2)。これによりセッションがデバイス内で維持されるため、PowerShell画面を閉じてしまっても、次回接続時に改めて資格情報を入力する必要がなくなります。
コマンドレット実行例
Connect-MgGraph -UseDeviceAuthentication
画面2 Connect-MgGraphコマンドレットに続けて、「-UseDeviceAuthentication」オプションを指定すると、ブラウザで認証するためのURLとワンタイムパスコードが表示される。指示に従ってURLにアクセスすると認証を開始できる
証明書を利用してAzure ADに接続する
資格情報を利用してAzure ADへ接続する場合は、接続時にユーザーが資格情報を手動で入力する必要があります。そこで証明書を利用することで、ユーザーが資格情報を入力することなく接続を完了できるようになります(画面3)。
なお、証明書は「Azure AD管理センター」から事前に作成、登録しておく必要があります。登録方法については日本マイクロソフトのサポート情報ブログを参照してください。
コマンドレット実行例
Connect-MgGraph -Clientid <登録したアプリのアプリケーション(クライアント)ID> -TenantId <アプリを登録したテナントのテナント(ディレクトリ)ID> -CertificateThumbprint <証明書の母印>
画面3 アプリの登録で事前に生成されたアプリケーションIDとディレクトリID、そして登録した証明書の母印情報をそれぞれ指定してAzure ADへ接続している。この接続方法の場合は、資格情報を入力する画面は表示されない
筆者紹介
国井 傑(くにい すぐる)
株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.