対象となる事象
Shirofune で Microsoft広告(Microsoft Advertising)の連携を行う際、認証後に「認証処理に失敗しました」と表示され、連携が完了できないことがあります。
このページでは、AADSTS650052 のエラー詳細に、以下のように「Microsoft Advertising API Service」のサービスプリンシパルが存在しない旨が示される場合を扱います。画面にはエラーコードが表示されることがありますが、詳しいエラー本文はブラウザのアドレスバーの URL 内に含まれます。
AADSTS650052: The app is trying to access a service 'Microsoft Advertising API Service' that your organization lacks a service principal for.
エラーコードが AADSTS65004 の場合は、AADSTS65004 が表示される場合をご確認ください。
原因
認証に使用したアカウントが所属する Microsoft Entra ID(旧 Azure AD)テナントに、「Microsoft Advertising API Service」を表すサービスプリンシパルが存在しないことが、このエラーの主な原因です。サービスプリンシパルは、そのサービスを組織のテナント内で利用するための登録情報であり、アクセス権への同意とは別のものです。
- この手順は、職場または学校アカウントで連携する際に、所属組織のテナントで上記のエラーが発生する場合を対象としています。
- サービスプリンシパルが作成されていない背景には、組織のアプリ同意設定や、これまでのMicrosoft広告APIの利用状況などが関係する場合があります。
- 対象テナントへの登録と必要な権限の承認には、お客様組織の Microsoft Entra 管理者による対応が必要です。
補足: サービスプリンシパルが存在しない場合、同意の操作でも同じエラーが発生することがあります。以下の手順1でサービスをテナントに登録したうえで、必要に応じて手順2の管理者同意を行ってください。
解決手順
手順1・2 は、貴社の Microsoft Entra 管理者(グローバル管理者/アプリケーション管理者/クラウドアプリケーション管理者のいずれか)が実施してください。
手順1: Microsoft広告サービスをテナントに登録する
管理者が、連携する職場アカウントの所属先テナントで、以下のいずれかのコマンドを実行します。{テナントID} は、Microsoft Entra ID → 概要 → 基本情報で確認した対象組織のテナント ID に置き換えてください。複数の組織を管理している場合は、別のテナントに接続していないことをご確認ください。Azure ポータル上部バーの >_ アイコンから起動できる Azure Cloud Shell でも実行できます(ローカルへのインストール不要)。
Microsoft Graph PowerShell の場合:
Connect-MgGraph -TenantId "{テナントID}" -Scopes "Application.ReadWrite.All"
New-MgServicePrincipal -AppId "d42ffc93-c136-491d-b4fd-6f18168c68fd"Azure CLI の場合:
az login --tenant "{テナントID}" --allow-no-subscriptions
az ad sp create --id d42ffc93-c136-491d-b4fd-6f18168c68fd注意: この手順では、Microsoft公式資料に沿って、既存の「Microsoft Advertising API Service」を対象テナントに登録します。同名のアプリを新規登録する操作ではありません。既に存在する旨のエラーが出た場合は、手順3でアプリケーション ID を確認し、必要に応じて手順2へ進んでください。
手順2: 必要に応じてShirofune アプリを承認する(管理者同意)
手順1の完了後、Shirofuneへの管理者同意が必要な場合は、管理者が以下の 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広告連携で使用する権限は、Microsoft広告の管理(msads.manage / ads.manage)とオフラインアクセスです。管理者同意の画面にはアプリ登録設定に基づく権限が表示されるため、内容が不明な場合は承諾前にShirofune サポートへご確認ください。手順1のPowerShellで要求する Application.ReadWrite.All は、管理者がサービスプリンシパルを作成するためのMicrosoft Graph PowerShell用の権限であり、Shirofuneアプリへの権限付与とは別です。
承認後の画面について: 承認後、遷移先でエラー画面が表示される場合があります。画面の見た目だけで承認の成否を判断せず、遷移先 URL に
admin_consent=Trueが含まれ、errorパラメータがないことを確認してください。確認できない場合やerrorがある場合は、下記のお問い合わせ情報を添えてサポートへご連絡ください。
手順3: サービスプリンシパルが作成されたことを確認する(任意)
Microsoft Entra 管理センター → エンタープライズ アプリケーションで:
- 「アプリケーションの種類」フィルタを「すべてのアプリケーション」に変更します(Microsoft 製アプリも確認できるようにします)。
-
名前で
Microsoft Advertising API Serviceを検索し、アプリケーション ID がd42ffc93-c136-491d-b4fd-6f18168c68fdであることを確認します。 - 該当するアプリが表示されれば、サービスプリンシパルが作成されていることを確認できます。Shirofuneへの管理者同意や、広告アカウントへのアクセス権まで確認できたことを意味するものではありません。
手順4: Shirofune で再接続する
Shirofune に戻り、現在お使いの職場アカウントで Microsoft広告の連携を再度お試しください。同じエラーが続く場合や別のエラーが表示される場合は、表示されたコードを添えてShirofune サポートへご連絡ください。
AADSTS65004 が表示される場合
AADSTS65004 は、Microsoft のサインイン後に表示されるアクセス許可の画面で、Shirofune への同意が行われなかったことを示すエラーです。システムの不具合ではありません。表示された画面に応じて、以下のとおり対応してください。
アクセス許可の画面で「キャンセル」を選択した場合
Shirofune で Microsoft広告の連携をもう一度行い、アクセス許可の画面で承諾(Accept)をクリックしてください。
「管理者の承認が必要」と表示された場合
所属組織の設定により、ユーザー自身ではアプリへの同意ができない状態です。この場合は何度お試しいただいても連携できないため、貴社の Microsoft Entra 管理者に、上記の手順2(管理者同意)を実施していただいてください。管理者同意の完了後、Shirofune で連携を再度お試しください。
補足: 管理者同意の操作で
AADSTS650052が表示された場合は、手順1から実施してください。
よくある質問
Q. 以前は連携できていたのに、急にこのエラーが出るようになりました。
以前の連携が個人の Microsoft アカウントで行われていた可能性があります。職場アカウントや所属テナントの変更が関係する場合もあります。エラー詳細を確認し、このページの対象に該当する場合は、管理者に対象テナントの登録状態をご確認いただいてください。
Q. 承認リンク(手順2の URL)だけを先に開いたら、同じエラーになりました。
サービスプリンシパルが存在しない場合、承認操作でも同じエラーが発生することがあります。手順1で対象テナントに登録したうえで、必要に応じて管理者同意を再度お試しください。
Q. Entra 管理センターの「+ 新しいアプリケーション」から追加しようとしましたが、見つかりません。
このページで扱う「Microsoft Advertising API Service」は、手順1のコマンドで対象テナントに登録してください。同じ名前の別アプリを作成しないよう、指定のアプリケーション ID を使用してください。
上記の手順でも解決しない場合
以下の情報を添えて、Shirofune サポートまでお問い合わせください。
- 手順1でエラーが出た場合:コマンドの出力メッセージ
- 手順2の同意画面でエラーが出た場合:エラーコードを含む画面のスクリーンショット
- 手順2の後にエラー風のページで終わった場合:ブラウザのアドレスバーの URL 全体(承認の結果がここに記録されています)
コメント
0件のコメント
記事コメントは受け付けていません。