外部合作的管理员帐户使用 Azure 密钥存储库时收到警告和错误

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3192496
症状
外部用户由承租人共同管理员,负责创建新的 Azure 密钥存储库。但是,在创建存储库时该用户会收到以下警告消息︰

PS C:\ > 新 AzureRmKeyVault-VaultName <Key_Vault_Name>-ResourceGroupName <Resource_Group>-位置<Region>
警告︰ 在此 命令 的标记参数的用法将在将来的版本中修改。这将会影响创建,
更新并追加 Azure 的资源的标记。有关更改的详细信息,请访问 </Region></Resource_Group></Key_Vault_Name>https://github.com/Azure/azure-powershell/issues/726#issuecomment-213545494
警告︰ 访客用户不允许执行此操作。

电子仓库名称︰<Key_Vault_Name>
资源组名称︰<Resource_Group>
位置︰<Region>
资源
ID: /subscriptions/<SubscriptionID>/resourceGroups/<Resource_Group>/providers/Microsoft.KeyVault/vaults/<Key_Vault_Name>
保险存储 URI: </Key_Vault_Name></Resource_Group></SubscriptionID></Region></Resource_Group></Key_Vault_Name>https://。 vault.azure.net
租户 ID:<TenantID>
SKU︰ 标准
启用部署。: False
启用模板部署。: False
启用磁盘加密?: False
访问策略︰
标记︰

警告︰ 未设置访问策略。没有用户或应用程序已经使用此存储库的访问权限。请使用设置 AzureRmKeyVaultAccessPolicy 设置访问策略。

</TenantID>
此外,所有的尝试该用户管理密钥存储库的访问策略或将密钥或密码添加到保险存储触发器错误和失败。

如果外部用户尝试执行的运行设置 AzureRmKeyVaultAccessPolicy配置访问策略建议的步骤,将触发以下错误︰

PS C:\ > 集 AzureRmKeyVaultAccessPolicy-VaultName <Key_Vault_Name>-ResourceGroupName <Resource_Group>-范围内<username>@contoso.com-PermissionsToKeys 获得、 创建、 删除、 列出、 更新、 导入、 备份、 还原所有-PermissionsToSecrets
组-AzureRmKeyVaultAccessPolicy︰ 访客用户不允许执行此操作。
在行︰ 1 字符︰ 1

+ 设置-AzureRmKeyVaultAccessPolicy-VaultName <Key_Vault_Name>-ResourceGroupName...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (::)[组-AzureRmKeyVaultAccessPolicy] ODataErrorException
+ FullyQualifiedErrorId: Microsoft.Azure.Commands.KeyVault.SetAzureKeyVaultAccessPolicy
如果用户试图查看密钥存储库失败与此错误︰ PS C:\ > Get AzureKeyVaultKey VaultName<Key_Vault_Name>
获得 AzureKeyVaultKey:"列表",不允许操作
在行︰ 1 字符︰ 1
+ Get AzureKeyVaultKey VaultName<Key_Vault_Name>
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (::)[Get-AzureKeyVaultKey] KeyVaultClientException
+ FullyQualifiedErrorId: Microsoft.Azure.Commands.KeyVault.GetAzureKeyVaultKeyIf 用户尝试将项添加到密钥存储库失败与错误︰ 如果用户尝试将键添加到密钥存储库与此错误︰ PS C:\ 失败 > 添加 AzureKeyVaultKey-VaultName <Key_Vault_Name>-<Key_Encryption_Key>名称-目标软件

"创建操作"不允许添加-AzureKeyVaultKey:
在行︰ 1 字符︰ 1
+ 添加-AzureKeyVaultKey-VaultName <Key_Vault_Name>-命名 KEK 的目标 Softwa...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (::)[添加-AzureKeyVaultKey],KeyVaultClientException
+ FullyQualifiedErrorId: Microsoft.Azure.Commands.KeyVault.AddAzureKeyVaultKeyIf 用户尝试将密码添加到密钥存储库失败与此错误︰ PS C:\ > $Secret = ConvertTo SecureString-字符串 '密码 1' AsPlainText-强制
PS C:\ > 集 AzureKeyVaultSecret-VaultName <Key_Vault_Name>-命名的机密 G SecretValue $Secret
"设置操作"不允许设置-AzureKeyVaultSecret:
在行︰ 1 字符︰ 1

