我正在尝试向s3中的现有帐户授予权限.
存储桶由该帐户拥有,但数据是从另一个帐户的存储桶中复制的.
当我尝试使用该命令授予权限时:
aws s3api put-object-acl --bucket <bucket_name> --key <folder_name> --profile <original_account_profile> --grant-full-control emailaddress=<destination_account_email>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
An error occurred (NoSuchKey) when calling the PutObjectAcl operation: The specified key does not exist.
Run Code Online (Sandbox Code Playgroud)
如果我在一个文件上执行此操作,则命令成功.
如何使其适用于完整文件夹?
directory acl file-permissions amazon-s3 amazon-web-services
我在带有 AWS 的 Rails 站点上使用 Active Storage。升级到 6.1 后,我想根据指南配置公共访问,以便我的图像具有永久 URL。
我已经确定我需要保持现有服务原样,以便之前上传的图像继续工作。我创建了一个新的服务和配置的应用程序使用它这样。
以前的图像继续这样工作,但新图像上传会导致 Aws::S3::Errors::AccessDenied。请注意,使用的凭据与之前的工作非公共服务中的凭据完全相同。该指南提到存储桶需要具有适当的权限,但没有确切地需要设置什么。
在 AWS 中,“阻止公共访问(存储桶设置)”部分全部设置为“关闭”。在“访问控制列表 (ACL)”中,“存储桶所有者(您的 AWS 账户)”对“对象”和“存储桶 ACL”都有“列出、写入”。没有列出其他权限。我尝试将“所有人(公共访问)”更改为“对象”的“列表”和“存储桶 ACL”的“读取” - 似乎没有解决问题。
如何使用 Active Storage 获取公共 URL?
我的S3存储桶是私有的。但是现在我已将其更新为公开。我似乎仍然无法在未签名URL等的情况下访问文件。如何将所有文件公开?
我想取消images/login_logo.png我的 S3 存储桶内的文件( )的公共访问权限my-test-bucket。
目前,该文件的权限设置如下:
正如你在上图中看到的。它不适合所有人公开访问。
但我仍然可以从 s3 链接访问它。
这种现象是我的存储桶策略造成的吗?
{
"Version": "2012-10-17",
"Id": "Policy1528702071704",
"Statement": [
{
"Sid": "Stmt1528702067249",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-test-bucket/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,在包含大约 10,000 个文件的大型公共存储桶中取消单个文件的公共访问权限的最佳方法是什么?
由于这个问题,我无法申请make public大桶。