Graph API を使用してパスワードを変更しようとしたときに Authorization_RequestDenied エラーが発生する

この記事では、Graph API を使用してパスワードを変更しようとしたときに Authorization_RequestDenied エラーが発生する問題のトラブルシューティングについて説明します。

元の製品バージョン:  Azure Active Directory
元の KB 番号:  3004133

現象

Microsoft Azure Active Directory (Azure AD) ユーザーのパスワードを変更しようとした場合に、そのユーザーの組織の役割設定が "管理者" オプションに設定されていると、プロセスが失敗し、次のエラーメッセージが表示されます。

{"odata. error": {"code": "Authorization_RequestDenied", "message": {"lang": "en", "value": "操作を完了するのに十分な権限がありません。" }} }

アプリケーションまたはアプリケーションサービスプリンシパルに対して [ディレクトリデータの読み取りと書き込み] アクセス許可を付与すると、アプリケーションで、Graph API を使用して標準的な Azure AD ユーザーのパスワードを変更できるようになります。 この設定は、次のスクリーンショットに示されています。

アクセス許可のスクリーンショット。

次のスクリーンショットに示されているように、ユーザーの組織の役割の設定を変更することによって、Azure AD ユーザーを管理者として委任できます。

役割のスクリーンショット。

原因

この問題は、管理者の組織の役割を持つユーザーが、Office 365 の管理役割の会社の管理者またはユーザーアカウント管理者のメンバーではないために発生します。

解決方法

この問題を解決するには、Office 365 の管理役割で、会社の管理者にアプリケーションを追加します。 これを行うには、次の Windows PowerShell 用 Azure AD モジュール (MSOL) コマンドレットをすべて実行します。

Connect-MsolService

これにより、テナントの資格情報の入力を求められます。 Azure AD 管理者のユーザー名を形式で使用できるようにする必要があり admin@tenant.onmicrosoft.com ます。

$displayName = "Application Name" $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId

"アプリケーション名" を "Application Service プリンシパル" の名前に置き換えます。

$roleName = "Company Administrator" Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId

これにより、会社の管理者ロールに "アプリケーションサービスプリンシパル" が追加されます。

また、Azure AD ユーザーが次のいずれかの管理者組織の役割を持っている場合は、Office 365 管理役割のユーザーアカウント管理者にアプリケーションを追加する必要があります。

  • グローバル管理者
  • 課金管理者
  • サービス管理者

これを行うには、次のすべての MSOL コマンドレットを実行します。

Connect-MsolService
$displayName = "Application Name" $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId
$roleName = "User Account Administrator" Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId

両方のコマンドレットのセットを実行すると、すべての管理者の組織の役割のパスワードを変更するアプリケーションが有効になります。

注意

Office 365 の管理役割にアクセス許可を追加した後、アプリケーションサービスプリンシパルにアクセス許可が適用されるまでに最大で30分かかる場合があります。

詳細

さらにヘルプが必要ですか? Microsoft コミュニティ または Azure Active Directory Forums (英語情報) Web サイトを参照してください。