Skip to main content

How to automatically collect redundancy information for Availability Zones and other related controls

Use Terraform to automatically collect evidence for redundancy and availability controls

Micah Spieler avatar
Written by Micah Spieler
Updated over a year ago

You can use Terraform for Azure Resource Manager to collect evidence from hundreds of different data sources within your Azure infrastructure. In this article, we’ll look at an example of how you can collect evidence from Azure Storage for evidence that satisfies many Availability requirements.

Getting started

Make sure that you have a Terraform for Azure Resource Manager integration configured. For more information, refer to the installation section of the Help Center docs.

The Azure Service Principle that you configure for evidence collection will also need Contributor permissions for the Storage account that is configured for your data replication.

Configure Terraform to collect from an Azure Storage account

Navigate to the Strike Graph evidence item that you would like to collect evidence for, and select “Automated Collection” as your attachment method. If the evidence item already has an effective attachment, but you would like to configure it for automated collection, you can add Automated Collection from the “more” menu in the top left.

In the attachment window, click on the “Integrations” tab and select your configured Terraform for Azure Resource Manager integration.

Using the Storage Account data source and Account Replication Type data attribute

Using the storage account data source and the account replication type data attribute, we can automatically collect configuration settings as attachments that show evidence of how your storage is configured for replication.

Find more information on other ways to use azurerm_storage_account, reference this Terraform documentation.

Define Data

Here we will be using the azurerm_storage_account data source to collect information about how your storage account is configured.

Data source: azurerm_storage_account

Temp name: a short logical name for the attachment file

Argument references: (both are required for this data source)

  • name = "sgexample" - Specifies the name of the Storage Account

  • resource_group_name = "Resource-Group-1" - Specifies the name of the resource group the Storage Account is located in

Define Local Values

Put together data_source and temp_name from above and append with `data` in the following format: `data.data_source.temp_name`

Expected output

With this data source, we expect to get a JSON object that describes the configured settings for this Storage account. This will include the account_replication_type that specifies the redundancy configurations. Your auditor can use this to verify that redundancy is configured as described in your evidence and control descriptions.

Did this answer your question?