我在 ARM 模板中拥有 2 个相互依赖的 Azure 资源:一个密钥金库和一个服务 Fabric 集群。
对于密钥金库,我需要在密钥金库的访问策略中引用服务 Fabric 群集的对象 ID,以允许它访问机密。对于服务结构群集,我需要它引用密钥金库中的秘密。在部署期间,这两种资源都不存在。
有什么方法可以让我引用服务 Fabric 集群的对象 ID 来提供给密钥库的访问策略,有什么方法可以让我在密钥库中生成秘密而不对任何值进行硬编码?理想情况下,我们只知道秘密名称,并且只将该秘密名称提供给 ARM 模板中的服务 Fabric 集群。
我相信我有一个类似的情况,我有一个包含秘密和证书的Key Vault,这些秘密和证书被服务织物集群(SFC)引用,然后我需要为SFC管理的身份授予权限,使其能够访问Key Vault。我使用PowerShell和嵌套链接的ARM模板的组合。
通过 Azure DevOps 管道启动单个 PowerShell 脚本,处理以下部署步骤。
{
"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')]"
}
}
]
}
}
一切的部署和设置都是一次发布。