我有文本文件来访问S3存储桶,如下所示:
arn:aws:iam::############:user/aaaaaaaa-aaaaaaaaa-aaa
User
aaaaaaaa-aaaaaaaaa-aaa
Access key ID
AAAAAAAAAAAAAAAAAAAA
Secret access key
AAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
{
"Statement": [
{
"Effect":"Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource":"arn:aws:s3:::bbbbbbbb-bbbbbbbbb-bbbbbbb/*"
}
]
}
我有AWS账户,可以创建自己的存储桶,但是看不到用于获取此类文件的UI。
更新
我发了
>aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
然后我做了
>aws configure
AWS Access Key ID [None]: AAAAAAAAAAAAAAAAAAAA
AWS Secret Access Key [None]: AAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
Default region name [None]:
Default output format [None]:
现在
>aws s3 ls
An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied
为什么呢?为什么我不在文本文件中使用User
或Resource
值或如何使用此数据?
更新2
我试过
>aws s3 ls
>aws s3 ls s3://bbbbbbbb-bbbbbbbbb-bbbbbbb
>aws s3 ls bbbbbbbb-bbbbbbbbb-bbbbbbb
>aws s3 ls bbbbbbbb-bbbbbbbbb-bbbbbbb/*
>aws s3 ls s3:/bbbbbbbb-bbbbbbbbb-bbbbbbb
并且在所有情况下都获得Access denied
。
答案 0 :(得分:1)
您的系统管理员似乎已在AWS中创建了一些配置,他们想让您知道他们做了什么。该文件是来自不同地点的信息转储 - 供您参考,不适合在某处“使用”。
第一行是亚马逊资源名称(ARN),它唯一地标识您为用户。它可以在安全策略中用于授予您对资源的访问权限:
arn:aws:iam::############:user/aaaaaaaa-aaaaaaaaa-aaa
他们也告诉你你的用户名:
User
aaaaaaaa-aaaaaaaaa-aaa
访问密钥和密钥可用于标识您自己,就像您使用AWS Command-Line Interface (CLI)所做的那样:
Access key ID
AAAAAAAAAAAAAAAAAAAA
Secret access key
AAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
下一部分是IAM政策:
{
"Statement": [
{
"Effect":"Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource":"arn:aws:s3:::bbbbbbbb-bbbbbbbbb-bbbbbbb/*"
}
]
}
此策略声明您可以针对指定的Amazon S3存储桶执行列出的操作。
然而,这不是一个好的策略,因为最后3个动作实际上适用于存储桶(或没有存储桶),因此不应该与指定Resource
的{{1}}语句一起使用。
如果您尝试访问Amazon S3中的信息但收到bucket/*
,请与系统管理员联系以更新策略以授予您访问权限。
答案 1 :(得分:1)
us-east-1
或us-west-2
。aws s3 ls <name of your bucket> --region us-east-1
您接收拒绝访问权限的原因是您无法访问其他存储桶,而只能访问S3上的其中一个存储桶。这一行表明了这一点:
"Resource":"arn:aws:s3:::bbbbbbbb-bbbbbbbbb-bbbbbbb/*"
其中bbbbbbbb-bbbbbbbbb-bbbbbbb是您的名字。
答案 2 :(得分:0)
您需要转到IAM
为您的存储桶创建政策。您需要将此策略添加到您的用户帐户,而不是使用您的用户AccessKey和SecretAccessKey访问此存储桶