[英]Get users and groups that have access to Azure resource
我有一个名为devtest
的资源。 我想使用azure cli
或REST API
从IAM -> Role assignments
刀片获取列表:
如何以编程方式检索该信息( group-id
, display name
等)? 是否可以获取有权访问资源的用户和组的列表?
例如,使用graph
im 允许获取签名用户所属的组:
POST https://graph.microsoft.com/v1.0/me/getMemberGroups
Request Body:
{
"securityEnabledOnly": true
}
Response:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(Edm.String)",
"value": [
// group ids here
]
}
但是如何对资源做类似的事情并获取在该资源中具有角色的用户和组的列表?
编辑:
当我们 go 到Role Assignments
刀片时, Azure
调用端点:
POST https://graph.windows.net/{subscriptionId}/getObjectsByObjectIds
Request body:
{ "objectIds":[ "bunch unknown ids here" ],"includeDirectoryObjectReferences":true }
我得到这样的回应:
这与我在Role assignments
选项卡中看到的内容有关,但并非所有职位都会返回。 在这个回复中我们没有关于role
的信息,如何挖掘它们?
您可以使用以下 cmdlet 列出资源及其各自组的所有角色分配(如果角色分配的 object 类型不是用户,它不会给您任何输出)。
这是脚本:
connect-azuread # Manadatory to authenticate with azuread & to further run Get-azureadusermembership cmdlet
$rbac=Get-AzRoleAssignment -ResourceGroupName '<RgName>' -ResourceName '<ResourceName>' -ResourceType 'Microsoft.KeyVault/vaults' | Where-Object -Property ObjectType -EQ User| select -Property SignInName,ObjectId,RoleDefinitionName
Write-output $rbac
foreach($item in $rbac)
{
Get-AzureADUserMembership -ObjectId $item.ObjectId | select -Property *
}
下面是样本output供参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.