Storage Account で安全でない転送を許可

ストレージの REST 要求に HTTPS を必須とし、クライアントとプロトコルごとの通信保護を確認してください。

説明

supportsHttpsTrafficOnly が無効な Storage Account では、HTTP によるストレージ REST 要求が許可される場合があります。クライアントが実際に HTTP を使うと、通信中のデータや SAS トークンなどが露出するおそれがあります。HTTPS、保存時の暗号化、アクセス権限は別の制御です。

想定される影響

  • 平文で送信したファイル、要求情報、トークンが通信経路で閲覧・改ざんされるおそれがあります。
  • 安全な転送を必須にした後、古い HTTP クライアントを更新していないと処理が失敗する場合があります。

対処方法

supportsHttpsTrafficOnly を true にし、アプリケーション、バックアップツール、スクリプトが最初から HTTPS を使うよう変更してください。TLS 証明書の検証を維持し、HTTP の拒否と HTTPS の成功をテストしてください。SMB・NFS などを使う場合は、そのサービスの暗号化と互換性の要件も別途確認してください。

例

同じストレージアカウントの転送設定を比較する抜粋です。実際の一意な名前、場所、SKU、アカウントの種類など、その他の必要な入力は別途構成してください。

変更前

bicep
resource storageaccount1 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: 'storageaccount1'
  properties: {
    supportsHttpsTrafficOnly: false
  }
}

HTTPS を必須にする設定を無効にします。すべてのクライアントが平文を使うという意味ではありませんが、この制御では HTTP 要求を防げません。

変更後

bicep
resource storageaccount1Negative1 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: 'storageaccount1'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

ストレージ REST 要求に HTTPS を必須とします。クライアントが既に平文で送った要求を、後から暗号化するものではありません。

参考資料