Azure Marketplace SaaS 加速器安装错误:未经授权对 Key Vault 执行操作

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

我正在尝试按照 GitHub 存储库中提供的安装说明,使用 Azure Cloud Shell 安装 Azure Marketplace SaaS Accelerator

但是,我在运行安装脚本时遇到错误。具体错误与 Key Vault 上的未经授权的操作有关。以下是我收到的错误消息:

enter image description here

脚本在

Deploy.ps1 文件中的这些点失败:

  • 361路
  • 377线
  • 389路

enter image description here

调用者(Azure CLI 用户)似乎没有在配置了 RBAC 的 Key Vault 中设置机密所需的权限。

我已采取的步骤:

  1. 尝试获取当前登录用户的对象ID:

    az account show --query user.name -o tsv
    
    
  2. 尝试使用返回的电子邮件检索对象 ID:

    az ad user list --filter "userPrincipalName eq '[email protected]'" --query "[].{id:objectId}" -o tsv
    
    
  3. 已验证 Azure CLI 登录并检索帐户详细信息:

    az account show
    
    
问题:

    如何在 Azure Cloud Shell 中正确检索登录用户的对象 ID?
  1. 如何确保我的用户拥有在 Key Vault 中设置机密的必要权限?
  2. 有没有办法直接在部署脚本中处理此 RBAC 问题?
任何解决此授权问题的指导或步骤将不胜感激!

附件:

    错误屏幕截图和有关设置的更多详细信息。
谢谢!


错误1

enter image description here

错误2

enter image description here

错误3

enter image description here

azure azure-keyvault azure-cli azure-rbac azure-cloud-shell
1个回答
0
投票
如何在 Azure Cloud Shell 中正确检索登录用户的对象 ID?

您可以使用以下 CLI 命令在 Azure Cloud Shell 中检索登录用户的对象 ID:

az ad signed-in-user show --query id -o tsv

回复:

enter image description here

如何确保我的用户拥有在 Key Vault 中设置机密的必要权限?

请注意,运行以下命令将创建密钥保管库,默认情况下访问配置设置为 RBAC 访问:

az keyvault create --name kvname --resource-group rgname

enter image description here

在这种情况下,所有者或贡献者等通用角色将无法在密钥保管库中设置机密,并会抛出如下错误:

az keyvault secret set --vault-name kvname --name secretname --value="secretvalue"

回复:

enter image description here

要解决此错误,登录用户必须具有

“Key Vault 管理员”“Key Vault 机密官员” 角色才能设置机密。

您可以使用此命令将所需的 RBAC 角色分配给登录用户:

az role assignment create --assignee "userObjID" --role "Key Vault Administrator" --scope "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.KeyVault/vaults/kvname"

回复:

enter image description here

当我在将角色分配给登录用户后再次运行命令时,成功创建的机密如下:

az keyvault secret set --vault-name kvname --name secretname --value="secretvalue"

回复:

enter image description here

有没有办法直接在部署脚本中处理此 RBAC 问题?

或者,您可以通过禁用使用

Vault 访问权限创建 Azure 密钥保管库的 RBAC 访问权限来修改此命令:

az keyvault create --name kvname --resource-group rgname --enable-rbac-authorization false

enter image description here

将此

第 360 行替换为以下修改后的命令,该命令可解决所有提到的 3 个与密钥保管库相关的部署错误。

az keyvault create --name $KeyVault --resource-group $ResourceGroupForDeployment --enable-rbac-authorization false --output $azCliOutput
    
© www.soinside.com 2019 - 2024. All rights reserved.