본문 바로가기

개발하자

Terraform을 사용하여 공유 액세스 키 허용 방지

반응형

Terraform을 사용하여 공유 액세스 키 허용 방지

안녕하세요 저는 현재 테라폼 v0.12.28 및 제공업체 azurem 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"
  

}  



인 테라폼을 설정할 수 있는 옵션은 없으며, 단순히 테라폼이 이 기능을 지원하지 않는다는 것을 의미하며, 애저의 이 기능도 미리보기 버전이다. 애저 포털 옆에 을 설정하는 또 다른 방법이 있다.

이 방법은 인 테라폼을 통해 Azure CLI를 사용하는 것입니다:

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

에 대한 자세한 내용을 확인할 수 있습니다.




이 기능은 최신 버전의 공급자 기능입니다. 나는 2.73에 소개되었다고 믿는다:

https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account#shared_access_key_enabled




resource "azurerm_storage_account" "st" {
...
  shared_access_key_enabled = false
...
}

반응형