awscliでS3オブジェクトの権限を確認

表題の通り。以前、どうやったら取れるのだろう?と疑問だった点が解消されたのでメモ。

■ 環境

  • awscli 1.10.17

■ s3api

`aws`コマンドには`s3api`コマンドがあり、ここから各種情報を取得できる。その中に自信が以前欲しいと思っていた情報を取得するコマンドがあったので試してみる。

$ aws s3api get-object-acl

あるファイルのpermissionを確認したい。下記は”withsin“バケットにある”test.tar.gz“の権限を確認している。

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

ちなみに該当のファイルは下記のようにしてアップロードしたときのものである。

$ aws s3 cp ./test.tar.gz s3://withsin/test.tar.gz --acl public-read

以上。

■ 関連