Azure函数执行Get-AzADServicePrincipal所需角色/权限咨询
解决Terraform创建资源时服务主体App ID转显示名称的权限问题
要实现仅允许映射服务主体App ID到显示名称的操作,为执行脚本的服务主体分配以下最小权限/角色二选一即可:
选项1:Microsoft Graph应用权限
分配Application.Read.All应用权限(注意是应用权限,而非委派权限)并完成管理员同意。该权限允许服务主体读取Azure AD中所有应用程序和服务主体的基本信息,足够满足通过App ID获取显示名称的需求。
选项2:Azure AD内置角色
分配**目录读者(Directory Readers)**角色。这个内置角色拥有读取Azure AD中所有目录对象(包括服务主体)的权限,能支持你的操作且权限范围更贴合目录读取场景。
操作说明
- 权限分配:在Azure门户的Azure Active Directory > 应用注册中找到你的自动化服务主体,进入“API权限”页面,添加Microsoft Graph的
Application.Read.All应用权限,点击“授予管理员同意”。 - 角色分配:在Azure门户的Azure Active Directory > 角色和管理员中找到“目录读者”角色,添加你的服务主体作为成员。
分配完成后,重新执行命令(Get-AzADServicePrincipal -ApplicationId "123456-4564-464651651").DisplayName即可正常获取服务主体的显示名称。
内容的提问来源于stack exchange,提问作者druffin
相关产品推荐
相关产品推荐

