Ensure Storage logging is enabled for Queue service for read, write, and delete requests

The Storage Queue service stores messages that may be read by any client who has access to the storage account. A queue can contain an unlimited number of messages, each of which can be up to 64KB in size using version 2011-08-18 or newer. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the queues. Storage Logging log entries contain the following information about individual requests: Timing information such as start time, end-to-end latency, and server latency, authentication details , concurrency information and the sizes of the request and response messages.

Risk Level: Low
Cloud Entity: Azure Storage Account
CloudGuard Rule ID: D9.TF.AZU.LOG.01
Covered by Spectral: Yes
Category: Storage

GSL LOGIC

azurerm_storage_account should have queue_properties.logging.delete=true and queue_properties.logging.read=true and queue_properties.logging.write=true

REMEDIATION

From TF
Set the 'delete', 'read' and 'write' argument to 'true':

resource "azurerm_storage_account" "example" {
	..
	queue_properties  {
		..
		logging {
			delete = true
			read = true
			write = true
		}
		..
	}
}

References:

  1. https://docs.microsoft.com/en-us/azure/storage/common/storage-analytics-logging
  2. https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account#queue_properties

Azure Storage Account

An Azure storage account provides a unique namespace to store and access your Azure Storage data objects. All objects in a storage account are billed together as a group. By default, the data in your account is available only to you, the account owner.

Compliance Frameworks

  • Azure Terraform Ruleset