awscliを使用時において表題の通り。たまに忘れるのでメモ。
■ 環境
- awscli 1.8.6
■ S3にファイルをアップロード
awscliでファイルをS3にアップロードするとき、下記のようにしている。
$ aws s3 cp ./testfile.txt s3://withsin/testfile.txt
この状態でアップロードされたファイルのアクセス許可(permission)は下記の通り。
■ –acl
`aws s3 cp`コマンドには`–acl`オプションがあり、下記を指定することができる。
- private
- public-read
- public-read-write
- authenticated-read
- bucket-owner-read
- bucket-owner-full-control
- log-delivery-write
ちなみに、その他の文字列を渡すと下記のようにエラーとなる。
$ aws s3 cp ./testfile.txt s3://withsin/testfile.txt --acl log-derivery-write
usage: aws [options] [parameters]
aws: error: argument --acl: Invalid choice, valid choices are:
private | public-read
public-read-write | authenticated-read
bucket-owner-read | bucket-owner-full-control
log-delivery-write
Invalid choice: 'log-derivery-write', maybe you meant:
* log-delivery-write
$
試しに全てを実行してみたが、自身がやりたいことは下記である。
- URLを知っている人は誰でもダウンロード可能
これはManagementConsoleでは下記のようになるはず。
`–acl`オプションを使って実現するには下記。
$ aws s3 cp ./testfile.txt s3://withsin/testfile.txt --acl public-read
ACLに関しての詳細は下記を参照。
アクセスコントロールリスト(ACL)の概要
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/acl-overview.html
以上。