rclone 和设置/重置 Azure 容器的公共访问级别

问题描述

工具 rclone 似乎有限制,不允许在创建时或之后设置/重置对 blob 或容器容器的公共访问级别。容器的认公共访问级别设置为 private

如果不存在,这里是创建容器的 rclone 命令

rclone mkdir azure:mycontainer

azure-ctl 命令似乎工作正常并且能够设置/重置此级别。但是,rclone 工具中缺少相同的内容。或者我可能不知道如何使用 rclone

az 存储容器创建
--名称
--账户名
--资源组 --public-access 关闭
--账户密钥
--auth-mode 密钥

详情:

Rclone v1.48.0
Fedora 29,64 bit

解决方法

检查 docs 后,我们发现无法使用 Rclone 工具设置/重置公共访问级别。

你可以用 the ways below 做到这一点:

  1. 在门户上设置: enter image description here

  2. 使用 powershell 命令:

     # Set variables.
     $rgName = "<resource-group>"
     $accountName = "<storage-account>"
    
     # Get context object.
     $storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
     $ctx = $storageAccount.Context
    
     # Create a new container with public access setting set to Off.
     $containerName = "<container>"
     New-AzStorageContainer -Name $containerName -Permission Off -Context $ctx
    
     # Read the container's public access setting.
     Get-AzStorageContainerAcl -Container $containerName -Context $ctx
    
     # Update the container's public access setting to Container.
     Set-AzStorageContainerAcl -Container $containerName -Permission Container -Context $ctx
    
     # Read the container's public access setting.
     Get-AzStorageContainerAcl -Container $containerName -Context $ctx
    
  3. 使用 Azure CLI 命令:

     az storage container create \
         --name <container-name> \
         --account-name <account-name> \
         --resource-group <resource-group>
         --public-access off \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container show-permission \
         --name <container-name> \
         --account-name <account-name> \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container set-permission \
         --name <container-name> \
         --account-name <account-name> \
         --public-access container \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container show-permission \
         --name <container-name> \
         --account-name <account-name> \
         --account-key <account-key> \
         --auth-mode key