คัดลอกไฟล์ S3 ระหว่าง Account
s3aws
อัพเดทล่าสุด 26 พ.ค. 65
มีเหตุที่ต้องย้ายไฟล์ระหว่าง account ถ้าสั่งให้มันก๊อปจากข้างในเลย น่าจะเร็วกว่าเยอะ
สร้าง Custom policy ที่ source account
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::SOURCE-BUCKET",
                "arn:aws:s3:::SOURCE-BUCKET/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::DESTINATION-BUCKET",
                "arn:aws:s3:::DESTINATION-BUCKET/*"
            ]
        }
    ]
}

จากนั้นให้ attach policy นี้ กับ user ที่จะใช้คำสั่ง copy

ปรับ Policy ที่ Bucket ปลายทาง
  1. ให้ปรับ bucket เป็น Bucket owner preferred ก่อน
  2. จากนั้นก็แก้ Policy เป็นแบบนี้
{
    "Version": "2012-10-17",
    "Id": "Policy1611277539797",
    "Statement": [
        {
            "Sid": "Stmt1611277535086",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222222222222:user/ek"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::DESTINATION-BUCKET/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        },
        {
            "Sid": "Stmt1611277877767",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222222222222:user/ek"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::DESTINATION-BUCKET"
        }
    ]
}

ตรง arn:aws:iam::222222222222:user/ek คือ ID ของ user ต้นทางนะครับ

ลองใช้คำสั่ง
aws s3 mv s3://SOURCE-BUCKET/1653363384734.jpg s3://DESTINATION-BUCKET/1653363384734.jpg --acl bucket-owner-full-control

ถ้าสำเร็จมันก็จะตอบกลับมาว่า ย้ายแว้วว

Beta Version v23.12.4 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