ARM 模板循环依赖问题

问题描述 投票:0回答:1

我在 ARM 模板中拥有 2 个相互依赖的 Azure 资源:一个密钥金库和一个服务 Fabric 集群。

对于密钥金库,我需要在密钥金库的访问策略中引用服务 Fabric 群集的对象 ID,以允许它访问机密。对于服务结构群集,我需要它引用密钥金库中的秘密。在部署期间,这两种资源都不存在。

有什么方法可以让我引用服务 Fabric 集群的对象 ID 来提供给密钥库的访问策略,有什么方法可以让我在密钥库中生成秘密而不对任何值进行硬编码?理想情况下,我们只知道秘密名称,并且只将该秘密名称提供给 ARM 模板中的服务 Fabric 集群。

azure azure-service-fabric azure-resource-manager azure-keyvault azure-template
1个回答
0
投票

我相信我有一个类似的情况,我有一个包含秘密和证书的Key Vault,这些秘密和证书被服务织物集群(SFC)引用,然后我需要为SFC管理的身份授予权限,使其能够访问Key Vault。我使用PowerShell和嵌套链接的ARM模板的组合。

通过 Azure DevOps 管道启动单个 PowerShell 脚本,处理以下部署步骤。

  1. 通过ARM部署Key Vault
  2. 通过PS将秘密和证书导入到KV中。
  3. 通过ARM部署SFC(参考KV秘密)。
    1. 在SFC(通过dependon)之后,执行ARM部署,设置KV访问策略。

来自微软的例子。https:/github.comAzureazure-quickstart-templatesblobmaster101-keyvault-add-access-policyazuredeploy.json#L35。

    {
      "type": "Microsoft.KeyVault/vaults/accessPolicies",
      "name": "[concat(parameters('keyVaultName'), '/add')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "accessPolicies": [
          {
            "tenantId": "[parameters('tenantId')]",
            "objectId": "[parameters('objectId')]",
            "permissions": {
              "secrets": "[parameters('secretsPermissions')]"
            }
          }
        ]
      }
    }

一切的部署和设置都是一次发布。

© www.soinside.com 2019 - 2024. All rights reserved.