Graph API を使用してパスワードを変更しようとすると "Authorization_RequestDenied" というエラー メッセージが表示される

現象
Microsoft Azure Active Directory (Azure AD) ユーザーの組織のロールがいずれかの "管理者" に設定されている場合に、当該ユーザーのパスワードを変更しようとすると、処理に失敗し、以下のエラー メッセージが表示されます。

"{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}}"

(参考訳: {"odata.エラー":{"コード":"Authorization_RequestDenied","メッセージ":{"言語":"英語","値":"十分な権限がないため、この処理を完了できません。"}}})


ご利用のアプリケーションまたはアプリケーションのサービス プリンシパルに [Read and write directory data] (ディレクトリ データの読み取りと書き込み)権限を追加すると、Graph API を使用して通常の Azure AD ユーザーのパスワードをアプリケーションで変更することができます。この設定については、以下のスクリーン ショットを参照してください。
permissions screen
以下のスクリーン ショットに示したように、Azure AD ユーザーの組織のロール設定を変更すると、通常の Azure AD ユーザーを管理者として委任することができます。
role screen
原因
この問題は、組織のいずれかの ‶管理者” ロールを有しているユーザーが、Office 365 管理者ロールの "Company Administrator" または "User Account Administrator" に属していない場合に生じます。
解決方法
この問題を解決するには、Office 365 管理者ロールの "Company Administrator" へご利用のアプリケーションを追加します。以下のすべての Azure AD Module for Windows PowerShell (MSOL) コマンドレットを実行してください。

   #-----------------------------------------------------------   # This will prompt you for your tenant's credential   # You should be able to use your your Azure AD administrative user name   # (in the admin@tenant.onmicrosoft.com format)   #-----------------------------------------------------------   Connect-MsolService       #-----------------------------------------------------------   # Replace the Application Name with the name of your    # Application Service Principal   #-----------------------------------------------------------   $displayName = "Application Name"   $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId       #-----------------------------------------------------------   # This will add your Application Service Prinicpal to    # the Company Administrator role   #-----------------------------------------------------------   $roleName = "Company Administrator"                 Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
また、通常の Azure AD ユーザーが以下に示した組織の "Administrator" ロールのいずれかを有している場合は、Office 365 管理者ロールの "User Account Administrator" へご利用のアプリケーションを追加する必要があります。
  • 全体管理者
  • 課金管理者
  • サービス管理者

以下の MSOL コマンドレットをすべて実行し、‶User Account Administrator” へアプリケーションを追加してください。

   #-----------------------------------------------------------   # This will prompt you for your tenant's credential   # You should be able to use your your Azure AD administrative user name   # (in the admin@tenant.onmicrosoft.com format)   #-----------------------------------------------------------   Connect-MsolService      #-----------------------------------------------------------   # Replace the Application Name with the name of your    # Application Service Principal   #-----------------------------------------------------------   $displayName = "Application Name"   $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId      #-----------------------------------------------------------   # This will add your Application Service Principal to    # the Company Administrator role   #-----------------------------------------------------------   $roleName = "User Account Administrator"     Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
双方のコマンドレットを実行した後、ご利用のアプリケーションで組織のすべての "Administrator" ロールのパスワードを変更できるようになります。

注: Office 365 管理者ロールにアクセス権限を追加後、アプリケーションのサービス プリンシパルにアクセス権限が適用されるまで最大 30 分かかります。
追加情報
Graph API を使用してパスワードをリセットする方法の詳細については、以下の Microsoft Azure Web サイトを参照してください。

その他トピックは、Office 365 コミュニティ Web サイトまたは Azure Active Directory フォーラムを参照してください。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3004133 - 最終更新日: 11/09/2015 03:43:00 - リビジョン: 1.0

Microsoft Office 365, Microsoft Azure Active Directory

  • o365022013 o365 o365e o365m o365a kbGraphxLink KB3004133
フィードバック