MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【Exchange Online】Exchange Online PowerShell V2モジュールに証明書で接続する
profile-img
投稿者: muto-sanさん
投稿日:2020/11/16 16:24
更新日:
like-img
分類
技術
テクノロジー
全般
キャリア
運用・保守 / 構築
投稿内容
Microsoft 365の管理操作はPowerShellスクリプトによって自動化を構成することが多くあります。
この場合、スクリプト内にアカウント認証を行う仕組みを用意する必要があり、例として下記のような方法があります。

1. スクリプト内にアカウント、パスワード文字列(暗号化文字列)を埋め込む

2. パスワード文字列(暗号化文字列)を記述したファイルを用意し、スクリプト内でファイルを読み込む


しかし、Microsoft 365の管理者アカウントは多要素認証により保護することが推奨されており、
以上の方法では第二要素での認証を自動化できないため管理操作の自動化を行えません。
(パスワード認証のみで運用することも可能ですが、セキュリティの面からやるべきではありません)


画面1. 多要素認証が設定された管理者アカウントでログインを行った場合


管理アカウントの多要素認証が有効化された状態で管理操作の自動化を行うためには、証明書認証による接続を構成する必要があります。

Exchange Onlineを例に、証明書認証を構成してみます。

1. 自己証明書の作成

 下記コマンドを実行して、証明書の作成を行います。
※ 管理者権限で実行します
======================
$newCert = New-SelfSignedCertificate -Subject "CN=muto-san" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature

Export-Certificate -Cert $newCert -FilePath .\muto-san.cer
======================


2. Azure AD管理センターからアプリを登録






3. 証明書のアップロード







4. アクセス許可とExchange管理ロールの設定























5. 証明書情報を記述して接続コマンドを実行

アプリケーションID、証明書Thumbprint、プライマリドメイン名を使用して接続します。








少し手間ですが、これで管理アカウントの多要素認証を行わずにログインすることが出来ました。
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3