azure Azcopy错误“此请求未被授权执行此操作,”

rwqw0loc  于 2022-12-14  发布在  其他
关注(0)|答案(8)|浏览(235)

我根据下面链接的文档将容器复制到另一个存储帐户。(DataLake Storage Gen2)。
尝试时,我收到以下错误:
this request not authorized to perform this operations using this permission
https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10

pinkon5k

pinkon5k1#

如果您正在使用AAD令牌,则此错误提示您需要为用户添加角色分配。请转到“存储帐户”-〉“访问控制”-〉“添加”-〉“添加角色分配”,然后将Storage Blob Data Owner添加到您的登录帐户。

如果此问题仍然存在,请提供更多详细信息。

ef1yzkbh

ef1yzkbh2#

我也面临着同样的问题。对于我的工作,我只是注销,并在做完@BowmanZhu解决方案后再次登录azcopy cli

azcopy logout
azcopy login --tenant-id xxxx-xxxx-xxxx

如果您不想以这种方式登录,您可以在URL末尾添加SAS令牌。如果您不想始终在末尾添加令牌,您可以尝试通过official documentation page中的任何一个步骤来永久访问。

xe55xuns

xe55xuns3#

在容器上授予我自己角色Storage Blob Data Owner后,AzCopy现在将自行运行并成功将文件复制到Blob存储容器。
转到存储帐户-〉容器-〉访问控制规则-〉添加角色分配-〉存储Blob数据所有者

u4dcyp6a

u4dcyp6a4#

SAS令牌可能已过期。

zysjyyx4

zysjyyx45#

当我有了这个,我发现这是因为我使用Azure Storage Explorer生成了一个没有读取权限的SAS,我认为它试图在写入之前读取blob的大小/存在。
我从https://github.com/Azure/azure-storage-azcopy/issues/790得到了一个线索,但最终我只是重新生成了一个新的SAS与读取权限,它的工作。
我可能已经考虑过使用Azure数据移动库修改C#代码,以不执行尺子检查,但规范后来更改为“不覆盖”,因此无论如何可能都需要读取权限

u3r8eeie

u3r8eeie6#

在生成SAS令牌as here时给予适当的权限(读取、写入、创建)

vxf3dgd4

vxf3dgd47#

也有类似的问题,就这样解决了
使用的命令为.\azcopy.exe copy "C:\Users\kriof\Pictures" "https://test645676535storageaccount.blob.core.windows.net/images?sp=rw&st=2022-02-23T11:03:50Z&se=2022-02-23T19:03:50Z&spr=https&sv=2020-08-04&sr=c&sig=QRN%2SMFtU3zaUdd4adRddNFjM2K4ik7tNPSi2WRL0%3D"
SAS令牌仅具有默认(* 读取 *)权限。在Azure门户中添加 * 写入 * 权限解决了该问题。

6fe3ivhb

6fe3ivhb8#

在我的例子中,我的azure存储帐户vnet地址阻止了azcopy通过存储帐户复制数据。
我添加了客户端IP以允许防火墙地址。

相关问题