0

How to generate SAS token using Access policy for a folder in container of ADLS gen 2.

exactly like below image but for ADLS gen 2 containers or folders. thank you in advance.

enter image description here

1 Answers1

0

To generate SAS token using Access policy on ADLS containers need to create a Access Policy first . You can create Access Policy through Azure portal (Please Check with this link) or Storage Explorer.

Based on your attached Screenshot you are using the Microsoft Storage Explorer so here are steps create access policy

1)Go to your container --> right click on container

2)Select the manage access policy

enter image description here

3)Click on the add. There you can provide the Access policy id and permissions you need to give on container like read ,write (click on check boxes).And click on save

enter image description here

4)Once access policy created. You can create the SAS based on that access policy .Right click on The container select Get Share Access Signature. From the dropdown select the access policy and click On the create

enter image description here

Generate SAS using terraform

 terraform {
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~> 2.65"   }
      }
      required_version = ">= 0.14.9"
    }
    provider "azurerm" {
      features {}
    }
resource "azurerm_resource_group" "rg" {
  name     = "terraformtest"
  location = "West Europe"
}

resource "azurerm_storage_account" "storage" {
  name                     = "storage name"
  resource_group_name      = azurerm_resource_group.rg.name
  location                 = azurerm_resource_group.rg.location
  account_tier             = "Standard"
  account_replication_type = "GRS"
  allow_blob_public_access = true
}

resource "azurerm_storage_container" "container" {
  name                  = "terraformcont"
  storage_account_name  = azurerm_storage_account.storage.name
  container_access_type = "private"
}

data "azurerm_storage_account_blob_container_sas" "example" {
  connection_string = azurerm_storage_account.storage.primary_connection_string
  container_name    = azurerm_storage_container.container.name
  https_only        = true
  start  = "Date"
  expiry = "Date"permissions {
    read   = true
    add    = true
    create = false
    write  = false
    delete = true
    list   = true
  }
}
output "sas_url_query_string" {
  value = data.azurerm_storage_account_blob_container_sas.example.sas
  sensitive = true
}

After running the above command you will get output inside terraform.tfstate

enter image description here

For more information check with this link

ShrutiJoshi-MT
  • 1,622
  • 1
  • 4
  • 9