powershell - 使用 AzureAD 模块检索服务主体的应用程序权限

标签 powershell azure azure-active-directory

使用 AzureAD 模块,我可以使用 Get-AzureADServicePrincipalOAuth2PermissionGrant cmdlet 检索服务主体的所有委派权限。但是,我找不到类似的 cmdlet 来检索此模块中服务主体的应用程序权限

AzureAD 模块是否提供了检索服务主体的应用程序权限的方法?

最佳答案

应用程序权限分配在目录中表示为appRoleAssignments。从字面上讲,为应用程序的服务主体分配角色。

使用 V2 模块:

有两种方法可以获取角色。

已向主体 A 分配了哪些权限?

Get-AzureADServiceAppRoleAssignedTo -ObjectId eea0d6cd-20e2-4b81-97ca-5b0cbffac985 | fl

在这里,我获取了分配给该主体的应用程序权限。

谁拥有主体 A 的权限?

Get-AzureADServiceAppRoleAssignment -ObjectId f004dde9-b40f-4259-91be-e257009a444a | fl

此处的对象 ID 用于 Microsoft Graph。它列出了已分配任何应用程序权限的所有主体。

无论哪种方式,您仍然可以获得 AppRoleAssignments 列表。

  • Id = 已分配的 AppRole Id
  • PrincipalId = 权限分配给的服务主体的 ObjectId
  • ResourceId = 提供权限的服务主体的 ObjectId

您需要亲自以正确的角色加入任务。您可以打印出应用程序角色,例如MS Graph 很容易提供:

$msGraph = Get-AzureADServicePrincipal -ObjectId f004dde9-b40f-4259-91be-e257009a444a
$msGraph.AppRoles | fl

示例:

AllowedMemberTypes : {Application}
Description        : (Preview) Allows the app to read all files in all site collections without a signed in user.
DisplayName        : Read files in all site collections (preview)
Id                 : 01d4889c-1287-42c6-ac1f-5d1e02578ef6
IsEnabled          : True
Value              : Files.Read.All

关于powershell - 使用 AzureAD 模块检索服务主体的应用程序权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42244325/

相关文章:

powershell - 该字符串缺少终止符:'。在WindowsServerCore容器中

python - 如何安装requirements.txt pip错误->由于OSError : [Errno 2] No such file or directory而无法安装软件包

Azure AD B2C 编辑属性

azure - 通过 Powershell 将新的重定向 URI 插入 Azure 应用程序注册

azure - 如何使用 MS Graph 列出给定 LiveID 帐户的 Azure AD 实例?

powershell中等效的unix退出命令?

date - 如果 Get-Date 位于日期范围之间

powershell - 如何防止每 1 年或 2 年需要重新签署我的代码?

.net - 有没有办法以编程方式设置 ASP.NET 通用提供程序的连接字符串?

azure - Terraform Azure 扩展问题