S3にアップロード時のpermission

awscliを使用時において表題の通り。たまに忘れるのでメモ。

■ 環境

  • awscli 1.8.6

■ S3にファイルをアップロード

awscliでファイルをS3にアップロードするとき、下記のようにしている。

$ aws s3 cp ./testfile.txt s3://withsin/testfile.txt

この状態でアップロードされたファイルのアクセス許可(permission)は下記の通り。

s3-permission-001

■ –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では下記のようになるはず。

s3-permission-002

`–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

以上。

■ 関連

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください