首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Set-AzKeyVaultAccessPolicy的服务主体所需的Azure AD权限

Set-AzKeyVaultAccessPolicy的服务主体所需的Azure AD权限
EN

Stack Overflow用户
提问于 2021-02-26 03:51:21
回答 2查看 200关注 0票数 1

在Azure DevOps (ADO)服务主体中用来执行调用以下IaC发布管道的应用程序注册所需的Azure AD权限是什么Set-AzKeyVaultAccessPolicy我正在尝试添加对密钥库的访问权限Microsoft.ManagedIdentity/userAssignedIdentities..。我看到的错误是:“警告:请确保您在AD Graph中有足够的权限来获取和列出图形对象,以便验证有效。否则跳过向导-BypassObjectIdValidation“我已经尝试了许多AAD 'read‘权限的组合。我当前恢复的权限是:

当我使用我的个人登录在本地测试时,脚本运行良好,添加了访问策略,并且“托管身份”能够访问Key Vault secret。我已经能够使用

-BypassObjectIdValidation作为ADO中的一种变通方法,但这看起来像是一种技巧。所有Azure资源都在同一订阅中,所有对象都在同一Azure租户中,因此我没有理由需要使用绕过开关。

其他信息:

深入研究微软的源代码,我进一步确信问题出在服务主体的AAD权限内。例如,下面的代码调用Graph..。

代码语言:javascript
复制
if (!this.BypassObjectIdValidation.IsPresent && ActiveDirectoryClient != null)
{
    objId = GetObjectId(this.ObjectId, this.UserPrincipalName, this.EmailAddress, this.ServicePrincipalName);
}
else if (ActiveDirectoryClient == null && objId == null)
{
    throw new Exception(Resources.ActiveDirectoryClientNull);
}

来源:https://github.com/Azure/azure-powershell/blob/a31eaed8e1d4f52752222d138436ce975b05dd5f/src/KeyVault/KeyVault/Commands/SetAzureKeyVaultAccessPolicy.cs#L519继续深入:

代码语言:js
复制
adObjects = GraphClient.Objects.GetObjectsByObjectIds(new GetObjectsParameters { ObjectIds = objectIdBatch, IncludeDirectoryObjectReferences = true });

来源:https://github.com/Azure/azure-powershell/blob/a31eaed8e1d4f52752222d138436ce975b05dd5f/src/Resources/Resources/ActiveDirectory/Models/ActiveDirectoryClient.cs#L280

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-26 07:00:04

显然,这个问题是一个“已知的产品限制”。https://github.com/Azure/azure-powershell/issues/10029#issuecomment-664485033

帮助文档中大约三分之一的内容:

​来源:https://docs.microsoft.com/en-us/powershell/module/az.keyvault/set-azkeyvaultaccesspolicy?view=azps-5.5.0#description

因此,似乎没有可以设置的权限组合来使命令小程序在没有开关的情况下工作。

票数 1
EN

Stack Overflow用户

发布于 2021-02-26 04:25:06

这是RBAC角色对密钥库的访问控制权限。

我们的设置提供了Azure DevOps服务连接主体Contributor在订阅上,这就足够了。文档进行了验证,事实上,您应该注意谁拥有Contributor在你的Vault上,因为他们可以给自己提供访问策略(在Azure中他们通常不能)。

如果你想要更少的特权,我可以试试User Access Administrator或者

Key Vault Administrator.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66375536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档