Graph API 在 Azure AD 中创建组的权限
Graph API permissions for creating groups in Azure AD
Group.ReadWrite.All 是服务主体允许在 Azure AD 中创建组所需的图 API 权限。但是,它将允许 SPN modify/delete 目录中的任何组。
你能帮忙知道我们如何限制范围,以便服务主体应该只修改它首先创建的组。
尝试将你的Service Principal
设置为你创建的群组的owner
,这样你的Service Principal可以modify/delete你创建的群组无需任何权限,但不能modify/delete其他组(记得删除Group.ReadWrite. All
权限)。
不幸的是,我认为这是不可能的,因为服务主体没有这样的权限,只能访问它创建的组。如果这是绝对要求,那么我能想到的唯一可以将编辑限制在它拥有的组的方法是不使用客户端凭证流,并且基本上创建一个服务帐户(普通用户),使用ROPC 流程 (https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc) 为 group.readwrite.all 添加委派权限。然后该应用程序将使用该用户,该用户只能创建其拥有的组和编辑组。
将服务主体添加为组的所有者也对我有用。
你只需要知道当你使用服务主体登录时,你可以做
az ad group member add -g myGroupObjectId --member-id myMemberObjectId
但是你不能通过名称搜索你的组,它会给你一个权限被拒绝
az ad group show --group myGroupName
Group.ReadWrite.All 是服务主体允许在 Azure AD 中创建组所需的图 API 权限。但是,它将允许 SPN modify/delete 目录中的任何组。
你能帮忙知道我们如何限制范围,以便服务主体应该只修改它首先创建的组。
尝试将你的Service Principal
设置为你创建的群组的owner
,这样你的Service Principal可以modify/delete你创建的群组无需任何权限,但不能modify/delete其他组(记得删除Group.ReadWrite. All
权限)。
不幸的是,我认为这是不可能的,因为服务主体没有这样的权限,只能访问它创建的组。如果这是绝对要求,那么我能想到的唯一可以将编辑限制在它拥有的组的方法是不使用客户端凭证流,并且基本上创建一个服务帐户(普通用户),使用ROPC 流程 (https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc) 为 group.readwrite.all 添加委派权限。然后该应用程序将使用该用户,该用户只能创建其拥有的组和编辑组。
将服务主体添加为组的所有者也对我有用。
你只需要知道当你使用服务主体登录时,你可以做
az ad group member add -g myGroupObjectId --member-id myMemberObjectId
但是你不能通过名称搜索你的组,它会给你一个权限被拒绝
az ad group show --group myGroupName