+ 设置-AzureKeyVaultSecret-VaultName <Key_Vault_Name>-命名 G 秘密 SecretValu...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (::)[组-AzureKeyVaultSecret] KeyVaultClientException
+ FullyQualifiedErrorId: Microsoft.Azure.Commands.KeyVault.SetAzureKeyVaultSecret
</Key_Vault_Name></Key_Vault_Name></Key_Vault_Name></Key_Encryption_Key></Key_Vault_Name></Key_Vault_Name></Key_Vault_Name></Key_Vault_Name></username></Resource_Group></Key_Vault_Name>
原因
外部是来宾帐户的帐户没有必需的访问级别来管理密钥存储库和密钥存储在它们的秘密。尽管他们的帐户被列为订阅联管理员也是如此。
解决方案
有两个选项可授予外部帐户作为租户在管理员共同管理密钥存储库所需的权限︰
  • 在租户是全局管理员可以使来宾帐户密钥存储库的所有者通过运行以下命令︰

    PS C:\ > 集 AzureRmKeyVaultAccessPolicy VaultName <Key_Vault_Name>-ResourceGroupName <Resource_Group>-范围内<username>@outlook.com-PermissionsToKeys 获取、 创建、 删除、 列出、 更新、 导入、 备份、 还原所有的 PermissionsToSecrets<b00> </b00> </username> </Resource_Group> </Key_Vault_Name>
  • 如果外部帐户将创建多个密钥存储库中该租户将来,租户的全局管理员不希望将权限授予今后的所有新密钥存储库,全局管理员可以通过执行以下步骤将来宾帐户转换为成员︰

    1. 使用 Azure 活动目录 PowerShell 模块︰

      PS C:\ > 安装模块的名称 AzureADPreview

      PS C:\ > 导入模块的名称 AzureADPreview
      全局管理员可以将转换用户来宾为成员通过运行以下命令︰

      PS C:\ > Get AzureADUser-筛选器"显示名称名姓 eq"|设置 AzureADUser 的用户类型成员
    2. 现在,外部用户可以创建新的密钥存储库不会有问题。如果愿意,他们可以使自己创建者/所有者上现有密钥存储库设置访问策略。为此,他们 shouldrun 以下命令︰

      PS C:\ > 登录 AzureRMAccount

      注意: 如果外部用户是 Microsoft 帐户 (MSA),它们必须包括 -TenantID 当他们通过使用连接参数 连接 AzureAD如下面的示例中所示。运行 登录 AzureRMAccount第一次提供了 TenantID。从这次登录,输出复制 TenantID,然后使用它来登录到 Azure 租户的 Microsoft 客户。

      PS C:\ > 连接 AzureAD TenantId<TenantID></TenantID>

    3. 外部用户进行身份验证后,他们可以进行自己的前面和他们收到"症状"一节中描述通过运行下面的命令来警告他们创建密钥存储库的所有者︰

      PS C:\ > 集 AzureRmKeyVaultAccessPolicy VaultName <Key_Vault_Name>-ResourceGroupName<Resource_Group>的范围内, <username>@outlook.com-PermissionsToKeys 获得,创建、 删除、 列出、 更新、 导入、 备份、 还原所有-PermissionsToSecrets</username> </Resource_Group> </Key_Vault_Name>

      使用此相同的命令,外部用户可以授予 servicePrincipals Azure AD 应用程序必需的权限来访问密钥和密钥存储库中。

      此外,它们可以如启用标志-EnabledForDeployment-EnabledForDiskEncryption 通过运行以下命令︰

      PS C:\ > 集 AzureRmKeyVaultAccessPolicy-VaultName <Key_Vault_Name>-ResourceGroupName <Resource_Group>-EnabledForDeployment EnabledForDiskEncryption</Resource_Group> </Key_Vault_Name>

警告:本文已自动翻译

属性

文章 ID:3192496 - 上次审阅时间:09/20/2016 01:59:00 - 修订版本: 1.0

  • kbmt KB3192496 KbMtzh
反馈