use*_*335 106 amazon-s3 amazon-web-services
我正进入(状态
调用ListObjects操作时发生错误(AccessDenied):拒绝访问
当我尝试从我的S3存储桶中获取文件夹时.
使用此命令
aws s3 cp s3://bucket-name/data/all-data/ . --recursive
Run Code Online (Sandbox Code Playgroud)
存储桶的IAM权限如下所示
{
"Version": "version_id",
"Statement": [
{
"Sid": "some_id",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucketname/*"
]
}
] }
Run Code Online (Sandbox Code Playgroud)
我需要做什么改变,以便能够copy和ls成功?
Mar*_*k B 160
您已授权对S3存储桶内的对象执行命令,但您未授权对存储桶本身执行任何操作.将您的政策修改为以下内容:
{
"Version": "version_id",
"Statement": [
{
"Sid": "some_id",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucketname",
"arn:aws:s3:::bucketname/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*ith 28
如果你想使用你提到的命令"aws s3 cp s3:// bucket-name/data/all-data /.-recursive"递归复制所有s3桶对象,这里是执行此操作所需的最小策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-name"
],
"Condition": {
"StringLike": {
"s3:prefix": "data/all-data/*"
}
}
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/data/all-data/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
此策略中的第一个语句允许列出存储桶内的对象.请注意,使用此设置,您还可以在此存储桶的子目录中列出对象.似乎不能仅对s3子目录赋予ls权限,因此尝试将此操作应用于资源"arn:aws:s3 ::: // bucket-name/data/all-data /"won'按预期工作(我已经测试并尝试了多种方法,这里的帮助将不胜感激).
此策略中的第二个语句允许在特定子目录中获取存储桶内的对象.这意味着您将能够复制"s3:// bucket-name/data/all-data /"路径中的任何内容.请注意,这不允许您从父路径复制,例如"s3:// bucket-name/data /".
在这里可以找到类似的问题,这使我得到了解决方案. https://github.com/aws/aws-cli/issues/2408
希望这有帮助!
小智 9
您必须通过"arn:aws:3 ::: bucketname"或"arn:aws:3 ::: bucketname*"为存储桶指定资源.后者是首选,因为它也允许对铲斗的物体进行操纵.注意没有斜线!
列表对象是Bucket上的操作.因此,需要操作"s3:ListBucket".将对象添加到Bucket是对Object的操作.因此,需要动作"s3:PutObject".当然,您可能希望根据需要添加其他操作.
{
"Version": "version_id",
"Statement": [
{
"Sid": "some_id",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::bucketname*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
对于那些已经完成上述所有操作但仍然遇到此问题的人,请尝试以下操作:
存储桶策略应该如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowBucketSync",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:PutObjectAcl",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME",
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后保存并确保您的实例或 Lightsail 连接到 AWS 配置上的正确配置文件。
首先:
尝试--recursive在最后添加,幸运吗?不行,可以试试下面这个。
第二:
好的,现在试试这个:--no-sign-request
所以它应该看起来像这样:
sudo aws s3 sync s3://BUCKET_NAME /yourpath/path/folder --no-sign-request
Run Code Online (Sandbox Code Playgroud)
不客气
我无法访问S3,因为
解决方案:rm -rf .aws/credentials,然后aws使用角色。
我遇到了同样的问题。我刚刚添加了凭据配置:
aws_access_key_id = your_aws_access_key_id
aws_secret_access_key = your_aws_secret_access_key
Run Code Online (Sandbox Code Playgroud)
进入“~/.aws/credentials” + 重新启动默认配置文件的终端。
在多配置文件的情况下,需要添加--profile arg:
aws s3 sync ./localDir s3://bucketName --profile=${PROFILE_NAME}
Run Code Online (Sandbox Code Playgroud)
其中PROFILE_NAME:
.bash_profile ( or .bashrc) -> export PROFILE_NAME="yourProfileName"
Run Code Online (Sandbox Code Playgroud)
可以在此处找到有关如何配置凭据和多配置文件的更多信息
使用以下策略时,我遇到了相同的错误,尽管我对s3:ListObjects操作有“ s3:ListBucket”。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:GetObjectAcl"
],
"Resource": [
"arn:aws:s3:::<bucketname>/*",
"arn:aws:s3:::*-bucket/*"
],
"Effect": "Allow"
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后我通过添加一行 “ arn:aws:s3 ::: bucketname”来解决它
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:GetObjectAcl"
],
"Resource": [
"arn:aws:s3:::<bucketname>",
"arn:aws:s3:::<bucketname>/*",
"arn:aws:s3:::*-bucket/*"
],
"Effect": "Allow"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
aws s3 ls s3.console.aws.amazon.com/s3/buckets/{bucket name}
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
Run Code Online (Sandbox Code Playgroud)
使用这种形式工作:
aws s3 ls {bucket name}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128691 次 |
| 最近记录: |