小编Clu*_*nds的帖子

从二头肌模块检索存储帐户访问密钥

通过 Bicep 模块部署存储帐户时是否可以检索存储帐户的访问密钥?

我的父二头肌使用模块文件创建一个存储帐户,然后它需要一个访问密钥,但我无法让它以安全的方式工作:

家长二头肌

module functionAppStorageModule 'storage-account.bicep' = {
  name: 'functionAppStorage'
  params: {
    ...
  }
}

resource functionApp 'Microsoft.Web/sites@2021-03-01' = {
  name: functionAppName
  location: location
  kind: 'functionapp'
  properties: {
    siteConfig: {
      appSettings: [
        {
          name: 'store_key'
          value: ???
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我在模块文件上设置输出,并在父二头肌中使用该输出,我就可以让它工作:

模块二头肌

output storageAccountStr string = 'AccountKey=${listKeys(storageAccount.id, storageAccount.apiVersion).keys[0].value}'
Run Code Online (Sandbox Code Playgroud)

家长二头肌

properties: {
        siteConfig: {
          appSettings: [
            {
              name: 'store_key'
              value: functionAppStorageModule.outputs.storageAccountStr 
            }
          ]
        }
      }
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎并不安全,因为密钥以纯文本形式出现在 Azure 门户上的“部署”输出部分中。

或者,我可以通过预先部署存储帐户而不使用模块文件来解决这个问题,因为模块的使用似乎是问题所在,但只是想知道我上面尝试的内容是不可能的吗?

谢谢

azure azure-storage azure-resource-manager azure-functions azure-bicep

17
推荐指数
1
解决办法
6366
查看次数