簡體   English   中英

如何使用另一個二頭肌模塊文件中的密鑰庫

[英]How to use keyvault that is in another bicep module file

我正在創建一個部署密鑰保管庫和一些存儲帳戶的 bicep 文件。 但是這些資源在不同的模塊文件中。 當我嘗試將存儲帳戶連接字符串添加到密鑰保管庫時,我似乎可以引用密鑰保管庫。

主二頭肌

module resourceKeyVaultModule './modules/keyvault.bicep' = {
  name: 'resourceKeyVaultModuleDeployment'
  params: {
    application: application
    location: location
    environment: environment
    severity: severity
  }
  scope: resourceGroup
}

module resourceStorageAccountModule './modules/storage.bicep' = {
  name: 'resourceStorageAccountModuleDeployment'
  params: {
    application: application
    location: location
    environment: environment
    severity: severity
    keyVault: resourceKeyVaultModule.outputs.name
  }
  scope: resourceGroup
}

密鑰庫.bicep

// == Key Vault
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
  name: nameKeyVault
  location: location
  tags: {
    location: location
    environment: environment
    severity: severity
  }
  properties: {
    accessPolicies: [
      {
        objectId: ''
        permissions: {
          certificates: [
            'all'
          ]
          keys: [
            'all'
          ]
          secrets: [
            'all'
          ]
          storage: [
            'all'
          ]
        }
        tenantId: ''
      }
    ]
    sku: {
      family: 'A'
      name: 'standard'
    }
    tenantId: ''
  }
}

output name string = keyVault.name

存儲.二頭肌

param keyVault string

// == Storage Account
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = {
  name: nameStorageAccount
  location: location
  tags: {
    location: location
    environment: environment
    severity: severity
  }
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    minimumTlsVersion: 'TLS1_2'
  }
}

resource secretConnectionString 'Microsoft.KeyVault/vaults/secrets@2022-07-01' = {
  name: 'connectionString-storageAccount'
  dependsOn: [keyVault]
  tags: {
    location: location
    environment: environment
    severity: severity
  }
  properties: {
    value: 'DefaultEndpointsProtocol=https;AccountName=${storageAccount.name};AccountKey=${listKeys(storageAccount.id, storageAccount.apiVersion).keys[0].value};EndpointSuffix=${az.environment().suffixes.storage}'
  }
}

dependsOn: [keyVault]錯誤:封閉數組需要類型為“module[] | (resource | module) | resource[]”的項目,但提供的項目類型為“string”.bicep(BCP034)

我認為您正在尋找existing關鍵字。

要引用未部署在當前 Bicep 文件中的現有資源,請使用 existing 關鍵字聲明該資源。 當您部署需要從現有資源獲取值的資源時,請使用 existing 關鍵字。 您可以通過其符號名稱訪問現有資源的屬性。

當使用現有關鍵字引用時,不會重新部署資源。

資料來源: Bicep現有資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM