Bro*_*oks 3 amazon-s3 amazon-web-services aws-cli
在AWS S3控制台中,您可以为"任何经过身份验证的AWS用户"授予文件权限,并授予"打开/下载"权限.
什么是CLI命令来做同样的事情?
我已经知道cp命令(用于上传):
aws s3 cp filename s3://bucket/folder/filename
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚--grants配置,并且文档并不特定于可接受的值.
如果您可以提供--grants标志的其余可接受值(例如查看权限,编辑权限),可以获得奖励吗?
这可以递归完成吗?
编辑1 我发现以下内容,但它使文件可供所有人(公共)使用.那么,我的组的URI在哪里?我假设它和小组的ARN不一样.
aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
Run Code Online (Sandbox Code Playgroud)
我们可以选择做:
aws s3 cp file.txt s3://my-bucket/ --grants full=emailaddress=user@example.com
Run Code Online (Sandbox Code Playgroud)
这将为与该电子邮件地址关联的帐户提供完全权限.
仍然无法镜像"任何经过身份验证的AWS用户"(我假设这是在我的帐户中进行身份验证).
Jam*_*mes 10
您应该使用该--acl参数来获取固定的权限:
aws s3 cp local.txt s3://some-bucket/remote.txt --acl authenticated-read
Run Code Online (Sandbox Code Playgroud)
aws s3 cp的文档描述了CLI的简写语法:
--acl(string)设置执行命令时对象的ACL.如果使用此参数,则必须在IAM策略的操作列表中包含"s3:PutObjectAcl"权限.仅接受private,public-read,public-read-write,authenticated-read,bucket-owner-read,bucket-owner-full-control和log-delivery-write的值.有关 详细信息,请参见固定ACL
--grants 似乎允许微调的自定义ACL,但语法更复杂,正如您所发现的那样.
检查此链接:在 AWS 命令行界面中使用高级 s3 命令
你可能想做:
aws s3 cp filename s3://bucket/folder/filename --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
Run Code Online (Sandbox Code Playgroud)
对于递归,使用 --recursive 选项
当在带有 cp、mv 或 rm 的目录/文件夹上使用 --recursive 选项时,该命令会遍历目录树,包括所有子目录。这些命令也像同步命令一样接受 --exclude、--include 和 --acl 选项。
| 归档时间: |
|
| 查看次数: |
7072 次 |
| 最近记录: |