Amazon web services 什么';使用gsutil对S3到Google存储缺少身份验证吗?

Amazon web services 什么';使用gsutil对S3到Google存储缺少身份验证吗?,amazon-web-services,amazon-s3,google-cloud-storage,Amazon Web Services,Amazon S3,Google Cloud Storage,有很多关于从S3复制到GS的帖子,但我被这一条难住了——所有的认证似乎都是正确的,我遗漏了什么 $ gsutil -m cp -r s3://ws-logs gs://ws-logs AccessDeniedException: 403 AccessDenied <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access D

有很多关于从S3复制到GS的帖子,但我被这一条难住了——所有的认证似乎都是正确的,我遗漏了什么

$ gsutil -m cp -r s3://ws-logs gs://ws-logs
AccessDeniedException: 403 AccessDenied
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>659EC2ADB59407E2</RequestId><HostId>mTnCaiVt0elcnN7eljLvmiwqPwQui6Hr/VPSrR3pKT1TpjQaqRo3ZKeNloa9QU9DjzTcQE+Fc1g=</HostId></Error>
CommandException: 1 file/object could not be transferred.

$ gsutil -m cp -r test.txt gs://ws-logs
Copying file://test.txt [Content-Type=text/plain]...

$ aws s3 ls ws-logs
                           PRE dt=2012-12-01/

                           [ lots more entries ]
如您所见,我可以在我的gs bucket中创建一个条目,并列出我的S3目录。我还缺什么吗

更新

当我直接登录到Gcloud上的VM时,它会起作用:

$ gcloud compute --project "my-sample" ssh --zone "us-central1-f" "random-machine"

[ Login ]

$ aws configure
AWS Access Key ID [None]: <ENTERED KEY>
AWS Secret Access Key [None]: <ENTERED KEY>
Default region name [None]: us-west-2
Default output format [None]: json
$ gsutil -m cp -R s3://ws-log gs://ws-log

[... Everything Copying Correctly ...]
$gcloud compute--project“my sample”ssh--zone“us-central1-f”“random machine”
[登入]
$aws配置
AWS访问密钥ID[无]:
AWS秘密访问密钥[无]:
默认区域名称[无]:us-west-2
默认输出格式[无]:json
$gsutil-mcp-rs3://ws-log-gs://ws-log
[…所有内容都复制正确…]

AccessDenied响应来自S3,因此我假设您的IAM凭据虽然对ListObjects有效,但对GetObject(和/或gsutil调用的某些其他操作)无效。查看您正在使用的IAM凭据的IAM策略。有趣的数据点-我刚刚登录到我的gcloud实例(
gcloud compute ssh…
),通过
aws configuration
输入aws配置,并且它正在工作(从命令行)。因此,这只是Mac的一个功能。在两台计算机上使用
gcloud auth list
,比较帐户是否处于活动状态。你在Mac电脑上使用的那个似乎没有做这项工作的权限。您可以在Mac上使用
gcloud auth login
对具有bucket写入权限的帐户进行身份验证。AccessDenied响应来自S3,因此我假设您的IAM凭据虽然对ListObjects有效,但对GetObject无效(和/或gsutil调用的某些其他操作)。查看您正在使用的IAM凭据的IAM策略。有趣的数据点-我刚刚登录到我的gcloud实例(
gcloud compute ssh…
),通过
aws configuration
输入aws配置,并且它正在工作(从命令行)。因此,这只是Mac的一个功能。在两台计算机上使用
gcloud auth list
,比较帐户是否处于活动状态。你在Mac电脑上使用的那个似乎没有做这项工作的权限。您可以在Mac上使用
gcloud auth login
对具有bucket写入权限的帐户进行身份验证。