こうこく
作 ▸

Amazon EC2から特定の3Sバケットにのみ aws s3 sync --delete するためのIAMポリシー

これで大丈夫だと思いますが、動作確認する時は、念のためファイル追加・削除ともやってみてください。同期元のディレクトリのパーミッションとかも気を付けてください。

対象のS3バケット名は my-bucket とします。

ここでは aws s3 sync--delete オプションを付けることを想定しています。これは同期元から消えたファイルを同期先から消すオプションなので、DeleteObject も入れてます。

なお、実際には Resource の1行目は arn:aws:s3:::*/* でも大丈夫なんですが、見た目的に不安なのでバケット名で制限してます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:DeleteObject" 
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket/*",
                "arn:aws:s3:::my-bucket"
            ]
        }
    ]
}

メモ

syncコマンド

aws s3 sync ${同期元ディレクトリ} s3://${同期先S3バケット名} --delete
この記事に何かあればこちらまで (非公開)