首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform Azure提供者-用于容器的Azure公共访问级别

Terraform Azure提供者-用于容器的Azure公共访问级别
EN

Stack Overflow用户
提问于 2020-09-10 08:00:49
回答 2查看 2.2K关注 0票数 2

我试图将container_access_type值从“私有”更改为“私有”,但我一直收到一个错误。

我可以从Azure UI中执行这个操作。在Terraform代码中可能缺少一些东西。

请协助,谢谢。

代码语言:javascript
复制
provider "azurerm" {
version = "=2.25.0"
features {}
}

resource "azurerm_resource_group" "storage" {
  name     = "tfstorageresourcegroup"
  location = "North Europe"
}

resource "azurerm_storage_account" "account" {
  name = "${azurerm_resource_group.storage.name}"
  location = "${azurerm_resource_group.storage.location}"
  account_tier = "Standard"
  resource_group_name = "${azurerm_resource_group.storage.name}"
  account_replication_type = "LRS"
  enable_https_traffic_only = true
  allow_blob_public_access = true
}


resource "azurerm_storage_container" "container" {
    name = "tftestcontainer"
    storage_account_name = "${azurerm_storage_account.account.name}"
    container_access_type = "container"
}

resource "azurerm_storage_blob" "blob" {
    name = "tftestblob"
    storage_account_name = "${azurerm_storage_account.account.name}"
    storage_container_name = "${azurerm_storage_container.container.name}"
    type = "Page"
    size = "5120"
}

错误:更新容器“tftest容器”的访问控制错误(存储帐户“tfstorageresourcegroup”/资源组“tfstorageresourcegroup”):containers.Client#SetAccessControl: Failure发送请求: StatusCode=409 -原始错误: autorest/azure: Service返回了一个错误。此存储account.\nRequestId:80d021ca-501e-009f-4aa6-86a404000000\nTime:2020-09-09T12:38:47.5769058Z”不允许Status= Code=“PublicAccessNotPermitted”Message=公共访问

EN

回答 2

Stack Overflow用户

发布于 2021-10-22 17:56:30

这可能是开放的问题

因此,如果您在存储帐户中有规则

取网络规则取决于容器,意思是先创建容器,然后应用网络规则。非工作样例代码:

代码语言:javascript
复制
resource "azurerm_storage_account" "terraform_storage" {
  name = var.storage_account_name
  resource_group_name = var.rg_name
  location = var.region
  account_tier = "Standard"
  account_replication_type = "GRS"
  account_kind = "Storage"

  network_rules {
    default_action = "Deny"
    virtual_network_subnet_ids = [data.azurerm_subnet.publicsubnet.id]
  }
}

# Create container
resource "azurerm_storage_container" "filestore" {
  name                  = "filestore"
  storage_account_name  = azurerm_storage_account.sa.name
  container_access_type = "private"
}

工作样本代码:

代码语言:javascript
复制
# Storage account
resource "azurerm_storage_account" "sa" {
  name                = local.storage_account_name
  resource_group_name = azurerm_resource_group.rg.name
  location            = azurerm_resource_group.rg.location

  account_kind             = var.storage_account_kind
  account_tier             = var.storage_account_tier
  account_replication_type = var.storage_account_replication_type

  enable_https_traffic_only = "true"

  tags = local.tags
}

# Create container
resource "azurerm_storage_container" "filestore" {
  name                  = "filestore"
  storage_account_name  = azurerm_storage_account.sa.name
  container_access_type = "private"
}

# SA Network rules
resource "azurerm_storage_account_network_rules" "netrules" {
  resource_group_name  = azurerm_resource_group.rg.name
  storage_account_name = azurerm_storage_account.sa.name

  default_action = "Deny"
  bypass = [
    "Metrics",
    "Logging",
    "AzureServices"
  ]

  depends_on = [
    azurerm_storage_container.filestore,
  ]
}

参考文献

票数 0
EN

Stack Overflow用户

发布于 2022-04-14 01:48:55

我也犯了同样的错误,当我用地形在水下创造蓝色的时候。

我编辑了:

代码语言:javascript
复制
  container_access_type = "private"

内部:

代码语言:javascript
复制
    resource "azurerm_storage_container" "container" {
     ...
     ...
     ...
    }

main.tf文件中。

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

https://stackoverflow.com/questions/63825315

复制
相关文章

相似问题

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