見出し画像

Microsoft Graph APIを使えるようにする

2022年に以下の問題が発生するため新仕様のMicrosoft Graph APIを入れる。

なお、廃止されるのはライセンス管理関連のみ。

Microsoft Graph PowerShellを入れてみる

Powershellを管理者権限で開き、以下を実行。思ったより時間がかかる、なんか終わらない。くれぐれもx86で実行しないように。

Install-Module Microsoft.Graph

サービス プリンシパル(アプリケーション)を使用してAzureADの認証をしてみる。

以下を参考にやってみる

「Azure AD Portal」- 「Azure Active Directory」 - 「アプリの登録」 - 「新規登録」と開く

名前:任意
サポートされているアカウントの種類:デフォルト
で登録する。

画像1

「アプリケーション (クライアント) ID」と「ディレクトリ (テナント) ID」の値を保存する。

画像2

「API のアクセス許可」 - 「+アクセス許可の追加 を開く

画像3

 「Microsoft Graph 」を開く

画像4

「アプリケーションの許可」を開く

画像5

Organization.Read.Allと

画像7

User.Read.Allをチェックを入れて、「アクセスの許可」をクリック

画像6

「(ドメイン)管理者の同意を与えます」をクリックし、「はい」を選択

画像8

証明書の発行のために以下を実行する。

$mycert = New-SelfSignedCertificate -Subject "CN=SelfSignedCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

# ".\SelfSignedCert.cer" は、エクスポート先のパスを適宜変更すること。
$mycert | Export-Certificate -FilePath ".\SelfSignedCert.cer"  
$mycert | Select Thumbprint

出来た。

画像9

Azure portalの画面に戻り、「証明書とシークレット」-「証明書」-「証明書のアップロード」と開き、先ほど作成したファイルをアップロードする。

画像10

アップロードした証明書の「拇印」文字列を後で使うので控える
ちなみに有効期限は1年間だった。

画像11

Powershellで以下を実行する

Connect-MgGraph -Clientid "<登録したアプリのアプリケーション (クライアント) ID>" -TenantId "<アプリを登録したテナントのディレクトリ (テナント) ID>" -CertificateThumbprint "<証明書の拇印>"

すると以下が表示されると成功

Welcome To Microsoft Graph!

証明書を生成したPCでしか使えないものと思われる。(3台で試した。)

切断時は以下を実行

Disconnect-MgGraph

今回は以上

この記事が気に入ったらサポートをしてみませんか?