You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bicep中引用加密密钥及最新版本?能否用existing获取keyUriWithVersion?

问题解答

可以的,完全能够通过existing关键字引用已存在的密钥保管库和加密密钥,进而获取keyUriWithVersion的值,无需依赖创建密钥时的模块输出。

具体实现步骤

  • 首先,用existing关键字引用目标密钥保管库:
    resource keyVault 'Microsoft.KeyVault/vaults@2023-07-01' existing = {
      name: 'your-keyvault-name'
      scope: resourceGroup('your-resource-group-name') // 若密钥保管库在不同资源组,需指定该参数
    }
    
  • 接着,同样用existing引用密钥保管库内的目标加密密钥:
    resource encryptionKey 'Microsoft.KeyVault/vaults/keys@2023-07-01' existing = {
      parent: keyVault
      name: 'your-key-name'
    }
    
  • 最后,直接通过encryptionKey.properties.keyUriWithVersion获取带版本的密钥URI,示例如下:
    // 将获取到的密钥URI用于存储账户的加密配置
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
      name: 'your-storage-account'
      location: keyVault.location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        encryption: {
          services: {
            blob: {
              keyType: 'Account'
              enabled: true
            }
          }
          keySource: 'Microsoft.KeyVault'
          keyVaultProperties: {
            keyUri: encryptionKey.properties.keyUriWithVersion
          }
        }
      }
    }
    

注意事项

  • 部署Bicep文件的身份(如用户账号、服务主体)必须拥有密钥保管库的Key Vault Reader或更高权限,否则会因权限不足无法读取密钥属性。
  • 若密钥保管库与当前部署资源不在同一订阅或资源组,必须在existing资源定义中明确指定scope参数。

内容的提问来源于stack exchange,提问作者learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:19:50