如何使用访问策略为 ADLS gen 2 容器中的文件夹生成 SAS 令牌。
与下图完全相同,但适用于 ADLS gen 2 容器或文件夹。先感谢您。
要在 ADLS 容器上使用访问策略生成 SAS 令牌,需要先创建访问策略。您可以通过 Azure 门户(请查看此链接)或存储资源管理器创建访问策略。
根据您附加的屏幕截图,您正在使用 Microsoft 存储资源管理器,因此这里是创建访问策略的步骤
1)转到您的容器->右键单击容器
2)选择管理访问策略
3)点击添加。在那里,您可以提供访问策略 ID 和需要授予容器的权限,例如读取、写入(单击复选框)。然后单击保存
4)一旦创建访问策略。您可以根据该访问策略创建 SAS。右键单击容器选择获取共享访问签名。从下拉列表中选择访问策略,然后单击创建
使用 terraform 生成 SAS
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
}
运行上述命令后,您将在terraform.tfstate中获得输出
有关更多信息,请查看此链接