2016-12-10 5 views
5

私はaws cliの新人です。documentationでかなりの時間を費やしましたが、ファイルをアップロードした後にファイルのアクセス許可を設定する方法がわかりません。私はファイルをアップロードするのであれば:aws cliを使用してS3バケット内のファイルに対する権限を設定するにはどうすればよいですか?

aws s3 cp assets/js/d3-4.3.0.js s3://example.example.com/assets/js/

とアクセス権限を設定していない、私はそれらを設定するための方法が必要です。 aws cliにchmod 644と同等のものがありますか?

また、アクセス許可を表示する方法はありますか?

--acl public-readフラグをaws s3 cpと使用することができますが、そうでない場合は、完全なコピーコマンドを繰り返さずにアクセスを設定できますか?

答えて

8

ほとんどの人は、awscliがS3アクションの2つのグループ、すなわちs3s3apiをサポートしていることを忘れています。

aws s3api put-object-aclを使用して、既存のオブジェクトに対するACL許可を設定できます。

+5

ボーナス: 'get-object-acl'を使って既存の権限を見ることもできます。 'aws s3api get-object-acl --bucket bucket.name --key path/to/file.ext' – Amanda

+1

バケット内のすべてのファイルに対してこれを行う方法はありますか? CLIは--keyパラメーターにワイルドカードを受け入れていないようです。 – PrgTrdr

+2

@PrgTrdrバケットポリシーを適用することができます(https://stackoverflow.com/questions/19176926/how-to-make-all-objects-in-aws-s3-bucket-public-by-defaultを参照)。 ACLを各オブジェクトに割り当てることができますが、これはオブジェクトごとに行う必要があります。サードパーティのツール(http://s3browser.com/share-s3-bucket-edit-acls.phpなど)もあります。 – jarmod

関連する問題