首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用地形的Azure FileShare山

使用地形的Azure FileShare山
EN

DevOps用户
提问于 2020-02-07 08:46:23
回答 1查看 3.3K关注 0票数 4

在VM配置期间自动挂载Azure文件存储的好方法是什么?

有一个微软文档描述如何在一般情况下挂载文件共享。这要求安装Azure CLI并登录用户。

作为另一种选择,我使用terraform在本地主机上创建了一个工作设置:

首先,需要定义现有的存储帐户:

代码语言:javascript
复制
data "azurerm_storage_account" "storage-account" {
  name                = "storageaccount"
  resource_group_name = "RG-storage-account"
}

当提供VM时,该共享由远程执行提供程序挂载:

代码语言:javascript
复制
resource "azurerm_virtual_machine" "vm" {
  # ...
  # stuff

  provisioner "remote-exec" {
    inline = [
      "sudo mkdir -p /mnt/${data.azurerm_storage_account.storage-accoun.name}/share",
      "sudo mount -t cifs //${data.azurerm_storage_account.storage-account.name}.file.core.windows.net/share /mnt/${data.azurerm_storage_account.storage-account.name}/share -o vers=3.0,dir_mode=0755,file_mode=0755,serverino,username=${data.azurerm_storage_account.storage-account.name},password=${data.azurerm_storage_account.storage-account.primary_access_key}",
    ]
  }
}

类似地,也可以通过使用云init将挂载注入到/etc/fstab

然而,在应用之后,密钥(作为primary_access_key访问)仍然处于terraform状态。这算安全吗?有办法从州中删除密钥吗?此外,当使用云init时,键将保留在VM的自定义数据中。

是否有另一种安全的方法可以在VM上挂载数据而不存储密钥?

EN

回答 1

DevOps用户

发布于 2020-03-24 12:07:14

最近,我读了一本关于Terraform的好书,我认为它回答了你的问题(Terraform &运行第二版)。ISBN-13: 978-1492046905ISBN-10: 1492046906)。

它基本上说,Terraform状态文件中的所有数据都以纯文本形式存储,包括敏感数据。作者说,目前(2019年5月)对此没有真正的解决方案,但采用加密和IAM等方法来控制基于策略的用户访问(本书讨论AWS,因此您必须找到Azure等效项,并防止未经授权访问状态文件)。

你可以在第三章,第78和79页找到更多的细节。关于这一点,吉顿也有一个悬而未决的问题:https://github.com/hashicorp/terraform/issues/516

票数 2
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/10741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档