web-dev-qa-db-ja.com

Azure ADアプリアプリケーションのアクセス許可と委任されたアクセス許可

Azure ADアプリを作成していますが、アプリケーションのアクセス許可と委任されたアクセス許可の2つのアクセス許可の種類があることに気付きました。 2つの違いは何ですか?また、どのシナリオでそれらを使用する必要がありますか?

47
Arjuna

ログオンしたユーザーとしてWeb APIを呼び出す場合、通常、委任されたアクセス許可を使用します。たとえば、Web APIは、ユーザーが誰であるかに基づいて返されるデータをフィルタリングする必要がある、またはログインしているユーザーとして何らかのアクションを実行する必要があるとします。または、どのユーザーが通話を開始しているかを記録することもできます。

アプリケーションがAPIをそれ自体として呼び出す場合、アプリケーションのアクセス許可が使用されます。たとえば、特定の郵便番号の天気予報を取得するには(どのユーザーがログオンしているかは関係ありません)。クライアントは、ユーザーがいないときにAPIを呼び出すこともできます(一部のバックグラウンドサービスがAPIを呼び出してステータスを更新します)。

44
MvdD

こちらのドキュメントから: https://msdn.Microsoft.com/en-us/library/Azure/dn132599.aspxhttps://Azure.Microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#updating-an-applicationAccessing Web API in Other Application セクション) Web APIにアクセスするようにクライアントアプリケーションを構成する

  • アプリケーションのアクセス許可:アプリケーションは、Web APIに直接アクセスする必要があります(ユーザーコンテキストなし)。このタイプの許可には管理者の同意が必要であり、ネイティブクライアントアプリケーションでは使用できません。
  • 委任許可:アプリケーションはサインインしたユーザーとしてWeb APIにアクセスする必要がありますが、選択した許可によってアクセスが制限されます。このタイプの許可は、許可が管理者の同意を必要とするように構成されていない限り、ユーザーが付与できます。

アプリケーションがユーザーの偽装を必要とする場合、これに基づいて、委任権限を使用する必要があります。

22
Gaurav Mantri