【问题标题】:Azure Policy - Set expiry for keys/secretsAzure Policy - 设置密钥/机密的到期时间
【发布时间】:2021-11-02 09:27:26
【问题描述】:

我正在尝试编写一个 Azure 策略来检查 Azure 密钥是否有到期日期,如果没有,那么我想做一个 DeployIfNotExists 效果来设置一个。但是我收到“ResourceNotFound”错误。

注意:没有“then”语句的“if”语句可以正常工作,当我运行此策略时,它会显示哪些密钥没有到期日期。添加 deployifnotexist 效果时出现问题。

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.KeyVault/vaults/keys"
        },
        {
          "field": "Microsoft.KeyVault/vaults/keys/attributes.exp",
          "exists": false
        }
      ]
    },
    "then": {
      "effect": "deployIfNotExists",
      "details": {
        "type": "Microsoft.KeyVault/vaults/keys",
        "roleDefinitionIds": [
          "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
        ],
        "deployment": {
          "properties": {
            "mode": "incremental",
            "template": {
              "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
              "contentVersion": "1.0.0.0",
              "resources": [
                {
                  "type": "Microsoft.KeyVault/vaults/keys",
                  "apiVersion": "2021-06-01-preview",
                  "properties": {
                    "exp": "10000"
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "parameters": {}
}

【问题讨论】:

    标签: azure azure-policy


    【解决方案1】:

    在这里,您在 Key Vault 的数据层工作,其中包含什么(密钥、秘密、证书)。

    在这种情况下,当它与基础架构本身无关时(Key Vault 本身的配置),您必须为您的自定义策略使用 Microsoft.KeyVault.Data 模式,而不是 All

    也就是说,尚不支持 DeployIfNotExist 策略 - 请参阅 official documentation about Azure Policy for Key Vault。你只能AuditDeny

    【讨论】:

    • 如果是这种情况,为什么使用“Microsoft.KeyVault/vaults/keys/attributes.exp”字段的“if”条件会按预期工作?在评估此策略时,它会正确选择哪些密钥具有过期日期,如果它可以做到这一点,为什么我不能使用相同的字段修改过期日期?
    • 据我了解,“if”块检查独立资源而没有任何假设。进入“详细信息”块时,策略引擎假定您要部署的内容与扫描的内容之间存在父子关系,但此处不是这种情况,因为它是相同的资源。您可能会考虑改用修改效果,但查看 KeyVault 的“可修改”可用别名,这也不是您可以做的事情。回到您最初的需求,我会选择拒绝并提出一个脚本来减轻现有资源,这是我能想到的最好的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2018-01-17
    • 2016-05-15
    • 2017-05-05
    • 1970-01-01
    • 2019-10-30
    相关资源
    最近更新 更多