如何使用 cli find/check AWS S3 中的当前权限?
How to find/check current permissions in AWS S3 using cli?
我对 aws cli
的速度非常满意,但似乎无法找到一种方法来找出 file/folder.
上的权限是什么
例如我愿意:
$ curl http://my.s3.amazonaws.com/deploy/tool1/license.key -o ./license.key
$ cat license.key | sed 's/></>\n</g'
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>E4D50F0606FFFD48</RequestId>
<HostId>+xxxyyyaaaa=</HostId>
$
$
现在 curl http://my.s3.amazonaws.com/deploy/tool1/tool.sh -o ./tool.sh
工作正常,我可以获得 tool.sh
。所以我怀疑 license.key
的权限是问题所在。
为了使用 CLI 获取 S3 中文件的权限,请使用 s3api
的 get-object-acl
命令(完整文档 http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object-acl.html)
使用你的例子:
$ aws s3api get-object-acl \
--bucket my \
--key deploy/tool1/license.key
我对 aws cli
的速度非常满意,但似乎无法找到一种方法来找出 file/folder.
例如我愿意:
$ curl http://my.s3.amazonaws.com/deploy/tool1/license.key -o ./license.key
$ cat license.key | sed 's/></>\n</g'
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>E4D50F0606FFFD48</RequestId>
<HostId>+xxxyyyaaaa=</HostId>
$
$
现在 curl http://my.s3.amazonaws.com/deploy/tool1/tool.sh -o ./tool.sh
工作正常,我可以获得 tool.sh
。所以我怀疑 license.key
的权限是问题所在。
为了使用 CLI 获取 S3 中文件的权限,请使用 s3api
的 get-object-acl
命令(完整文档 http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object-acl.html)
使用你的例子:
$ aws s3api get-object-acl \
--bucket my \
--key deploy/tool1/license.key