Azure 服务主体轮换(托管身份的图形 API 权限)

问题描述 投票:0回答:1

我的最终目标是能够轮换 SPN 机密并添加 Keyvault 的新秘密。我想到使用 Azure 自动化帐户操作手册可以做到这一点。不过,我认为 自动化帐户的托管身份必须 拥有读写应用程序的Graph API权限 (拥有或全部)目前我不确定是否有什么办法 为托管身份提供图形 API 权限 通过门户的企业应用程序,我有 powershell 脚本来做到这一点。有没有其他方法可以实现spn 未经图形 API 管理员同意进行轮换?意愿给予 Azure AD 内置应用程序管理员角色 与 Graph API 权限相同的工作或者我失踪了 某物。有没有更好的方法来管理 SPN 创建 和秘密轮换?

我尝试使用托管身份通过 Runbook 登录,但它没有足够的权限来创建或管理应用程序注册

azure-active-directory azure-ad-graph-api azure-automation azure-managed-identity azure-service-principal
1个回答
0
投票

为托管标识的服务主体分配“应用程序管理员”目录角色(可以通过门户),并为其授予 Microsoft Graph 应用程序角色“Application.ReadWrite.All”(只能通过 API/PowerShell),两者都会生成托管标识拥有几乎相同的特权。

请记住,这两种方法都是“极高”特权,因为它们允许有效地“接管”可能被授予特权访问的应用程序身份。我建议您将两者视为授予托管身份(以及能够使用该托管身份进行身份验证的每个人),就像他们是全局管理员并且拥有对所有 M365 和 Azure 环境的完全访问权限一样。 相反,您可能需要考虑几种替代方案:

在单个目标应用程序和服务主体(而非租户范围)范围内为托管身份的服务主体分配“应用程序管理员”目录角色。
  • 向托管标识的服务主体授予 Microsoft Graph 应用程序角色(应用程序权限)
  • Application.ReadWrite.OwnedBy
  • (例如,使用 PowerShell),并使其成为每个目标应用程序和服务主体的所有者
© www.soinside.com 2019 - 2024. All rights reserved.