对于服务主体授予使用命令 Get-AzNetworkServiceTag 的权限?
For a Service Principal which permission to give to use command Get-AzNetworkServiceTag?
我在 AzureAD 中成功创建了一个 ServicePrincipal (SP),并且能够做很多事情,例如{连接到 Azure、创建资源等...}
我需要我的 SP 使用命令 Get-AzNetworkServiceTag 但它总是 return 空值。
当我使用自己的帐户尝试命令命令 Get-AzNetworkServiceTag 时,我得到了预期的结果。我相信问题来自许可,非常欢迎您帮助设置最低权限。
我当前的权限如下所示:
你知道我应该用哪一个吗?
替代问题是根据 powershell 命令确定权限的最佳做法是什么?虽然权限可以名称来确定,但有太多的权限,很难选择正确的权限。谢谢。
您遇到此问题是因为 Powershell cmdlet 的工作方式与 MS Graph 不同。 Powershell 不需要权限,而是需要角色来执行此操作。请将全局管理员角色添加到您的服务原则中,然后尝试 Connect-AzAccount
以便问题得到解决。
详情请参考Assigning administrator roles in Azure Active Directory。
命令 Get-AzNetworkServiceTag
本质上是将 Azure 管理 REST API - Service Tags - List
, it is not related to Azure AD, to solve the issue, you need to assign the Azure RBAC role(不是 Azure AD 管理员角色)调用到您的服务主体。
要解决这个问题,最简单的方法是分配内置角色,例如Reader
、Contributor
到 subscription
范围内的服务主体。但是如果你想
最低权限,您的选择是create a custom role然后使用它,您可以按照以下步骤操作。
1.Navigate 到您在门户中的订阅 -> Access control (IAM)
-> Add
-> Add custom role
,按照屏幕截图操作。
然后跳过Permissions
,在JSON
中,点击Edit
,将Microsoft.Network/*/read
添加到actions
->下一步,创建
创建自定义角色后,稍等片刻,导航到 Access control (IAM)
-> 将自定义角色添加到您的服务主体。
综上所述,Microsoft.Network/*/read
动作权限是本例中最小的权限,赋予角色后即可正常工作。
Alternative question is what is best practice to determine permissions based on powershell command?
你只需要知道这个命令是做什么的,然后在Azure resource provider operations中找到操作,在这种情况下,没有像Microsoft.Network/serviceTags/read
这样的操作,所以我们需要使用Microsoft.Network/*/read
至少。
我在 AzureAD 中成功创建了一个 ServicePrincipal (SP),并且能够做很多事情,例如{连接到 Azure、创建资源等...}
我需要我的 SP 使用命令 Get-AzNetworkServiceTag 但它总是 return 空值。
当我使用自己的帐户尝试命令命令 Get-AzNetworkServiceTag 时,我得到了预期的结果。我相信问题来自许可,非常欢迎您帮助设置最低权限。
我当前的权限如下所示:
你知道我应该用哪一个吗? 替代问题是根据 powershell 命令确定权限的最佳做法是什么?虽然权限可以名称来确定,但有太多的权限,很难选择正确的权限。谢谢。
您遇到此问题是因为 Powershell cmdlet 的工作方式与 MS Graph 不同。 Powershell 不需要权限,而是需要角色来执行此操作。请将全局管理员角色添加到您的服务原则中,然后尝试 Connect-AzAccount
以便问题得到解决。
详情请参考Assigning administrator roles in Azure Active Directory。
命令 Get-AzNetworkServiceTag
本质上是将 Azure 管理 REST API - Service Tags - List
, it is not related to Azure AD, to solve the issue, you need to assign the Azure RBAC role(不是 Azure AD 管理员角色)调用到您的服务主体。
要解决这个问题,最简单的方法是分配内置角色,例如Reader
、Contributor
到 subscription
范围内的服务主体。但是如果你想
最低权限,您的选择是create a custom role然后使用它,您可以按照以下步骤操作。
1.Navigate 到您在门户中的订阅 -> Access control (IAM)
-> Add
-> Add custom role
,按照屏幕截图操作。
然后跳过Permissions
,在JSON
中,点击Edit
,将Microsoft.Network/*/read
添加到actions
->下一步,创建
创建自定义角色后,稍等片刻,导航到 Access control (IAM)
-> 将自定义角色添加到您的服务主体。
综上所述,Microsoft.Network/*/read
动作权限是本例中最小的权限,赋予角色后即可正常工作。
Alternative question is what is best practice to determine permissions based on powershell command?
你只需要知道这个命令是做什么的,然后在Azure resource provider operations中找到操作,在这种情况下,没有像Microsoft.Network/serviceTags/read
这样的操作,所以我们需要使用Microsoft.Network/*/read
至少。