All Products
Search
Document Center

Object Storage Service:Izin yang diperlukan untuk replikasi data

Last Updated:Mar 20, 2026

OSS mengasumsikan role Resource Access Management (RAM) untuk mereplikasi data antar bucket. Izin yang Anda sambungkan ke role tersebut berbeda tergantung pada apakah bucket sumber dan tujuan berada dalam Akun Alibaba Cloud yang sama atau berbeda.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Role RAM dengan OSS (oss.aliyuncs.com) sebagai entitas tepercaya

  • Akses ke kedua akun bucket sumber dan tujuan (untuk replikasi lintas akun, akses ke Akun A dan Akun B)

Cara kerja

Setiap tugas replikasi memerlukan OSS untuk mengasumsikan role RAM yang Anda buat. Role tersebut harus memiliki dua jenis kebijakan:

  • Trust policy — mengotorisasi OSS untuk mengasumsikan role tersebut

  • Permission policy — memberikan aksi minimum yang diperlukan pada bucket sumber dan tujuan

Karena bidang Resource dalam kebijakan RAM hanya dapat mereferensikan resource dalam Akun Alibaba Cloud yang sama, struktur kebijakan berbeda antara replikasi dalam akun yang sama dan lintas akun:

SkenarioPengaturan sisi sumberPengaturan sisi tujuan
Same-accountKebijakan RAM pada role (mencakup kedua bucket)
Cross-accountKebijakan RAM pada role Akun A (hanya bucket sumber)Kebijakan bucket pada bucket tujuan di Akun B

Menyiapkan izin untuk replikasi dalam akun yang sama

Trust policy

Sambungkan trust policy berikut ke role RAM. Kebijakan ini mengotorisasi OSS untuk mengasumsikan role tersebut.

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "oss.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

Permission policy

Sambungkan kebijakan RAM berikut ke role tersebut. Kebijakan ini memberikan aksi minimum yang diperlukan pada bucket sumber dan tujuan.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:ReplicateList",
        "oss:ReplicateGet"
      ],
      "Resource": [
        "acs:oss:*:*:src-bucket",
        "acs:oss:*:*:src-bucket/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:ReplicateList",
        "oss:ReplicateGet",
        "oss:ReplicatePut",
        "oss:ReplicateDelete"
      ],
      "Resource": [
        "acs:oss:*:*:dest-bucket",
        "acs:oss:*:*:dest-bucket/*"
      ]
    }
  ]
}

Ganti src-bucket dan dest-bucket dengan nama bucket aktual Anda.

Referensi aksi

ActionLingkupDeskripsi
oss:ReplicateListBucket sumber dan tujuanMencantumkan objek historis di bucket sumber agar OSS dapat mereplikasikannya ke tujuan
oss:ReplicateGetBucket sumber dan tujuanMembaca objek, bagian, task unggah multi-bagian, dan metadata objek
oss:ReplicatePutBucket tujuanMenulis objek, bagian, task unggah multi-bagian, tautan simbolik, dan metadata objek ke tujuan
oss:ReplicateDeleteBucket tujuanMelakukan operasi DeleteObject, AbortMultipartUpload, dan DeleteMarker pada tujuan
Penting

oss:ReplicateDelete hanya diperlukan jika Anda mengatur Replication Policy ke Add/Delete/Change.

Menyiapkan izin untuk replikasi lintas akun

Replikasi lintas akun melibatkan Akun A (bucket sumber) dan Akun B (bucket tujuan). Pengaturannya mirip dengan replikasi dalam akun yang sama, dengan dua perbedaan:

  • Kebijakan RAM Akun A hanya mencakup bucket sumber, bukan bucket tujuan.

  • Akun B harus menambahkan kebijakan bucket yang memberikan akses role RAM Akun A ke bucket tujuan.

Langkah 1: Sambungkan kebijakan ke RAM role Akun A

Kebijakan kepercayaan — identik dengan kebijakan kepercayaan pada akun yang sama. Lampirkan ke Peran RAM di Akun A.

Permission policy — memberikan izin minimum pada role Akun A hanya untuk bucket sumber.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:ReplicateList",
        "oss:ReplicateGet"
      ],
      "Resource": [
        "acs:oss:*:*:src-bucket",
        "acs:oss:*:*:src-bucket/*"
      ]
    }
  ]
}

Ganti src-bucket dengan nama bucket sumber aktual Anda.

Langkah 2: Tambahkan kebijakan bucket ke bucket tujuan Akun B

Di Akun B, tambahkan kebijakan bucket berikut ke bucket tujuan. Kebijakan ini memberikan izin kepada role RAM Akun A untuk menulis data yang direplikasi.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:ReplicateList",
        "oss:ReplicateGet",
        "oss:ReplicatePut",
        "oss:ReplicateDelete"
      ],
      "Principal": [
        "arn:sts::src-uid:assumed-role/role-name/*"
      ],
      "Resource": [
        "acs:oss:*:dest-uid:dest-bucket",
        "acs:oss:*:dest-uid:dest-bucket/*"
      ]
    }
  ]
}

Ganti placeholder dengan nilai lingkungan Anda:

PlaceholderDeskripsi
src-uidUID Akun Alibaba Cloud tempat bucket sumber berada
role-nameNama RAM role yang dibuat di Akun A
dest-uidUID Akun Alibaba Cloud tempat bucket tujuan berada
dest-bucketNama bucket tujuan

Untuk deskripsi aksi, lihat Referensi aksi.

Langkah selanjutnya