当前位置: 首页 > 知识库问答 >
问题:

获取Azure AD主体的所有角色分配

翟曦之
2023-03-14

我有一个具有多个订阅和资源的Azure环境。我的要求是拥有这样一种功能:如果我传递用户名或SPN名称,它将为我提供所有azure资源(从管理组到azure资源),该用户/SPN可以访问这些资源,以及该资源的访问权限(读卡器/数据读卡器等)。

主要的问题是-我也想要PIM角色分配。有办法得到它吗?

探讨的选择

  1. https://docs.microsoft.com/en-us/rest/api/authorization/role-assignments但这会给每个作用域分配角色。我想每个用户/spn
  2. https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-list-portal它不包括PIM分配,只给每个订阅分配
  3. Azure资源图资源管理器-这根本不包括角色分配

除了迭代50个订阅,获取每个作用域的角色分配,然后比较对象id之外,还有更好的方法吗?

共有1个答案

鞠安民
2023-03-14

您可以使用下面的Powershell脚本获取多个订阅中服务主体名称的角色分配。

Connect-AzAccount
$tenantID = "yourTenantID"
$spn = "serviceprincipalname"
$user= Get-AzADUser -UserPrincipalName $spn
$subscriptions = Get-AzSubscription -TenantId $tenantID
#$subscriptions.Id
foreach ($subscription in $subscriptions) {
$set = Set-AzContext -Subscription $subscription
$set
$roleassignment= Get-AzRoleAssignment -ObjectId $user.Id
$roleassignment
}

输出:

参考:

安装Azure Az PowerShell模块| Microsoft文档

 类似资料:
  • 我在一个有这种结构的拉威尔项目中工作 用户:id | first | u name |。。。 角色:id|name 分配的角色:id |用户id |角色id 我认为这是很明显的:p 用户模型 角色模型 我正在寻找一种方法来获取所有具有指定角色(在本例中为“教师”)的用户。我试过这个: 但这总是返回一个包含所有用户的数组。 有人知道为什么会这样吗?谢谢

  • 接口说明 获取角色列表 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/role/v1.0.0/list 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sidx string query 否 排序字

  • 接口说明 获取角色列表 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 GET /permissions/api/team/role/v1.0.0/

  • 我正在制作自己的Start/BookmarkPage作为一个业余项目。 我想以一种干净的方式组织我的书签。我喜欢苹果通过请求meta应用程序图标来完成这一工作的方式,所以我制作了一个JavaScript/Ajax/PHP函数来完成这项工作。 然而,当一个网站的头部没有应用程序图标时,我想知道该网站使用的主颜色,就像你在这里看到的那样 safari上的苹果书签(背景有网站的主色) chrome书签(

  • 我搜索了以下内容:,但没有找到任何内容。 JDA版本:

  • 问题内容: 我有一段维护代码,应该在某些时间点向某些用户授予选择特权: 我想对所有表执行此操作。我可以在Oracle或MySQL中使用它来获取完整列表,然后像这样继续前进。 但是由于我已经有了对象,所以我想知道是否还有另一种方法来获取所有映射的实体,经理知道(我正在使用Hibernate进行内部编程)。 问题答案: 我可以通过两种方式获取所有映射的实体及其对应的SQL表(可能还有其他)。 最直接的