我根据下面链接的文档将容器复制到另一个存储帐户。(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
我根据下面链接的文档将容器复制到另一个存储帐户。(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
8条答案
按热度按时间pinkon5k1#
如果您正在使用AAD令牌,则此错误提示您需要为用户添加角色分配。请转到“存储帐户”-〉“访问控制”-〉“添加”-〉“添加角色分配”,然后将Storage Blob Data Owner添加到您的登录帐户。
如果此问题仍然存在,请提供更多详细信息。
ef1yzkbh2#
我也面临着同样的问题。对于我的工作,我只是注销,并在做完@BowmanZhu解决方案后再次登录azcopy cli
如果您不想以这种方式登录,您可以在URL末尾添加SAS令牌。如果您不想始终在末尾添加令牌,您可以尝试通过official documentation page中的任何一个步骤来永久访问。
xe55xuns3#
在容器上授予我自己角色Storage Blob Data Owner后,AzCopy现在将自行运行并成功将文件复制到Blob存储容器。
转到存储帐户-〉容器-〉访问控制规则-〉添加角色分配-〉存储Blob数据所有者
u4dcyp6a4#
SAS令牌可能已过期。
zysjyyx45#
当我有了这个,我发现这是因为我使用Azure Storage Explorer生成了一个没有读取权限的SAS,我认为它试图在写入之前读取blob的大小/存在。
我从https://github.com/Azure/azure-storage-azcopy/issues/790得到了一个线索,但最终我只是重新生成了一个新的SAS与读取权限,它的工作。
我可能已经考虑过使用Azure数据移动库修改C#代码,以不执行尺子检查,但规范后来更改为“不覆盖”,因此无论如何可能都需要读取权限
u3r8eeie6#
在生成SAS令牌as here时给予适当的权限(读取、写入、创建)
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门户中添加 * 写入 * 权限解决了该问题。
6fe3ivhb8#
在我的例子中,我的azure存储帐户vnet地址阻止了azcopy通过存储帐户复制数据。
我添加了客户端IP以允许防火墙地址。