(AWS S3) 显示文件所有权
(AWS S3) Show File Ownership
我们正在尝试 copy/move 最初从另一个 AWS 账户传输到我们的存储桶的 s3 存储桶文件。
然而,当我们尝试使用 aws s3 cp
命令移动这些文件内容时,我们得到:fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden
我认为问题是有人在没有使用 --acl bucket-owner-full-control
的情况下从另一个帐户复制了这些数据。你知道我们是否有办法通过 CLI 或 boto3 来检查和列出文件所有者吗?也许递归调用存储桶以显示每个文件的所有对象所有者?或者找到不属于我们帐户的任何东西?
我们存储桶的当前权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-user-id:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::customers"
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-user-id:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::customers/*"
}
]
}
Amazon S3 中的 recent feature 允许您覆盖所有权设置:
如果您将存储桶配置为禁用 ACL,那么您应该立即重新获得对所有对象的访问权限。
我们正在尝试 copy/move 最初从另一个 AWS 账户传输到我们的存储桶的 s3 存储桶文件。
然而,当我们尝试使用 aws s3 cp
命令移动这些文件内容时,我们得到:fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden
我认为问题是有人在没有使用 --acl bucket-owner-full-control
的情况下从另一个帐户复制了这些数据。你知道我们是否有办法通过 CLI 或 boto3 来检查和列出文件所有者吗?也许递归调用存储桶以显示每个文件的所有对象所有者?或者找到不属于我们帐户的任何东西?
我们存储桶的当前权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-user-id:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::customers"
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-user-id:root"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::customers/*"
}
]
}
Amazon S3 中的 recent feature 允许您覆盖所有权设置:
如果您将存储桶配置为禁用 ACL,那么您应该立即重新获得对所有对象的访问权限。