対象となる事象
Shirofune で Microsoft広告(Microsoft Advertising)の連携を行う際、認証後に「認証処理に失敗しました」と表示され、連携が完了できないことがあります。
このとき、Microsoft 側では以下のエラーが発生しています(エラー本文は画面には表示されず、ブラウザのアドレスバーの URL 内に記録されます)。
AADSTS650052: The app is trying to access a service 'Microsoft Advertising API Service' that your organization lacks a service principal for.
原因
認証に使用したアカウントが所属する Microsoft Entra ID(旧 Azure AD)テナントに、
「Microsoft Advertising API Service」の利用許可(サービスプリンシパル)が存在しないことが原因です。
- 職場アカウント(組織アカウント)で連携する場合のみ発生します。個人の Microsoft アカウントでは発生しません。
- ユーザーによるアプリ同意が制限されている組織(大規模企業に多い設定)では、この利用許可が自動作成されないため、組織で初めて連携するときにこのエラーになります。
- Shirofune 側の設定変更では解消できず、お客様組織の Microsoft Entra 管理者による対応が必要です。
補足: Microsoft のエラー画面には「アプリに同意すれば利用許可が作成される」旨の案内が表示されますが、利用許可が存在しない状態では同意の操作自体が同じエラーで失敗するため、この案内どおりでは解決できません。以下の手順1(利用許可の作成)から実施してください。
解決手順
手順1・2 は、貴社の Microsoft Entra 管理者(グローバル管理者/アプリケーション管理者/クラウドアプリケーション管理者のいずれか)が実施してください。
手順1: 利用許可(サービスプリンシパル)を作成する
管理者が以下のいずれかのコマンドを実行します。Azure ポータル上部バーの >_ アイコンから起動できる Azure Cloud Shell でも実行できます(ローカルへのインストール不要)。
Microsoft Graph PowerShell の場合:
Connect-MgGraph -Scopes "Application.ReadWrite.All" New-MgServicePrincipal -AppId "d42ffc93-c136-491d-b4fd-6f18168c68fd"
Azure CLI の場合:
az ad sp create --id d42ffc93-c136-491d-b4fd-6f18168c68fd
注意: 「Microsoft Advertising API Service」は Microsoft の第一者アプリケーションのため、Entra 管理センターの「+ 新しいアプリケーション」から手動で追加することはできません。上記コマンドが正規の作成方法です。
手順2: Shirofune アプリを承認する(管理者同意)
手順1の完了後、同じ管理者が以下の URL をブラウザで開きます。{テナントID} の部分は、貴社のテナント ID(Microsoft Entra ID → 概要 → 基本情報 → テナント ID で確認できます)に置き換えてください。
https://login.microsoftonline.com/{テナントID}/adminconsent?client_id=9f44340e-8212-43b5-b53b-9528cd99853d「アクセス許可の要求(Permissions requested)」ダイアログが表示されるので、承諾(Accept) をクリックします。
Shirofune が要求する権限は Microsoft広告の管理(msads.manage / ads.manage)とオフラインアクセスのみで、メール・ファイル・ディレクトリへのアクセスは要求しません。組織ごとに一度きりの設定です。
承認後の画面について: 承諾をクリックすると、読み込みに失敗するページ(「このページに到達できません」等)に着地しますが、これは想定内であり失敗ではありません。ブラウザのアドレスバーの URL に
admin_consent=Trueが含まれ、「error」パラメータが無ければ承認は成功しています。
手順3: 利用許可が作成されたことを確認する(任意)
Microsoft Entra 管理センター → エンタープライズ アプリケーションで:
- 「アプリケーションの種類」フィルタを「すべてのアプリケーション」に変更します(既定では Microsoft 製アプリが表示されません)。
- 名前で
Microsoft Advertising API Serviceを検索します。
※ 検索ボックスは App ID にはマッチしません。ID(d42ffc93-c136-491d-b4fd-6f18168c68fd)で検索する場合は、「Application ID starts with」フィルタをクリックしてフィルタの中に ID を入力してください。 - 行が表示されていれば設定完了です。
手順4: Shirofune で再接続する
Shirofune に戻り、現在お使いの職場アカウントで Microsoft広告の連携を再度お試しください。手順1・2 が完了していれば連携は成功します。
よくある質問
Q. 以前は連携できていたのに、急にこのエラーが出るようになりました。
以前の連携が個人の Microsoft アカウントで行われていた可能性があります。個人アカウントはこのチェックの対象外のため、職場アカウントに切り替えたタイミングで初めてエラーが顕在化します。上記の手順で職場アカウント用の設定を行ってください。
Q. 承認リンク(手順2の URL)だけを先に開いたら、同じエラーになりました。
利用許可が存在しない状態では、承認の操作自体が同じ AADSTS650052 エラーで失敗します。必ず手順1(利用許可の作成)から順番に実施してください。
Q. Entra 管理センターの「+ 新しいアプリケーション」から追加しようとしましたが、見つかりません。
Microsoft の第一者アプリケーションはアプリギャラリーに掲載されておらず、手動追加はできません。手順1のコマンドで作成してください。
上記の手順でも解決しない場合
以下の情報を添えて、Shirofune サポートまでお問い合わせください。
- 手順1でエラーが出た場合:コマンドの出力メッセージ
- 手順2の同意画面でエラーが出た場合:エラーコードを含む画面のスクリーンショット
- 手順2の後にエラー風のページで終わった場合:ブラウザのアドレスバーの URL 全体(承認の結果がここに記録されています)
コメント
0件のコメント
記事コメントは受け付けていません。