S3オブジェクトの権限を変更

awscliで表題の件を行う。

■ 環境

  • awscli 1.10.17

■ get-object-acl

先日のエントリの通り、S3オブジェクトの既存の権限を取得することはできた。

$ aws s3api get-object-acl --bucket withsin --id test.tar.gz

これを変更する方法を確認する。というのも下記のように`–acl public-read`を付け忘れて実行してしまうことが多々ある為である。

$ aws s3 cp ./test.tar.gz s3://withsin/

■ put-object-acl

`s3api`には`put-object-acl`というサブコマンドもあるようだ。これで設定できそうである。

$ aws s3api put-object-acl --acl public-read --bucket withsin --key test.tar.gz
$
$ aws s3api get-object-acl --bucket withsin --key test.tar.gz
{
    "Owner": {
        "DisplayName": "withsin",
        "ID": "XXXXXXXXXXXXXXXXXXXX"
    },
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser",
                "DisplayName": "withsin",
                "ID": "XXXXXXXXXXXXXXXXXXXX"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
$

上記で良さそうである。以前はその場で気がつけば下記のようにアップロードしなおしていたりしたが、これでブラウザから”ManagementConsole“を開いて…というような事をしなくて済みそうだ。

以上。

■ 関連

コメントを残す

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

CAPTCHA