2015-12-22 61 views
3

在AWS S3控制檯中,您可以授予「任何經過身份驗證的AWS用戶」的文件權限並授予「開放/下載」權限。Amazon S3 CLI授權選項

什麼是CLI命令做同樣的事情?

我已經知道cp命令(上載):

aws s3 cp filename s3://bucket/folder/filename 

不過,我想不通的--grants配置和文檔是不特定所接受的價值觀。

如果您可以提供-grants標誌的其餘接受值(例如,查看權限,編輯權限),可以獲得獎勵嗎?

這可以遞歸地完成嗎?

編輯1 我發現了以下內容,但它使這個文件對所有人(公衆)都可用。那麼,我的組的URI在哪裏?我假設它與小組的ARN不一樣。

aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers 

我們可以做交替:

aws s3 cp file.txt s3://my-bucket/ --grants [email protected] 

,將提供充分的權利與該電子郵件地址相關聯的帳戶。

仍然無處可以鏡像「任何經過身份驗證的AWS用戶」(我假設這是在我的帳戶內進行身份驗證)。

回答

8

您應該使用--acl參數,以獲得罐裝權限:

aws s3 cp local.txt s3://some-bucket/remote.txt --acl authenticated-read 

aws s3 cp的文檔描述的速記語法是什麼的CLI:

--acl(串)執行命令時設置對象的ACL。如果使用此參數,則您的 IAM策略的操作列表中必須包含 「s3:PutObjectAcl」許可權。只接受私人,公開閱讀, 公開讀寫,認證讀取,桶擁有者讀取, 桶擁有者完全控制和日誌傳遞寫入。見Canned ACL 的細節

--grants似乎允許微調定製的ACL,但語法比較複雜,因爲你發現了。

+0

有沒有辦法使用--acl來允許AuthenticatedUsers讀取和寫入權限? – Brooks

+0

我相信你將不得不使用'--grant'選項作爲@helloV描述的,添加一個寫入權限。 – James

+0

謝謝,--acl authenticated-read工作,不能相信我錯過了它。 – Brooks

3

檢查此鏈接:Using High-Level s3 Commands with the AWS Command Line Interface

你可能想要做的:

aws s3 cp filename s3://bucket/folder/filename --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers 

遞歸,使用--recursive選項

當--recursive選項上使用使用cp,mv, 或rm的目錄/文件夾,該命令遍歷目錄樹,包括所有的 子目錄。這些命令還接受--exclude,--include, 和--acl選項,如同步命令一樣。

+0

很確定這是公開的。我希望它可以提供給與我的帳戶相關的所有用戶。 – Brooks

+0

好的。我誤解了你的問題。 – helloV