Azure active directory 对于服务主体,授予使用命令Get-AzNetworkServiceTag的哪个权限?

Azure active directory 对于服务主体,授予使用命令Get-AzNetworkServiceTag的哪个权限?,azure-active-directory,azure-ad-graph-api,Azure Active Directory,Azure Ad Graph Api,我在AzureAD中成功地创建了一个ServicePrincipal(SP),并且能够完成许多任务,比如{连接到Azure,创建资源,等等..} 我需要我的SP使用命令Get-AzNetworkServiceTag,但它总是返回空值。 当我尝试使用自己的帐户获取AzNetworkServiceTag命令时,我得到了预期的结果。我相信问题来自许可,非常欢迎您的帮助来设置最小特权。 我当前的权限如下所示: 你知道我应该用哪一个吗? 另一个问题是,基于powershell命令确定权限的最佳做法是什么?

我在AzureAD中成功地创建了一个ServicePrincipal(SP),并且能够完成许多任务,比如{连接到Azure,创建资源,等等..}

我需要我的SP使用命令Get-AzNetworkServiceTag,但它总是返回空值。 当我尝试使用自己的帐户获取AzNetworkServiceTag命令时,我得到了预期的结果。我相信问题来自许可,非常欢迎您的帮助来设置最小特权。 我当前的权限如下所示:

你知道我应该用哪一个吗?
另一个问题是,基于powershell命令确定权限的最佳做法是什么?虽然权限可以命名以确定有这么多权限,但很难选择正确的权限。谢谢。

您正面临此问题,因为Powershell cmdlet的工作方式与MS Graph不同。Powershell需要角色而不是权限来执行此操作。请将全局管理员角色添加到您的服务原则中,然后尝试
连接AzaAccount
,以便解决此问题


有关详细信息,请参阅。

您正面临此问题,因为Powershell cmdlet的工作方式与MS Graph不同。Powershell需要角色而不是权限来执行此操作。请将全局管理员角色添加到您的服务原则中,然后尝试
连接AzaAccount
,以便解决此问题


有关更多详细信息,请参阅。

命令
Get-AzNetworkServiceTag
实质上调用Azure管理REST API-,它与Azure AD无关,要解决此问题,您需要将(而不是Azure AD管理员角色)分配给您的服务主体

要解决此问题,最简单的方法是将内置角色(例如,
阅读器
贡献者
)分配给
订阅
范围内的服务负责人。但是如果你想 最低特权,您可以选择使用它,您可以按照以下步骤操作

1.在门户中导航到您的订阅->
访问控制(IAM)
->
添加
->
添加自定义角色
,按照屏幕截图进行操作

然后跳过
权限
,在
JSON
中,单击
编辑
,然后将
Microsoft.Network/*/read
添加到
操作
->并创建它

创建自定义角色后,请稍等片刻,导航到
访问控制(IAM)
->将自定义角色添加到服务主体

总之,在这种情况下,
Microsoft.Network/*/read
操作权限是最小的权限,在授予角色后,它将正常工作

另一个问题是,基于powershell命令确定权限的最佳做法是什么


您只需知道该命令的作用,然后在中查找操作,在本例中,没有类似于Microsoft.Network/serviceTags/read的操作,因此,我们至少需要使用
Microsoft.Network/*/read

命令
Get-AzNetworkServiceTag
实质上调用Azure管理REST API-,它与Azure AD无关,要解决此问题,您需要将(而不是Azure AD管理员角色)分配给您的服务主体

要解决此问题,最简单的方法是将内置角色(例如,
阅读器
贡献者
)分配给
订阅
范围内的服务负责人。但是如果你想 最低特权,您可以选择使用它,您可以按照以下步骤操作

1.在门户中导航到您的订阅->
访问控制(IAM)
->
添加
->
添加自定义角色
,按照屏幕截图进行操作

然后跳过
权限
,在
JSON
中,单击
编辑
,然后将
Microsoft.Network/*/read
添加到
操作
->并创建它

创建自定义角色后,请稍等片刻,导航到
访问控制(IAM)
->将自定义角色添加到服务主体

总之,在这种情况下,
Microsoft.Network/*/read
操作权限是最小的权限,在授予角色后,它将正常工作

另一个问题是,基于powershell命令确定权限的最佳做法是什么


你只需要知道这个命令是做什么的,然后在中找到操作,在这种情况下,没有像Microsoft.Network/serviceTags/read这样的操作,所以我们至少需要使用
Microsoft.Network/*/read

再一次Joy Wang,你让我开心,所有这些屏幕截图都非常有用。希望它能帮助这个社区的其他成员。我想要一个精确的答案,因为我无法根据“角色”和“自定义角色”区分解决方案。对自定义角色所做的操作是先转到Subscription>IAM,然后添加具有*/read权限的自定义角色。角色阅读器限制在订阅范围内有什么区别?@terry
*/read
不同于
Microsoft.Network/*/read
,第一个可以读取所有资源,第二个可以读取属于
Microsoft.Network
提供商的资源,
Microsoft.Network/*/read
就足够了,内置角色是azure预先定义的角色,哦,我的糟糕,我错过了Microsoft.Network/*/read ahahahahahah抱歉。我需要换一副眼镜。再一次,Joy Wang,你让我开心,所有这些截图都很有用。希望它能帮助这个社区的其他成员。我想要一个精确的答案,因为我无法根据“角色”和“自定义角色”区分解决方案。对自定义角色所做的操作是先转到Subscription>IAM,然后添加具有*/read权限的自定义角色。角色读取器限制在订阅范围内有什么区别?@ter