Azure 服务主体:为服务主体授予 appRoleAssignment 会更新原始权限的状态
Azure service principal: Grant an appRoleAssignment for a service principal does update the original permission's status
我正在尝试让管理员同意使用 Microsoft 图形 API 分配权限。
我执行的步骤如下:
创建定义了“appRoles”数组的应用程序。
使用 appId 创建服务主体。
G运行t 服务主体的 appRoleAssignment。
我 运行 http post 请求:
https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
- 在 Azure 门户中,我看到它正在创建另一个权限,而不是 g运行ting 最初存在的权限,并且 g运行ting 同意它,如下图所示。
为什么不是 g运行ting 原始权限,即使 'appRoleId' 相同?我想获得运行t原始许可,有人可以告诉我吗?谢谢
当然不会授予原来的权限,当你创建一个应用并暴露API权限时,这个权限和Exchange
中的权限完全是两个不同的权限APIs,无论他们使用什么appRoleId
。
要为您的应用授予 full_access_as_app
应用程序权限,请按照以下步骤操作。
1.Navigate 到门户中的广告应用 -> Manifest
-> requiredResourceAccess
,获取 resourceAppId
和 id
,注意 id
下降为 appRoleId
.
2.Navigate到门户中的Azure Active Directory
-> Enterprise applications
-> 搜索步骤1中得到的resourceAppId
,然后你会找到Office 365 Exchange Online
-> 单击它 -> Overview
-> 得到 Object ID
,记为 resourceId
.
注意:这个Object ID
在不同的AAD租户中是不同的。
3.Navigate 到您的 AD 应用程序 -> 点击 Managed application in local directory
,然后得到 Object ID
,记为 principalId
。
4.Then 调用您使用的 Microsoft Graph - Grant an appRoleAssignment for a service principal,使用之前得到的值。
POST https://graph.microsoft.com/v1.0/servicePrincipals/<resourceId>/appRoleAssignedTo
{
"principalId": "<principalId>",
"resourceId": "<resourceId>",
"appRoleId": "<appRoleId>"
}
我在Graph Explorer中测试它:
检查门户中的结果,它工作正常。
我正在尝试让管理员同意使用 Microsoft 图形 API 分配权限。 我执行的步骤如下:
创建定义了“appRoles”数组的应用程序。
使用 appId 创建服务主体。
G运行t 服务主体的 appRoleAssignment。 我 运行 http post 请求:
https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
- 在 Azure 门户中,我看到它正在创建另一个权限,而不是 g运行ting 最初存在的权限,并且 g运行ting 同意它,如下图所示。
为什么不是 g运行ting 原始权限,即使 'appRoleId' 相同?我想获得运行t原始许可,有人可以告诉我吗?谢谢
当然不会授予原来的权限,当你创建一个应用并暴露API权限时,这个权限和Exchange
中的权限完全是两个不同的权限APIs,无论他们使用什么appRoleId
。
要为您的应用授予 full_access_as_app
应用程序权限,请按照以下步骤操作。
1.Navigate 到门户中的广告应用 -> Manifest
-> requiredResourceAccess
,获取 resourceAppId
和 id
,注意 id
下降为 appRoleId
.
2.Navigate到门户中的Azure Active Directory
-> Enterprise applications
-> 搜索步骤1中得到的resourceAppId
,然后你会找到Office 365 Exchange Online
-> 单击它 -> Overview
-> 得到 Object ID
,记为 resourceId
.
注意:这个Object ID
在不同的AAD租户中是不同的。
3.Navigate 到您的 AD 应用程序 -> 点击 Managed application in local directory
,然后得到 Object ID
,记为 principalId
。
4.Then 调用您使用的 Microsoft Graph - Grant an appRoleAssignment for a service principal,使用之前得到的值。
POST https://graph.microsoft.com/v1.0/servicePrincipals/<resourceId>/appRoleAssignedTo
{
"principalId": "<principalId>",
"resourceId": "<resourceId>",
"appRoleId": "<appRoleId>"
}
我在Graph Explorer中测试它:
检查门户中的结果,它工作正常。