我们开发了基于rails的医疗保健应用程序。配置我们的s3实现的最佳方法是什么,以便只有经过身份验证的用户才能访问该映像?
答案 0 :(得分:1)
从Documentation,你应该使用亚马逊的“固定”ACL 之一。
亚马逊接受以下固定ACL:
:private
:public_read
:public_read_write
:authenticated_read
:bucket_owner_read
:bucket_owner_full_control
您可以在创建存储桶时指定ACL,也可以稍后更新存储桶。
# at create time, defaults to :private when not specified
bucket = s3.buckets.create('name', :acl => :public_read)
# replacing an existing bucket ACL
bucket.acl = :private
答案 1 :(得分:0)
希望发布此问题的更新答案,因为自2015年以来S3 API发生了变化(稍微)。这是指向S3 Docs updated ACL section的链接。此外,上面的答案反映了Ruby SDK的使用,并不是每个人都使用。
预装ACL是S3支持的预定义授权,具有特定的授权和权限。固定ACL可以通过SDK发送,如上面的答案所示,或者通过使用x-amz-acl
请求标头用于新资源,或者使用请求标头或现有资源的主体在HTTP请求中发送。
固定ACL如下。除非另有说明,否则除了列出的其他权限外,存储桶拥有者还有FULL_CONTROL
:
READ
访问权限READ
和WRITE
访问权限(不推荐)READ
访问亚马逊机器映像(包)的GET
READ
访问权限READ
访问权限。创建存储桶时忽略FULL_CONTROL
。创建存储桶时忽略WRITE
和READ_ACP
权限还在文档中注明:您只能在请求中指定一个固定ACL