Azure StorageでShared Keyアクセスが許可されている

アカウントキーへの依存を減らし、ユーザーやアプリケーション単位でアクセス権を付与してください。

説明

Shared Keyはアカウントキーを使ってStorageへの要求を認可します。広いデータ権限を持つため、ユーザーやアプリケーションごとの権限分離や操作主体の追跡が難しくなります。

想定される影響

キーが漏えいすると、過剰なデータアクセスや変更に悪用されるおそれがあります。

対処方法

クライアントとSASの利用状況を確認し、対応するMicrosoft Entra認証と必要なロールを設定してください。互換性を確認してからshared_access_key_enabled = falseにしてください。

例

以下はShared Keyアクセスを無効にする例です。特にAzure Filesや運用ツールが代替の認証方式を使用できるか、先に確認してください。

変更前

hcl
resource "azurerm_storage_account" "example" {
  name                     = "examplestorage"
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_replication_type = "GRS"

  shared_access_key_enabled = true
}

変更後

hcl
resource "azurerm_storage_account" "example" {
  name                     = "safestorage"
  resource_group_name      = "testRG"
  location                 = "northeurope"
  account_tier             = "Premium"
  account_replication_type = "LRS"
  account_kind             = "FileStorage"

  shared_access_key_enabled = false
}

参考資料