当前位置: 首页 > 知识库问答 >
问题:

Azure KeyVault:如何并行设置访问策略

柯树
2023-03-14

使用set-azkeyvaultaccessPolicy命令创建访问策略时,出现错误:操作失败,因为“密钥存储库”从操作开始时开始更改。控件执行并行操作时,可能会发生这种情况。若要防止此错误,请序列化操作,以便一次只对。有关详细信息,请参阅此链接:https://go.microsoft.com/fwlink/?linkid=2147741.

共有1个答案

池俊茂
2023-03-14

正如错误消息中所提到的,如果并行运行命令来设置访问策略,将导致conflicktherror

因此,如果希望同时在访问策略中设置一组用户/服务主体/安全组,更好的选择是使用ARM模板,您可以将访问策略部署到现有的密钥存储库,而无需重新部署整个密钥存储库模板,请参见此示例。在本示例中,只有一个对象,要添加多个对象,只需像下面这样添加它们,修改tenantidobjectid权限

"resources": [
     {
      "type": "Microsoft.KeyVault/vaults/accessPolicies",
      "name": "[concat(parameters('keyVaultName'), '/add')]",
      "apiVersion": "2019-09-01",
      "properties": {
      "accessPolicies": [
                    {
                        "tenantId": "xxxxxxx",
                        "objectId": "xxxxxxx",
                        "permissions": {
                            "keys": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore",
                                "UnwrapKey",
                                "WrapKey"
                            ],
                            "secrets": [
                                "Get",
                                "List",
                                "Set",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "certificates": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore",
                                "ManageContacts",
                                "ManageIssuers",
                                "GetIssuers",
                                "ListIssuers",
                                "SetIssuers",
                                "DeleteIssuers"
                            ]
                        }
                    },
                    {
                        "tenantId": "xxxxxxx",
                        "objectId": "xxxxxxx",
                        "permissions": {
                            "keys": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "secrets": [
                                "Get",
                                "List",
                                "Set",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "certificates": [
                                "Get",
                                "List",
                                "Import",
                                "Update",
                                "Create"
                            ]
                        }
                    },
                    {
                        "tenantId": "xxxxxxx",
                        "objectId": "xxxxxxx",
                        "permissions": {
                            "keys": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "secrets": [
                                "Get",
                                "List",
                                "Set",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "certificates": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore",
                                "ManageContacts",
                                "ManageIssuers",
                                "GetIssuers",
                                "ListIssuers",
                                "SetIssuers",
                                "DeleteIssuers"
                            ]
                        }
                    },
                    {
                        "tenantId": "xxxxxxx",
                        "objectId": "xxxxxxx",
                        "permissions": {
                            "secrets": [
                                "List",
                                "Get"
                            ],
                            "keys": [],
                            "certificates": []
                        }
                    }
                ]
            }
       }
  ]
 类似资料:
  • 问题内容: 在后台代码中,我设置了一些数据。 问题是如何在javascript中获取会话值(在我的示例中为“示例数据”)并设置一个新值? 问题答案: 使用Java脚本访问和分配会话变量: 使用Javascript分配ASP.NET会话变量: 使用Javascript访问ASP.NET Session变量:

  • 问题内容: 我对使用时如何获取价值感到困惑。这是我的测试内容: 控制台将输出。但是,如果我稍微修改一下代码,它就会起作用: 当然,除了那行因为我现在正在使用而失败。我都需要正常工作。我该如何解决? 编辑 : 我应该提到,不是受控组件。但是当我进入时,似乎设置了值。上面的第二个代码块确实打印出了该值,同样,如果我在Chrome中检查了输入元素并在控制台中键入,它将显示期望的值。 问题答案: 得到它了

  • 根据Tomcat文档,我运行以下命令来生成SSL密钥存储。 我得到以下几点:

  • 问题内容: 我在服务中使用了异步方法(Spring 3 @Async注释)。而且我有一个问题-产生的线程没有安全上下文。原因是Spring Security默认为其上下文持有者使用策略。但是我需要使用策略。目前,我在中设置了策略。但是我认为这不是一个好习惯。 那么如何在上下文配置文件中进行设置? Spring Security的版本是3.0.0。 问题答案: 你可以将环境变量设置为。你还可以使用一

  • 我需要一点指导如何设置我的S3桶策略和/或IAM权限配置文件。我们的Rails应用程序将文件上传到桶中,并在上传后显示文档的链接。基本上,我想启用阻止所有公共访问,因为它是安全的,但从内Rails应用程序文档应该能够上传和打开时,点击一个链接。因此,我创建了一个具有以下权限配置文件的IAM用户: 然后我添加了一个桶策略,如下所示: 对于,我想我是说:这个用户可以在这个bucket上做任何事情吗?这

  • 在尝试使用AzureKeyVault保护密钥时,我遇到以下错误: 00:01:41错误]读取钥匙圈时出错。微软蔚蓝色的钥匙库。模型。KeyVaultErrorException:操作在Microsoft返回了无效的状态代码“禁止”。蔚蓝色的钥匙库。KeyVault客户端。WrapkeyWithTtpMessageAsync(String Vault BaseUrl、String keyName、S