如何以编程方式将权限分配给 Azure AD 应用

How to programmatically assign permissions to Azure AD app

我需要以编程方式在 Azure AD 中创建应用程序并以编程方式为其分配图形 API 权限。不知何故,我找不到任何关于此的好信息。如果有任何好的例子,请告诉我。

我可以创建一个基本的应用程序,但不确定如何为其分配权限。

我有几个基本问​​题:

如有任何 C# 示例,我们将不胜感激。

首先,您必须在 Azure Active Directory 中注册您的应用程序。 转到 Azure Portal 并导航到 Azure AD -> App Registrations 并创建一个新的 App。

在应用程序管理视图中,转到 API-Permissions 并单击“添加权限”。现在您可以看到您可以授予应用程序的所有可用权限。

对于某些权限(由橙色警告标志表示),您必须事后授予管理员同意。

完成这些步骤并配置重定向 URL(也在 Azure 门户中)后,您可以从您的应用程序访问您拥有权限的数据。

注意:您还必须实施授权流程才能使用 Microsoft Graph。您可以在此处找到更多信息 Microsoft Graph Authentication

PFB 回答您的问题:

我们可以同时创建应用和分配权限吗?还是需要先创建app再分配权限? --> 是的,您可以同时创建应用和分配权限。

如何获得所有可能权限的存储库?有什么方法可以获得可读形式的权限及其 GUID 表示? --> 这是所有可能权限的 link :https://docs.microsoft.com/en-us/graph/permissions-reference 您可以使用 Microsoft Graph 资源管理器 来执行查询并获取 GUID 表示。 这是 link :https://developer.microsoft.com/en-us/graph/graph-explorer

您必须先在A​​zure门户中注册一个应用程序(或者您必须先有一个应用程序),然后授予应用程序权限或委托权限调用MS graph api to create other applications, 是详细的解释说明。

接下来,您可以基于此应用创建其他应用C# code + MS graph api, and grant permissions到其他应用(这是一个单独的操作,当然您也可以同时创建一个应用并分配权限)。