从Bicep的keyvault中检索一个秘密,并将其用作Synapse Workspace创建的输入



我想使用肱二头肌做以下操作:

  • 创建密钥库
  • 创建密钥库密钥
  • 使用这个秘密作为创建Synapse工作区(admin密码)的输入

我使用模块来创建所有的资源。

module keyVault 'modules/keyVault.bicep' = {
scope: resourceGroup
name: 'keyVault'
params: {
keyVaultName: keyVaultName  
location: location 
tenantID: subscription().tenantId
}
}
module  keyVaultSecret 'modules/keyVaultSecret.bicep' = {
scope: resourceGroup
name: 'keyVaultSecretSynapseSQLAdminPassword'
params: {
secretName: 'synapseSQLAdministratorLoginPassword'
secretValue: synapseSqlAdministratorLoginPassword
keyVaultName: keyVaultName
keyVaultSecretName: '${keyVault.name}/synapseSQLAdministratorLoginPassword'
}
}
module synapse 'modules/synapseWs.bicep' = {
scope: resourceGroup
name: 'synapse'
params: {

synapseWSName: synapseWSName
synapseWSLocation: location
defaultAccountUrl: storageAccount.outputs.accURL
synapseSqlAdministratorLogin:synapseSqlAdministratorLogin
synapseSqlAdministratorLoginPassword: keyVault.getSecret('keyVaultSecretSynapseSQLAdminPassword')
managedResourceGroupName: '${environmentName}-cargo-${applicationName}-synapsemanaged-rg'
sqlPoolName: sqlPoolName
synapsePrivateLinkHubName: synapsePrivateLinkHubName
synapsePrivateLinkHubLocation: location
}
}

行中使用的getSecret函数
synapseSqlAdministratorLoginPassword: keyVault.getSecret('keyVaultSecretSynapseSQLAdminPassword')

给了错误:"类型"module"不包含函数"getSecret";显然,这个函数只能在资源中使用。我怎么能用另一种方式做这件事呢?

感谢

您必须引用二头肌模板中存在的密钥库。你不能用那个函数来引用一个模块。您必须引用资源。

  1. 使用
  2. 模块创建密钥库
  3. 引用现有的密钥库(如您刚刚创建的)
  4. 在已有的密钥库引用上使用该函数

https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/resource-declaration?tabs=azure-powershell reference-existing-resources

相关内容

最新更新