Data Source: azurerm_storage_account_sas
Use this data source to create a Shared Access Signature (SAS) for an Azure Storage Account.
Shared access signatures allow fine-grained, ephemeral access control to various aspects of an Azure Storage Account.
Note that this is an Account SAS and not a Service SAS.
Example Usage
resource "azurerm_resource_group" "testrg" {
  name     = "resourceGroupName"
  location = "westus"
}
resource "azurerm_storage_account" "testsa" {
  name                     = "storageaccountname"
  resource_group_name      = "${azurerm_resource_group.testrg.name}"
  location                 = "westus"
  account_tier             = "Standard"
  account_replication_type = "GRS"
  tags {
    environment = "staging"
  }
}
data "azurerm_storage_account_sas" "test" {
    connection_string = "${azurerm_storage_account.testsa.primary_connection_string}"
    https_only        = true
    resource_types {
        service   = true
        container = false
        object    = false
    }
    services {
        blob  = true
        queue = false
        table = false
        file  = false
    }
    start   = "2018-03-21"
    expiry  = "2020-03-21"
    permissions {
        read    = true
        write   = true
        delete  = false
        list    = false
        add     = true
        create  = true
        update  = false
        process = false
    }
}
output "sas_url_query_string" {
  value = "${data.azurerm_storage_account_sas.test.sas}"
}
Argument Reference
- 
connection_string- (Required) The connection string for the storage account to which this SAS applies. Typically directly from theprimary_connection_stringattribute of a terraform createdazurerm_storage_accountresource.
- 
https_only- (Optional) Only permithttpsaccess. Iffalse, bothhttpandhttpsare permitted. Defaults totrue.
- 
resource_types- (Required) Aresource_typesblock as defined below.
- 
services- (Required) Aservicesblock as defined below.
- 
start- (Required) The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.
- 
expiry- (Required) The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- 
permissions- (Required) Apermissionsblock as defined below.
resource_types is a set of true/false flags which define the storage account resource types that are granted access by this SAS. This can be thought of as the scope over which the permissions apply. A service will have larger scope (affecting all sub-resources) than object.
A resource_types block contains:
- 
service- (Required) Should permission be granted to the entire service?
- 
container- (Required) Should permission be granted to the container?
- 
object- (Required) Should permission be granted only to a specific object?
services is a set of true/false flags which define the storage account services that are granted access by this SAS.
A services block contains:
- 
blob- (Required) Should permission be granted toblobservices within this storage account?
- 
queue- (Required) Should permission be granted toqueueservices within this storage account?
- 
table- (Required) Should permission be granted totableservices within this storage account?
- 
file- (Required) Should permission be granted tofileservices within this storage account?
A permissions block contains:
- 
read- (Required) Should Read permissions be enabled for this SAS?
- 
write- (Required) Should Write permissions be enabled for this SAS?
- 
delete- (Required) Should Delete permissions be enabled for this SAS?
- 
list- (Required) Should List permissions be enabled for this SAS?
- 
add- (Required) Should Add permissions be enabled for this SAS?
- 
create- (Required) Should Create permissions be enabled for this SAS?
- 
update- (Required) Should Update permissions be enabled for this SAS?
- 
process- (Required) Should Process permissions be enabled for this SAS?
Refer to the SAS creation reference from Azure for additional details on the fields above.
Attributes Reference
- 
sas- The computed Account Shared Access Signature (SAS).
    © 2018 HashiCorpLicensed under the MPL 2.0 License.
    https://www.terraform.io/docs/providers/azurerm/d/storage_account_sas.html