Hashicorp Terraform-在Azure Key Vault中存储Azure存储帐户访问密钥

时间:2019-03-06 21:59:39

标签: azure azure-storage terraform azure-keyvault terraform-provider-azure

作为免责声明,我是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字符串放在哪个文件/配置中?

非常感谢大家!

1 个答案:

答案 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更改为您的资源。结果在我这一边:

enter image description here