Azure ポータルの [アプリの登録] で [サポートされるレガシ API] から Exchange を選択できない

Azure ポータルで Azure AD にアプリを登録した後、[API のアクセス許可] – [アクセス許可の追加] からアプリの使用するアクセス許可を事前に登録する場合があります。以前は以下のようにこの画面の [サポートされるレガシ API] に Exchange がありましたが、2020/11/18 ごろから Exchange は無くなりました。

これは、Outlook REST API の廃止がアナウンスされたことに起因するものです。Outlook REST API を使用する新しいアプリが登録できないように、[サポートされるレガシ API] から Exchange が削除されました。

Outlook REST API も含め、複数の API がこの GUI の変更の影響を受けるため、それぞれ説明します。

Outlook REST API への影響

Outlook REST API のアプリケーションのアクセス許可を使用する新しいアプリの登録ができなくなります。これに関しては代替案は正式には提供されていません。Outlook REST API は廃止されますので、これからアプリケーションの開発を行う場合は Microsoft Graph を利用するようにする必要があります。

Outlook REST API の委任されたアクセス許可を使用する新しいアプリに関しては、Microsoft Identity Platform v2 エンドポイントを使用してアクセス トークンを取得するのであれば Azure AD に事前にアクセス許可を登録する必要は無いので、影響は受けません。当ブログの Outlook REST API の試し方 では Microsoft Identity Platform v2 エンドポイントを使用する方法を記載しているため、引き続き動作確認などを行うことが可能です。ただし Outlook REST API が廃止されることには変わりないので、これからアプリケーションの開発を行う場合は Microsoft Graph を利用するようにする必要があります。

EWS への影響

EWS のアプリケーションのアクセス許可を使用する新しいアプリ (full_access_as_app の権限を使用するアプリ) の登録ができなくなります。この点については EWS で OAuth を使用する方法の公開情報 が修正されており、アプリのマニフェストを書き換えることで対応が可能です。

EWS の委任されたアクセス許可を使用する新しいアプリ (EWS.AccessAsUser.All の権限を使用するアプリ) については、今回の Azure ポータルの変更による影響を通常は受けません。Microsoft Identity Platform v2 エンドポイントを使用してアクセス トークンを取得する場合、アクセス許可をアプリ側から動的に指定することが可能であり、Azure AD に事前に登録しておく必要がないためです。v1 エンドポイントを使用してアクセス トークンの取得を行いたい場合は新規アプリの登録に影響しますが、EWS で OAuth を使用する方法の公開情報 では委任されたアクセス許可を使用する場合の実装例として MSAL を使用しているため、内部で Microsoft Identity Platform v2 エンドポイントが使用されています。そのため、公開情報に従ってアプリの登録と実装を行えば問題ありません。

Exchange Online PowerShell V2 Module への影響

証明書を使用した Exchange Online への PowerShell 接続を行うにはアプリの登録が必要ですが、この登録ができなくなります。公開情報が更新されており、アプリのマニフェストを書き換えることで登録を行う方法が記載されています。当ブログの記事も更新してあり、マニフェストを書き換える方法を公開しています。