使用 Terraform 阻止允许共享访问密钥

问题描述

嘿,我目前正在使用 terraform v0.12.28 和提供程序 azurerm v2.22.0 我想在 Azure 存储配置中禁用(允许共享访问密钥、允许 Blob 公共访问和使用 TLS1_2)以使其安全,我发现“allow_blob_public_access = false" 和 "min_tls_version = "TLS1_2" 但找不到禁用允许共享访问密钥的参数。

resource "azurerm_storage_account" "main" {
  name                     = var.storage_account_name
  resource_group_name      = azurerm_resource_group.main.name
  location                 = azurerm_resource_group.main.location
  account_tier             = var.account_tier
  account_replication_type = var.account_replication_type
  allow_blob_public_access = false
  min_tls_version = "TLS1_2"
  

}  

解决方法

Terraform 中没有设置允许共享访问密钥的选项,只是表示 Terraform 不支持此功能,而 Azure 中的此功能也是预览版。还有另一种方法可以在 Azure 门户旁边设置允许共享访问密钥

这种方式是通过 Terraform 中的 local-exec 使用 Azure CLI:

resource "null_resource" "example" {
  provisioner "local-exec" {
    command = "az resource update --ids ${azurerm_storage_account.main.id} --set properties.allowSharedKeyAccess=false"
  }
}

您可以获得有关允许共享访问密钥here的更多详细信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...