Power Automate の HTTP アクションと HTTP with Azure AD アクションの違いについて
はじめに
Power Automate には Microsoft Graph をはじめとした Azure AD で保護された API を呼び出す方法として 2 種類の方法が提供されています。1 つは HTTP アクション、もう 1 つは HTTP with Azure AD アクションです。どちらも API の呼び出しができるという点では同じですが、どのような場合にどちらを使うのが適切かという観点で違いを確認します。
HTTP アクション
HTTP アクションは Power Automate の組み込みアクションとして定義されています。汎用的なアクションであり、公開されているさまざまな API を呼び出すことができます。Azure AD で保護された API を呼び出す場合は 認証 で Active Directory OAuth を選択してアプリケーションを指定します。または 未加工 を選択してアクセス トークンの指定も可能です。
Active Directory OAuth を選択した場合は Client Credential Grant、つまりアプリケーションのアクセス許可で動作する点に注意が必要です。委任されたアクセス許可で動作させたい場合は、何らかの方法でアクセス トークンを取得して指定する必要があります。
また、いずれの場合も Azure AD アプリケーションの登録が必要です。
HTTP with Azure AD アクション
HTTP with Azure AD アクションはプレミアムコネクタとして定義されています。HTTP アクションとは異なり、Azure AD で保護された API を呼び出す前提となっています。
アクションを追加すると 基本リソース URL と Azure AD リソース URL (アプリケーション ID URL) を指定する必要があります。
サインイン をクリックすると、ログイン用のポップアップが表示されます。ログインすることで API を呼び出すことができるようになります。
HTTP with Azure AD アクションは Authorization Code Grant、つまり委任されたアクセス許可で動作します。アプリケーションのアクセス許可で動作させることはできません。また、コネクタに用意されている Azure AD アプリケーションを使用するため、独自に Azure AD アプリケーションを用意する必要はありません。
おわりに
ユーザーが Microsoft Graph を呼び出したい場合は、HTTP with Azure AD アクションを利用すると非常に簡単です。より高度なことを行いたい場合は HTTP アクションを使うことになります。
なお、組織内で開発した独自の API を呼び出したい場合は、承認済みのクライアント アプリケーション にコネクタが使用するアプリケーション ID (7ab7862c-4c57-491e-8a45-d52a7e023983
) を指定してください。
Discussion