Azure bicep 使用来自不同资源组的密钥保管库
Azure bicep use key vault from different resource group
我有一个 Azure Key Vault(KV),它具有共享机密和一个需要拉入不同部署的证书。
例如DEV、TEST、UAT、Production 都有自己的密钥库,但需要访问通配符 ssl 证书的共享 KV。
我尝试了多种方法,但每种方法都有错误。我正在为部署资源组中的 KV 做类似的事情,没有问题
是否可以拥有这个然后将其用作模块?像这样...
sharedKV.bicep
var kvResourceGroup = 'project-shared-rg'
var subscriptionId = subscription().id
var name = 'project-shared-kv'
resource project_shared_kv 'Microsoft.KeyVault/vaults@2021-06-01-preview' existing = {
name: name
scope: resourceGroup(subscriptionId, kvResourceGroup )
}
然后像这样使用:
template.bicep
module shared_kv './sharedKeyVault/template.bicep' = {
name: 'sharedKeyVault'
}
resource add_secrect 'Microsoft.KeyVault/vaults/secrets@2021-06-01-preview' = {
name: '${shared_kv.name}/mySecretKey'
properties: {
contentType: 'string'
value: 'secretValue'
attributes: {
enabled: true
}
}
}
如果您需要针对与其余部署不同的资源组(and/or 子),模块的范围 属性 需要针对 RG/sub。例如
module shared_kv './sharedKeyVault/template.bicep' = {
scope: resourceGroup(kvSubscription, kvResourceGroupName)
name: 'sharedKeyVault'
params: {
subId: kvSubscription
rg: kvResourceGroupName
...
}
}
理想情况下,KV 的 sub/rg 将被传递到模块而不是硬编码(您可能知道,但以防万一...)
我有一个 Azure Key Vault(KV),它具有共享机密和一个需要拉入不同部署的证书。
例如DEV、TEST、UAT、Production 都有自己的密钥库,但需要访问通配符 ssl 证书的共享 KV。
我尝试了多种方法,但每种方法都有错误。我正在为部署资源组中的 KV 做类似的事情,没有问题
是否可以拥有这个然后将其用作模块?像这样...
sharedKV.bicep
var kvResourceGroup = 'project-shared-rg'
var subscriptionId = subscription().id
var name = 'project-shared-kv'
resource project_shared_kv 'Microsoft.KeyVault/vaults@2021-06-01-preview' existing = {
name: name
scope: resourceGroup(subscriptionId, kvResourceGroup )
}
然后像这样使用: template.bicep
module shared_kv './sharedKeyVault/template.bicep' = {
name: 'sharedKeyVault'
}
resource add_secrect 'Microsoft.KeyVault/vaults/secrets@2021-06-01-preview' = {
name: '${shared_kv.name}/mySecretKey'
properties: {
contentType: 'string'
value: 'secretValue'
attributes: {
enabled: true
}
}
}
如果您需要针对与其余部署不同的资源组(and/or 子),模块的范围 属性 需要针对 RG/sub。例如
module shared_kv './sharedKeyVault/template.bicep' = {
scope: resourceGroup(kvSubscription, kvResourceGroupName)
name: 'sharedKeyVault'
params: {
subId: kvSubscription
rg: kvResourceGroupName
...
}
}
理想情况下,KV 的 sub/rg 将被传递到模块而不是硬编码(您可能知道,但以防万一...)