sen*_*sen 5 azure azure-resource-manager azure-devops infrastructure-as-code azure-bicep
我的二头肌下方正在返回 keyvault。我喜欢访问父二头肌中 keyvault 中的属性/功能。但不知道将其用作模块时如何实现。
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
name: kvName
scope: resourceGroup(subscriptionId, kvResourceGroup )
}
output kv1 object=kv
Run Code Online (Sandbox Code Playgroud)
module kv './keyvault.bicep' = {
name: 'get Secrets'
params: {
subscriptionId: subscriptionId
kvResourceGroup: resourceGroupName
kvName: keyVaultName
}
}
var pwd= kv.outputs.kv1.getSecret('key')
Run Code Online (Sandbox Code Playgroud)
请建议如何进行?
简短的回答是不支持。
在您的
parent.bicep文件中,kv是模块引用,而不是资源。为了正确理解父子资源层次结构,Bicep 需要父属性值中正确父类型的资源引用。
不过,有一项简化资源引用的提案:
假设您有keyvault.bicep创建密钥保管库的模块
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' = {
name: kvName
...
}
output name string = kv.name
Run Code Online (Sandbox Code Playgroud)
在parent.bicep中,您可以获得对密钥保管库的引用,如下所示:
module kvModule './keyvault.bicep' = {
name: 'key-vault-${keyVaultName}'
params: {
kvName: keyVaultName
...
}
}
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
name: kvModule.outputs.name
}
Run Code Online (Sandbox Code Playgroud)
在您的示例中,有几件事:
从 Azure Key Vault 返回机密。该
getSecret函数只能在资源上调用Microsoft.KeyVault/vaults。使用此函数将秘密传递给 Bicep 模块的安全字符串参数。该函数只能与具有装饰器的参数一起使用@secure()。
| 归档时间: |
|
| 查看次数: |
2471 次 |
| 最近记录: |