问题描述
工具 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 做到这一点:
-
使用 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
-
使用 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