作为免责声明,我是Terraform的新手,我试图弄清楚如何在Azure Key Vault中存储Azure存储帐户访问密钥。 (参考here)。
所引用的特定命令是:
export ARM_ACCESS_KEY=$(az keyvault secret show --name terraform-backend-key --vault-name myKeyVault --query value -o tsv)
我知道--vault值应替换为我的Key Vault的名称,但是我应该将--name值替换为什么?
最重要的是,我应该将整个导出ARM_ACCESS_KEY字符串放在哪个文件/配置中?
非常感谢大家!
答案 0 :(得分:0)
要将Terraform状态存储在Azure存储帐户中,必需的资源是存储帐户,但是对于您来说,您想将存储访问密钥存储在Azure密钥保管库中。因此,您需要创建一个新的密钥库或使用现有的密钥库。
您可以使用CLI命令将存储访问密钥存储在密钥库中,如下所示:
az keyvault secret set --name secret_name --vault-name yourKeyvault_name --value yourStorageAccessKey
然后使用您提供的命令导出环境变量 ARM_ACCESS_KEY :
export ARM_ACCESS_KEY=$(az keyvault secret show --name secret_name --vault-name yourKeyvault_name --query value -o tsv)
然后,您只需要按照问题中引用的文档中的步骤进行操作即可。
更新
如果您要在Windows中设置environment variables,可以这样操作:
$env:VAR_NAME='vaule'
在您的问题中,您可以这样导出存储访问密钥:
$env:ARM_ACCESS_KEY=(az keyvault secret show --name secret_name --vault-name yourKeyvault_name --query value -o tsv)
将secret_name和yourKeyvault_name更改为您的资源。结果在我这一边: