web-dev-qa-db-ja.com

Azure ADの「リクエストAPI権限」で「アプリケーション権限」が無効になっているのはなぜですか?

Azure ADでAPIを呼び出すためのコンソールアプリのアクセス許可を付与しようとしています。

「権限の追加」に移動すると、「アプリケーションの権限」がグレー表示され、「委任された権限」しか選択できません。

私の理解では、アプリケーションの権限はコンソールアプリに適切であり、それはバックエンドで実行され、ユーザーがサインインしないためです。

「アプリケーション権限」のヘルプテキストから:

アプリケーションは、サインインしているユーザーなしでバックグラウンドサービスまたはデーモンとして実行されます。

「委任された権限」のヘルプテキスト:

アプリケーションは、サインインしたユーザーとしてAPIにアクセスする必要があります。

「アプリケーション権限」が無効になっているのはなぜですか?

Azure's "Request API permissions" dialog with a disabled "application permission" button

12
Eric Eskildsen

私の理解では、Azure ADで保護されたカスタムAPIを公開しています。その場合は、APIアプリのマニフェストを編集して アプリケーションの権限を定義 する必要があります。

enter image description here

マニフェスト:

"appRoles": [
        {
            "allowedMemberTypes": [
                "Application"
            ],
            "description": "Apps that have this role have the ability to invoke my API",
            "displayName": "Can invoke my API",
            "id": "fc803414-3c61-4ebc-a5e5-cd1675c14bbb",
            "isEnabled": true,
            "lang": null,
            "Origin": "Application",
            "value": "myTestRole"
        }
    ]

次に、アプリケーションの権限が表示されます。

enter image description here

14
Tony Ju