【问题标题】:Azure ARM template - check for existing Key Vault access policiesAzure ARM 模板 - 检查现有的 Key Vault 访问策略
【发布时间】:2019-08-30 11:18:42
【问题描述】:

我正在寻找确定是否为给定密钥保管库设置了任何访问策略,并将其用作模板中的条件。如果没有,我想创建访问策略,否则应该跳过创建。我怎样才能做到这一点?以下是我现在得到的,没有条件表达式。

{
  "comments": "Create an Azure Key Vault and add an access policy in the key vault for the webb app.",
  "type": "Microsoft.KeyVault/vaults",
  "name": "[parameters('KeyVaultName')]",
  "apiVersion": "2018-02-14",
  "location": "[resourceGroup().location]",
  "properties": {
    "enabledForDeployment": false,
    "enabledForTemplateDeployment": false,
    "enabledForVolumeEncryption": false,
    "tenantId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.tenantId]",
    "accessPolicies": [
      {
        "tenantId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.tenantId]",
        "objectId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.principalId]",
        "permissions": {
          "secrets": [ "get", "list" ]
        }
      }
    ],
    "sku": {
      "name": "standard",
      "family": "A"
    }
  },
  "dependsOn": [
    "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]"
  ]
},

【问题讨论】:

  • 为什么要这样做?虽然我知道 ARM 模板中的访问策略的一个主要缺点是您必须定义整个集合,因为它会覆盖所有现有的。也许这就是你遇到的问题?
  • 您可以使用 Azure PowerShell 检查现有密钥,然后使用 ARM 创建您需要的额外密钥。

标签: azure azure-keyvault arm-template


【解决方案1】:

您真的无法使用 arm 模板检查任何内容,您需要将此检查外部化或始终应用它们。缺点是 - 如果你这样做,它会覆盖现有的。或者,您可以在模板中一一添加策略,这样可以解决这两件事。

【讨论】:

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