
- MC1248389 の内容とは?
- 影響は?
- Credential パラメーターの役割とは?
- なぜCredential パラメーターが問題視されているのか?
- Credential をスクリプトで使っていた場合の代替案
- Credential パラメーターを利用しているのか確認するには?
MC1248389 の内容とは?
Connect-ExchangeOnline および Connect-IppsSession コマンドレット で Credential パラメーターが利用できなくなるという内容です。
7 月以降にリリースされる ExchangeOnline モジュールでは、Creadential パラメーターは利用することができませんが、7 月以前にリリースされている ExchangeOnline モジュールでは、Credential パラメーターが引き続き利用できます。
ただし、Credential パラメーターがサーバー側で別途廃止されることが予定されていますので、今後、7 月以前にリリースされている ExchangeOnline モジュールでも利用できなくなります。
影響は?
Connect-ExchangeOnline と Connect-IppsSession コマンドレット で Credential パラメーターが利用できなくなるという点だけですので、Connect-ExchangeOnline と Connect-IppsSession コマンドレット で Credential パラメーターを利用していなければ影響はありません。
多いのがスクリプトなどで Credential パラメーターを利用している場合は、Credential パラメーターを使わない構成に変更しなければいけません。
Credential パラメーターの役割とは?
Credential パラメーターは、PSCredential オブジェクト(ユーザー名+パスワード)を指定して、対話なしで Exchange Online に接続するためのパラメーターです。
この方式は内部的に ROPC(Resource Owner Password Credentials)フローを使用します。
使われていた代表的なケース
- タスクスケジューラ等での非対話型スクリプト
- MFA を使っていない管理者アカウントでの認証
なぜCredential パラメーターが問題視されているのか?
Credential パラメーターが依存している ROPC フローには、以下の重大な制約があります。
- MFA 非対応
- 条件付きアクセス非対応
- パスワードを直接扱う(セキュリティリスク)
Microsoft は MFA を必須とする方向へ全面移行しており、ROPC 自体が MSAL v4.74.0 以降で非推奨になっています。
そのため、Credential パラメーターは Microsoft のセキュリティ基準を満たせないという位置付けになっています。
Credential をスクリプトで使っていた場合の代替案
Credential をスクリプトで使っていた場合の代替案は、Microsoft が公式に「シナリオ別」に整理していて、主に次の3つの方法があります。
Credential は ROPC という MFA 非対応の古い方式に依存するため、MFA/条件付きアクセスに対応できないため、2026年7月以降のモジュールでは削除される予定です。
代替案①:対話型サインイン(人が実行するスクリプト向け)
こういう時に最適
- 管理者が手元でスクリプトを実行する(手動運用)
- MFA が有効(当たり前に要求される)
例
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
この方法は モダン認証で MFA/条件付きアクセスに対応します。
Microsoft も管理者が対話的に接続するならこれを推奨しています。
代替案②:アプリ専用認証(App-only:無人実行/スケジュール実行向け)
こういう時に最適
- タスクスケジューラ、CI/CD、サーバー上の定期実行など “人がログインしない自動化”
- Azure の外(オンプレ/他クラウド/ローカル)で動く自動化
Microsoft は、Credential の代わりとして証明書ベース or シークレットベースの App-only が推奨しています。
例(証明書サムプリント)
Connect-ExchangeOnline `
-AppId <AppId> `
-CertificateThumbprint <Thumbprint> `
-Organization "contoso.onmicrosoft.com"
ユーザーのパスワードを保存しない「アプリ(サービスアカウントのようなもの)」として接続するイメージです。
代替案③:マネージド ID(Azure 上の自動化向け・最も安全)
こういう時に最適
- Azure Functions / Automation Account / Runbook など Azure 上で動く無人処理
- “秘密情報(パスワード/シークレット)を置きたくない”
Microsoft は「Azure サービス内の自動化は Managed Identity が理想」と明記しています。
例
Connect-ExchangeOnline -ManagedIdentity
ポイント
- “Azure が面倒な認証を肩代わりしてくれる
- ”証明書やシークレット管理が不要
Credential パラメーターを利用しているのか確認するには?
Connect-ExchangeOnline や Connect-IPPSSession コマンドレットの実行時に Credential パラメーターを使用して認証情報を入力して Exchange Online やセキュリティコンプライアンスセンターに接続を行う場合、「ROPC」 という認証方式による接続方法となり、Microsoft Entra 管理センターの [サインインログ] から確認することが可能です。
Microsoft Entra 管理センターの [サインインログ] を確認する
1. 管理者アカウントより Microsoft Entra 管理センター (https://entra.microsoft.com) にサインインします。
2. 画面左メニューより [監視と正常性] > [サインインログ] の順にクリックします。
3. 検索期間を適宜変更 (過去 7 日間、過去 1 か月など) します。
※ 検索可能な日数は所有するライセンスによって異なり、最大 1 か月間となります。
4. [フィルターの追加] > [アプリケーション] の順に選択し、テキストボックスに "Microsoft Exchange REST API Based Powershell" と入力して [適用] をクリックします。
5. 認証プロトコル の値が "ROPC" と表示されている場合は、Credential パラメーターを使用した接続が行われておりますため、[ユーザー] の列から実行したユーザーを確認することができます。
※ 既定の状態では「認証プロトコル」 の項目は表示しない設定のため、画面上部の [ビューの管理] > [列の編集] とクリックし、「認証プロトコル」のチェックボックスにチェックをつ
け、[保存] をクリックしてください。