【问题标题】:How to assign Access Policies to an Azure Key Vault using Blueprints如何使用蓝图将访问策略分配给 Azure Key Vault
【发布时间】:2021-12-23 20:40:31
【问题描述】:

我正在通过 Azure 蓝图创建密钥保管库:它可以毫无问题地创建。 问题是,为了访问 Key Vault(列出、放置或获取值)必须配置访问策略。

使用 ARM 模板,我可以插入如下部分:

"accessPolicies": [
                    {
                        "tenantId": "22222222-3333-4444-aaaa-eeeeeeeeeeee",
                        "objectId": "77777777-6666-4444-8888-111111111111",
                        "permissions": {
                            "keys": [
                                "Get",
                                ...
                                "Restore"
                            ],
                            "secrets": [
                                "Get",
                                ...
                                "Restore"
                            ],
                            "certificates": []
                        }
                    },

但我需要有一个TenantId 和一个ObjectId 来硬编码,或者作为参数获取,这不是正确的方法。 不幸的是,我找不到将这些访问策略分配给 Key Vault 的方法,没有它就无法使用 Key Vault 本身,除非手动进行这些设置(并在每次升级蓝图时删除它们)。

是否有以正确方式执行此操作的指南或最佳实践?

【问题讨论】:

    标签: azure azure-keyvault azure-blueprints


    【解决方案1】:

    您可以使用"[subscription().tenantId]" 动态获取tenantId。见official documentation

    关于objectId,使用参数通常是正确的方法,如answer 中所述。 ObjectID 与 ARM 组件不在同一层,因此无法使用 ARM 动态获取这些组件。

    【讨论】:

    • 您的回答引导我更好地理解应该如何使用蓝图!让我触发的是“没有真正的方法可以动态地使用 ARM”。我认为最重要的部分是“使用 ARM”。我想我会发布答案和我得出的结果,但是如果没有您的答案中的提示,这是不可能的
    【解决方案2】:

    从@jul_DW 的回答开始,我意识到 ARM 无法轻松设置用户,所以我应该习惯蓝图中的一些东西。 事实上,Blueprint 的关键特性之一是角色分配

    要使用这种方法,我们需要为 Key Vault 启用 RBAC,但这很容易在 ARM 模板本身中完成:

       ...
       "type": "Microsoft.KeyVault/vaults",
       "properties": {
         ...
         "enableRbacAuthorization": true,
         ...
       }
    

    启用 RBAC 后,ARM 模板应远离分配权限,应使用蓝图中的角色分配功能。

    在我的例子中,我为所需的用户组分配了一个 Key Vault 管理员 角色,可以将其指示为参数。通过这种方式,ARM 模板保持尽可能简单,同时我们在为各种环境中的不同用户分配角色方面具有很大的灵活性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 2017-07-11
      相关资源
      最近更新 更多