

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tabel global multi-akun DynamoDB
<a name="globaltables-MultiAccount"></a>

Tabel global multi-akun secara otomatis mereplikasi data tabel DynamoDB Anda di beberapa AWS Wilayah dan beberapa AWS akun untuk meningkatkan ketahanan, mengisolasi beban kerja di tingkat akun, dan menerapkan kontrol keamanan dan tata kelola yang berbeda. Setiap tabel replika berada di AWS akun yang berbeda, memungkinkan isolasi kesalahan di tingkat Wilayah dan akun. Anda juga dapat menyelaraskan replika dengan AWS struktur organisasi Anda. Tabel global multi-akun memberikan manfaat isolasi, tata kelola, dan keamanan tambahan dibandingkan dengan tabel global akun yang sama.

Tabel global multi-akun memberikan manfaat berikut:
+ Replikasi data tabel DynamoDB secara otomatis di seluruh akun dan Wilayah pilihan Anda AWS 
+ Meningkatkan keamanan dan tata kelola dengan mereplikasi data di seluruh akun dengan kebijakan, pagar pembatas, dan batasan kepatuhan yang berbeda
+ Meningkatkan ketahanan operasional dan isolasi kesalahan tingkat akun dengan menempatkan replika di akun terpisah AWS 
+ Sejajarkan beban kerja berdasarkan unit bisnis atau kepemilikan saat menggunakan strategi multi-akun
+ Sederhanakan atribusi biaya dengan menagih setiap replika ke akun masing-masing AWS 

Untuk informasi selengkapnya, lihat [Manfaat menggunakan beberapa AWS akun](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/benefits-of-using-multiple-aws-accounts.html). Jika beban kerja Anda tidak memerlukan replikasi multi-akun, atau Anda ingin pengelolaan replika yang lebih sederhana dengan penggantian lokal, Anda dapat terus menggunakan tabel global akun yang sama.

Anda dapat mengonfigurasi tabel global multi-akun dengan[Konsistensi akhir Multi-Region (MREC)](V2globaltables_HowItWorks.md#V2globaltables_HowItWorks.consistency-modes.mrec). Tabel global yang dikonfigurasi untuk [Konsistensi kuat Multi-Region (MRSC)](V2globaltables_HowItWorks.md#V2globaltables_HowItWorks.consistency-modes.mrsc) tidak mendukung model multi-akun.

**Topics**
+ [Cara kerja tabel global DynamoDB](V2globaltables_MA_HowItWorks.md)
+ [Tutorial: Membuat tabel global multi-akun](V2globaltables_MA.tutorial.md)
+ [DynamoDB tabel global keamanan](globaltables_MA_security.md)

# Cara kerja tabel global DynamoDB
<a name="V2globaltables_MA_HowItWorks"></a>

Tabel global multi-akun memperluas tabel global DynamoDB yang dikelola sepenuhnya, tanpa server, Multi-wilayah, dan kemampuan multi-aktif untuk menjangkau beberapa akun. AWS Tabel global multi-akun mereplikasi data di seluruh AWS Wilayah dan akun, menyediakan fungsionalitas aktif-aktif yang sama dengan tabel global akun yang sama. Saat Anda menulis ke replika apa pun, DynamoDB mereplikasi data ke semua replika lainnya.

Perbedaan utama dari tabel global akun yang sama meliputi:
+ Replikasi multi-akun didukung untuk tabel global Multi-region eventual consistency (MREC).
+ Anda hanya dapat menambahkan replika dengan memulai dengan tabel Single-region. Mengonversi tabel global akun yang sama yang ada menjadi pengaturan multi-akun tidak didukung. Untuk bermigrasi, Anda harus menghapus replika yang ada untuk kembali ke tabel Single-region sebelum membuat tabel global multi-akun baru.
+ Setiap replika harus berada di akun terpisah AWS . Untuk tabel global multi-akun dengan replika *N*, Anda harus memiliki akun *N*.
+ Tabel global multi-akun menggunakan pengaturan tabel terpadu di semua replika secara default. Semua replika secara otomatis berbagi konfigurasi yang sama (seperti mode throughput dan TTL), dan tidak seperti tabel global akun yang sama, pengaturan ini tidak dapat diganti per replika.
+ Pelanggan harus memberikan izin replikasi ke prinsipal layanan tabel global DynamoDB dalam kebijakan sumber daya mereka.

Tabel global multi-akun menggunakan teknologi replikasi dasar yang sama dengan tabel global akun yang sama. Pengaturan tabel direplikasi secara otomatis di semua replika regional, dan pelanggan tidak dapat mengganti atau menyesuaikan pengaturan per replika. Ini memastikan konfigurasi yang konsisten dan perilaku yang dapat diprediksi di beberapa AWS akun yang berpartisipasi dalam tabel global yang sama.

Pengaturan dalam tabel global DynamoDB menentukan bagaimana tabel berperilaku dan bagaimana data direplikasi di seluruh Wilayah. Pengaturan ini dikonfigurasi melalui APIs bidang kontrol DynamoDB selama pembuatan tabel atau saat menambahkan replika regional baru.

Saat membuat tabel global multi-akun, pelanggan harus mengatur `GlobalTableSettingsReplicationMode = ENABLED` untuk setiap replika regional. Ini memastikan bahwa perubahan konfigurasi yang dibuat di satu Wilayah menyebar secara otomatis ke semua Wilayah lain yang berpartisipasi dalam tabel global.

Anda dapat mengaktifkan replikasi pengaturan setelah pembuatan tabel. Ini mendukung skenario di mana tabel awalnya dibuat sebagai tabel regional dan kemudian ditingkatkan ke tabel global multi-akun.

**Pengaturan yang Disinkronkan**

Pengaturan tabel berikut selalu disinkronkan di semua replika dalam tabel global multi-akun:

**catatan**  
Tidak seperti tabel global akun yang sama, tabel global multi-akun tidak mengizinkan penggantian Per-wilayah untuk pengaturan ini. Satu-satunya pengecualian adalah penggantian untuk kebijakan auto-scaling baca (tabel dan GSIs) diizinkan karena merupakan sumber daya eksternal yang terpisah.
+ Mode kapasitas (kapasitas yang disediakan atau sesuai permintaan)
+ Tabel menyediakan kapasitas baca dan tulis
+ Tabel membaca dan menulis penskalaan otomatis
+ Definisi Indeks Sekunder Lokal (LSI)
+ Definisi Indeks Sekunder Global (GSI)
+ GSI menyediakan kapasitas baca dan tulis
+ GSI membaca dan menulis penskalaan otomatis
+ Definisi aliran dalam mode MREC
+ Waktu Untuk Tayang (TTL)
+ Throughput Hangat
+ Throughput baca dan tulis maksimum sesuai permintaan

**Pengaturan Non-Sinkronisasi**

Pengaturan berikut tidak disinkronkan antara replika dan harus dikonfigurasi secara independen untuk setiap tabel replika di setiap Wilayah.
+ Kelas Tabel
+ Jenis Enkripsi sisi server (SSE)
+ Point-in-time Pemulihan
+ Enkripsi sisi server (SSE) ID Kunci KMS
+ Perlindungan Penghapusan
+ Kinesis Data Streams (KDSD)
+ Tanda
+ Kebijakan Sumber Daya
+ Tabel Wawasan Kontributor Cloudwatch (CCI)
+ Wawasan Kontributor Cloudwatch GSI (CCI)

## Memantau
<a name="V2globaltables_MA_HowItWorks.monitoring"></a>

Tabel global yang dikonfigurasi untuk konsistensi akhir Multi-wilayah (MREC) mempublikasikan metrik ke. [`ReplicationLatency`](metrics-dimensions.md#ReplicationLatency) CloudWatch Metrik ini melacak waktu yang telah berlalu antara saat item ditulis ke tabel replika, dan kapan item itu muncul di replika lain di tabel global. `ReplicationLatency`dinyatakan dalam milidetik dan dipancarkan untuk setiap pasangan Wilayah sumber dan tujuan dalam tabel global.

`ReplicationLatency`Nilai tipikal tergantung pada jarak antara AWS Wilayah yang Anda pilih, serta variabel lain seperti jenis beban kerja dan throughput. Misalnya, replika sumber di Wilayah AS Barat (California Utara) (us-west-1) memiliki lebih rendah `ReplicationLatency` ke Wilayah Barat AS (Oregon) (us-west-2) dibandingkan dengan Wilayah Afrika (Cape Town) (af-south-1).

Nilai yang meningkat untuk `ReplicationLatency` dapat menunjukkan bahwa pembaruan dari satu replika tidak menyebar ke tabel replika lain secara tepat waktu. Dalam hal ini, Anda dapat mengalihkan sementara aktivitas baca dan tulis aplikasi Anda ke AWS Wilayah yang berbeda.

**Menangani Masalah Latensi Replikasi di Tabel Global Multi-akun**

Jika `ReplicationLatency` melebihi 3 jam karena masalah yang disebabkan oleh pelanggan pada tabel replika, DynamoDB mengirimkan pemberitahuan yang meminta pelanggan untuk mengatasi masalah mendasar. Masalah umum yang disebabkan oleh pelanggan yang dapat mencegah replikasi meliputi:
+ Menghapus izin yang diperlukan dari kebijakan sumber daya tabel replika
+ Memilih keluar dari AWS Wilayah yang menampung replika tabel global multi-akun
+ Menolak izin kunci AWS KMS tabel yang diperlukan untuk mendekripsi data

DynamoDB mengirimkan pemberitahuan awal dalam waktu 3 jam setelah latensi replikasi meningkat, diikuti dengan pemberitahuan kedua setelah 20 jam jika masalah tetap belum terselesaikan. Jika masalah tidak diperbaiki dalam jendela waktu yang diperlukan, DynamoDB akan secara otomatis memisahkan replika dari tabel global. Replika yang terpengaruh kemudian akan dikonversi ke tabel regional.

# Tutorial: Membuat tabel global multi-akun
<a name="V2globaltables_MA.tutorial"></a>

Bagian ini memberikan step-by-step petunjuk untuk membuat tabel global DynamoDB yang menjangkau beberapa akun. AWS 

## Buat tabel global multi-akun menggunakan konsol DynamoDB
<a name="create-ma-gt-console"></a>

Ikuti langkah-langkah ini untuk membuat tabel global multi-akun menggunakan. Konsol Manajemen AWS Contoh berikut membuat tabel global dengan tabel replika di Amerika Serikat.

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)di untuk akun pertama (katakanlah). *111122223333*

1. Untuk contoh ini, pilih **US East (Ohio)** dari pemilih Region di bilah navigasi.

1. Di panel navigasi di sisi kiri konsol, pilih **Tabel**.

1. Pilih **Buat Tabel**.

1. Pada halaman **Buat tabel**:

   1. Untuk **Nama tabel**, masukkan **MusicTable**.

   1. Untuk **kunci Partisi**, masukkan**Artist**.

   1. Untuk **tombol Sortir**, masukkan**SongTitle**.

   1. Simpan pengaturan default lainnya dan pilih **Buat tabel**.

1. Tambahkan kebijakan sumber daya berikut ke tabel

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
           "Effect": "Allow",
           "Action": [
               "dynamodb:ReadDataForReplication",
               "dynamodb:WriteDataForReplication",
               "dynamodb:ReplicateSettings"
           ],
           "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
           "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
           "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": ["444455556666","111122223333"],
                   "aws:SourceArn": [
                       "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
                       "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable"
                   ]
               }
           }
       },
       {
           "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
           "Effect": "Allow",
           "Action": [
               "dynamodb:AssociateTableReplica"
           ],
           "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
           "Principal": {"AWS": ["444455556666"]}
       }
   ]
   }
   ```

------

1. Tabel baru ini berfungsi sebagai tabel replika pertama dalam tabel global baru. Ini adalah protojenis untuk tabel replika lain yang Anda tambahkan nantinya.

1. Tunggu meja menjadi **Aktif**. Untuk tabel yang baru dibuat, dari tab **tabel Global**, navigasikan ke **Pengaturan Replikasi** dan klik **Aktifkan**.

1. Keluar dari akun ini (*111122223333*di sini).

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)di untuk akun kedua (katakanlah). *444455556666*

1. Untuk contoh ini, pilih **US East (Virginia N.)** dari pemilih Region di bilah navigasi.

1. Konsol memastikan bahwa tabel dengan nama yang sama tidak ada di Wilayah yang dipilih. Jika ada tabel dengan nama yang sama, Anda harus menghapus tabel yang ada sebelum dapat membuat tabel replika baru di Wilayah tersebut.

1. Di drop-down dekat **Create Table**, pilih **Create from other account**

1. Pada **tabel Buat dari halaman akun lain**:

   1. Tambahkan **arn:aws:dynamodb:us-east-2:*111122223333*:table/MusicTable** sebagai tabel arn untuk tabel sumber.

   1. Dalam **Tabel Replika ARNs**, tambahkan ARN dari tabel sumber lagi. **arn:aws:dynamodb:us-east-2:*111122223333*:table/MusicTable** Jika ada beberapa replika yang sudah ada sebagai bagian dari Tabel Global Multi Akun, Anda harus menambahkan setiap replika yang ada ke ReplicaTable ARN.

   1. Simpan pengaturan default lainnya dan pilih **Kirim**.

1. Tab **tabel Global** untuk tabel Musik (dan untuk tabel replika lainnya) menunjukkan bahwa tabel telah direplikasi di beberapa Wilayah.

1. Untuk menguji replikasi:

   1. Anda dapat menggunakan salah satu wilayah di mana replika ada untuk tabel ini

   1. Pilih **Jelajahi item tabel**.

   1. Pilih **Buat item**.

   1. Masuk **item\$11** untuk **Artis** dan **Song Value 1** untuk **SongTitle**.

   1. Pilih **Buat item**.

   1. Verifikasi replikasi dengan beralih ke wilayah lain:

   1. Verifikasi bahwa tabel Musik berisi item yang Anda buat.

## Buat tabel global multi-akun menggunakan AWS CLI
<a name="ma-gt-cli"></a>

Contoh berikut menunjukkan cara membuat tabel global multi-akun menggunakan. AWS CLI Contoh-contoh ini menunjukkan alur kerja lengkap untuk menyiapkan replikasi lintas akun.

------
#### [ CLI ]

Gunakan AWS CLI perintah berikut untuk membuat tabel global multi-akun dengan replikasi lintas akun.

```
# STEP 1: Setting resource policy for the table in account 111122223333

cat > /tmp/source-resource-policy.json << 'EOF'
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": ["444455556666","111122223333"],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
                        "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable"
                    ]
                }
            }
        },
        {
            "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:AssociateTableReplica"
            ],
            "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
            "Principal": {"AWS": ["444455556666"]}
        }
    ]
}
EOF

# Step 2: Create a new table (MusicTable) in US East (Ohio), 
#   with DynamoDB Streams enabled (NEW_AND_OLD_IMAGES),
#   and Settings Replication ENABLED on the account 111122223333

aws dynamodb create-table \
    --table-name MusicTable \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \
    --global-table-settings-replication-mode ENABLED \
    --resource-policy file:///tmp/source-resource-policy.json \
    --region us-east-2 


# Step 3: Creating replica table in account 444455556666

# Resource policy for account 444455556666
cat > /tmp/dest-resource-policy.json << 'EOF'
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": ["444455556666","111122223333"],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
                        "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable"
                    ]
                }
            }
        }
    ]
}
EOF

# Execute the replica table creation
aws dynamodb create-table \
    --table-name MusicTable \
    --global-table-source-arn "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable" \
    --resource-policy file:///tmp/dest-resource-policy.json \
    --global-table-settings-replication-mode ENABLED \
    --region us-east-1

# Step 4: View the list of replicas created using describe-table
aws dynamodb describe-table \
    --table-name MusicTable \
    --region us-east-2 \
    --query 'Table.{TableName:TableName,TableStatus:TableStatus,MultiRegionConsistency:MultiRegionConsistency,Replicas:Replicas[*].{Region:RegionName,Status:ReplicaStatus}}'

# Step 5: To verify that replication is working, add a new item to the Music table in US East (Ohio)
aws dynamodb put-item \
    --table-name MusicTable \
    --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-2

# Step 6: Wait for a few seconds, and then check to see whether the item has been 
# successfully replicated to US East (N. Virginia) and Europe (Ireland)
aws dynamodb get-item \
    --table-name MusicTable \
    --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-1

aws dynamodb get-item \
    --table-name MusicTable \
    --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-2

# Step 7: Delete the replica table in US East (N. Virginia) Region
aws dynamodb delete-table \
    --table-name MusicTable \
    --region us-east-1

# Clean up: Delete the primary table
aws dynamodb delete-table \
    --table-name MusicTable \
    --region us-east-2
```

------

# DynamoDB tabel global keamanan
<a name="globaltables_MA_security"></a>

Replika tabel global adalah tabel DynamoDB, sehingga Anda menggunakan metode yang sama untuk mengontrol akses ke replika yang Anda lakukan untuk tabel wilayah tunggal, AWS Identity and Access Management termasuk kebijakan identitas (IAM) dan kebijakan berbasis sumber daya. Topik ini mencakup cara mengamankan tabel global multi-akun DynamoDB menggunakan izin IAM dan enkripsi (). AWS Key Management Service AWS KMS Anda mempelajari tentang kebijakan berbasis sumber daya dan peran terkait layanan (SLR) yang memungkinkan replikasi lintas akun lintas wilayah dan auto-scaling, izin IAM yang diperlukan untuk membuat, memperbarui, dan menghapus tabel global, untuk tabel Konsistensi Akhir Multi-wilayah (MREC). Anda juga mempelajari kunci AWS KMS enkripsi untuk mengelola replikasi lintas wilayah dengan aman.

Ini memberikan informasi rinci tentang kebijakan berbasis sumber daya dan izin yang diperlukan untuk membuat replikasi tabel lintas akun dan lintas wilayah. Memahami model keamanan ini sangat penting bagi pelanggan yang perlu menerapkan solusi replikasi data lintas akun yang aman.

## Otorisasi utama layanan untuk replikasi
<a name="globaltables_MA_service_principal"></a>

Tabel global multi-akun DynamoDB menggunakan pendekatan otorisasi yang berbeda karena replikasi dilakukan di seluruh batas akun. Ini dilakukan dengan menggunakan prinsip layanan replikasi DynamoDB:. `replication.dynamodb.amazonaws.com` [Setiap akun yang berpartisipasi harus secara eksplisit mengizinkan prinsipal tersebut dalam kebijakan sumber daya tabel replika, memberikan izin yang dapat dibatasi ke replika tertentu berdasarkan kondisi konteks sumber pada kunci seperti`aws:SourceAccount`,`aws:SourceArn`, dll. — lihat AWS kunci kondisi global untuk detail selengkapnya.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) Izin bersifat bi-directional, yang berarti bahwa semua replika harus secara eksplisit memberikan izin satu sama lain sebelum replikasi dapat dibuat di setiap pasangan replika tertentu.

Izin utama layanan berikut sangat penting untuk replikasi lintas akun:
+ `dynamodb:ReadDataForReplication`memberikan kemampuan untuk membaca data untuk tujuan replikasi. Izin ini memungkinkan perubahan dalam satu replika untuk dibaca dan disebarkan ke replika lain.
+ `dynamodb:WriteDataForReplication`memungkinkan penulisan data yang direplikasi ke tabel tujuan. Izin ini memungkinkan perubahan disinkronkan di semua replika dalam tabel global.
+ `dynamodb:ReplicateSettings`memungkinkan sinkronisasi pengaturan tabel di seluruh replika, menyediakan konfigurasi yang konsisten di semua tabel yang berpartisipasi.

Setiap replika harus memberikan izin di atas untuk semua replika lain dan untuk dirinya sendiri — yaitu kondisi konteks sumber harus menyertakan set lengkap replika yang terdiri dari tabel global. Izin ini diverifikasi untuk setiap replika baru ketika ditambahkan ke tabel global multi-akun. Ini memverifikasi bahwa operasi replikasi hanya dilakukan oleh layanan DynamoDB resmi dan hanya di antara tabel yang dimaksud.

## Peran terkait layanan untuk tabel global multi-akun
<a name="globaltables_MA_service_linked_roles"></a>

Tabel global multi-akun DynamoDB mereplikasi pengaturan di semua replika sehingga setiap replika diatur secara identik dengan throughput yang konsisten dan memberikan pengalaman fail-over yang mulus. Replikasi pengaturan dikontrol melalui `ReplicateSettings` izin pada prinsipal layanan, tetapi kami juga mengandalkan peran terkait layanan (SLRs) untuk mengelola replikasi lintas wilayah dan kemampuan auto-scaling lintas akun tertentu. Peran ini diatur hanya sekali per AWS akun. Setelah dibuat, peran yang sama melayani semua tabel global di akun Anda. Untuk informasi selengkapnya tentang peran terkait layanan, lihat [Menggunakan peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) di Panduan Pengguna IAM.

### Pengaturan manajemen peran terkait layanan
<a name="globaltables_MA_settings_management_slr"></a>

Amazon DynamoDB secara otomatis membuat AWSService RoleForDynamo DBGlobal TableSettingsManagement peran terkait layanan (SLR) saat Anda membuat replika tabel global multi-akun pertama di akun. Peran ini mengelola replikasi pengaturan lintas wilayah lintas akun untuk Anda.

Saat menerapkan kebijakan berbasis sumber daya ke replika, konfirmasikan bahwa Anda tidak menolak izin apa pun yang ditentukan dalam prinsip `AWSServiceRoleForDynamoDBGlobalTableSettingsManagement` ke SLR, karena hal ini dapat mengganggu pengelolaan pengaturan dan dapat mengganggu replikasi jika throughput tidak cocok di seluruh replika atau. GSIs Jika Anda menolak izin SLR yang diperlukan, replikasi ke dan dari replika yang terpengaruh dapat berhenti, dan status tabel replika akan berubah menjadi. `REPLICATION_NOT_AUTHORIZED` Untuk tabel global multi-akun, jika replika tetap dalam `REPLICATION_NOT_AUTHORIZED` status selama lebih dari 20 jam, replika dikonversi secara permanen ke tabel DynamoDB wilayah Tunggal. SLR memiliki izin berikut:
+ `application-autoscaling:DeleteScalingPolicy`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:RegisterScalableTarget`

### Peran terkait layanan penskalaan otomatis
<a name="globaltables_MA_autoscaling_slr"></a>

Saat mengonfigurasi tabel global untuk mode kapasitas yang disediakan, penskalaan otomatis harus dikonfigurasi untuk tabel global. DynamoDB auto scaling menggunakan layanan Application AWS Auto Scaling untuk secara dinamis menyesuaikan kapasitas throughput yang disediakan pada replika tabel global Anda. Layanan Application Auto Scaling membuat peran terkait layanan (SLR) bernama. [AWSServiceRoleForApplicationAutoScaling\$1DynamoDBTable](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) Peran terkait layanan ini secara otomatis dibuat di AWS akun Anda saat pertama kali mengonfigurasi penskalaan otomatis untuk tabel DynamoDB. Hal ini memungkinkan Application Auto Scaling untuk mengelola kapasitas tabel yang disediakan dan membuat alarm. CloudWatch 

Saat menerapkan kebijakan berbasis sumber daya ke replika, verifikasi bahwa Anda tidak menolak izin apa pun yang ditentukan dalam Kebijakan terhadap prinsipal [AWSApplicationAutoscalingDynamoDBTableApplication](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingDynamoDBTablePolicy.html) Auto Scaling SLR, karena ini akan mengganggu fungsionalitas auto-scaling.

## Bagaimana tabel global menggunakan AWS IAM
<a name="globaltables_MA_iam"></a>

Bagian berikut menjelaskan izin yang diperlukan untuk operasi tabel global yang berbeda dan memberikan contoh kebijakan untuk membantu Anda mengonfigurasi akses yang sesuai untuk pengguna dan aplikasi Anda.

**catatan**  
Semua izin yang dijelaskan harus diterapkan ke ARN sumber daya tabel tertentu di Wilayah yang terpengaruh. Sumber daya tabel ARN mengikuti format`arn:aws:dynamodb:region:account-id:table/table-name`, di mana Anda perlu menentukan nilai Region, ID akun, dan nama tabel yang sebenarnya.

Berikut ini adalah step-by-step topik yang kami bahas di bagian di bawah ini:
+ Membuat tabel global multi-akun dan menambahkan replika
+ Memperbarui tabel global multi-akun
+ Menghapus tabel global dan menghapus replika

### Membuat tabel global dan menambahkan replika
<a name="globaltables_MA_creating"></a>

#### Izin untuk membuat tabel global
<a name="globaltables_MA_creating_permissions"></a>

Ketika replika baru ditambahkan ke tabel regional untuk membentuk tabel global multi-akun atau ke tabel global multi-akun yang ada, prinsipal IAM yang melakukan tindakan harus diotorisasi oleh semua anggota yang ada. Semua anggota yang ada perlu memberikan izin berikut dalam kebijakan tabel mereka agar penambahan replika berhasil:
+ `dynamodb:AssociateTableReplica`- Izin ini memungkinkan tabel untuk digabungkan ke dalam pengaturan tabel global. Ini adalah izin dasar yang memungkinkan pembentukan awal hubungan replikasi.

Kontrol yang tepat ini hanya memungkinkan akun resmi untuk berpartisipasi dalam pengaturan tabel global.

#### Contoh kebijakan IAM untuk membuat tabel global
<a name="globaltables_MA_creating_examples"></a>

##### Contoh kebijakan IAM untuk pengaturan 2-replika
<a name="globaltables_MA_2replica_example"></a>

Penyiapan tabel global multi-akun mengikuti alur otorisasi tertentu yang menyediakan replikasi aman. Mari kita periksa bagaimana ini bekerja dalam praktik dengan berjalan melalui skenario praktis di mana pelanggan ingin membuat tabel global dengan dua replika. Replika pertama (ReplicaA) berada di Akun A di wilayah ap-east-1, sedangkan replika kedua (ReplicAb) ada di Akun B di wilayah eu-south-1.
+ Di akun sumber (Akun A), proses dimulai dengan membuat tabel replika utama. Administrator akun harus melampirkan kebijakan berbasis sumber daya ke tabel ini yang secara eksplisit memberikan izin yang diperlukan ke akun tujuan (Akun B) untuk melakukan asosiasi. Kebijakan ini juga mengizinkan layanan replikasi DynamoDB untuk melakukan tindakan replikasi penting.
+ Akun tujuan (Akun B) mengikuti proses serupa dengan melampirkan kebijakan berbasis sumber daya yang sesuai sambil membuat replika dan mereferensikan tabel sumber ARN yang akan digunakan untuk membuat replika. Kebijakan ini mencerminkan izin yang diberikan oleh Akun A, menciptakan hubungan dua arah tepercaya. Sebelum membuat replikasi, DynamoDB memvalidasi izin lintas akun ini untuk memverifikasi otorisasi yang tepat.

Untuk membuat pengaturan ini:
+ Administrator Akun A harus terlebih dahulu melampirkan kebijakan berbasis sumber daya ke ReplicaA. Kebijakan ini secara eksplisit memberikan izin yang diperlukan untuk Akun B dan layanan replikasi DynamoDB.
+ Demikian pula, administrator Akun B harus melampirkan kebijakan yang cocok ke ReplicAb, dengan referensi akun dibalik untuk memberikan izin yang sesuai ke Akun A, dalam panggilan buat tabel untuk membuat replika B yang merujuk replika A sebagai tabel sumber.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [ "111122223333", "444455556666" ],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                        "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB"
                    ]
                }
            }
        },
        {
            "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:AssociateTableReplica"
            ],
            "Resource": "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
            "Principal": {"AWS": ["444455556666"]}
        }
    ]
}
```

------

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [ "111122223333", "444455556666" ],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                        "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB"
                    ]
                }
            }
        }
    ]
}
```

------

##### Contoh kebijakan IAM untuk penyiapan 3-replika
<a name="globaltables_MA_3replica_example"></a>

Dalam pengaturan ini, kami memiliki 3 replika ReplicaA, ReplicAb, dan ReplicaC di Akun A, Akun B, dan Akun C, masing-masing. Replica A adalah replika pertama, yang dimulai sebagai tabel regional, dan kemudian ReplicAb dan ReplicaC ditambahkan ke dalamnya.
+ Administrator Akun A harus terlebih dahulu melampirkan kebijakan berbasis sumber daya ke ReplicaA yang memungkinkan replikasi dengan semua anggota, dan mengizinkan prinsipal IAM Akun B dan Akun C untuk menambahkan replika.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [ "111122223333", "444455556666", "123456789012" ],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                        "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB",
                        "arn:aws:dynamodb:us-east-1:123456789012:table/ReplicaC"
                    ]
                }
            }
        },
        {
            "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:AssociateTableReplica"
            ],
            "Resource": "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
            "Principal": { "AWS": [ "444455556666", "123456789012" ] }
        }
    ]
}
```

------
+ Administrator Akun B harus menambahkan replika (Replica B) yang menunjuk ke ReplicaA sebagai sumber. Replika B memiliki kebijakan berikut yang memungkinkan replikasi antara semua anggota, dan memungkinkan Akun C untuk menambahkan replika:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [ "111122223333", "444455556666", "123456789012" ],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                        "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB",
                        "arn:aws:dynamodb:us-east-1:123456789012:table/ReplicaC"
                    ]
                }
            }
        },
        {
            "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:AssociateTableReplica"
            ],
            "Resource": "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB",
            "Principal": { "AWS": [ "123456789012" ] }
        }
    ]
}
```

------
+ Terakhir, administrator Akun C membuat replika dengan kebijakan berikut yang memungkinkan izin replikasi antara semua anggota. Kebijakan ini tidak mengizinkan replika lebih lanjut ditambahkan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/ReplicaC",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [ "111122223333", "444455556666" ],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                        "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB"
                    ]
                }
            }
        }
    ]
}
```

------

### Memperbarui tabel global multi-akun
<a name="globaltables_MA_updating"></a>

Untuk mengubah setelan replika untuk tabel global yang ada menggunakan UpdateTable API, Anda memerlukan izin berikut pada sumber daya tabel di Wilayah tempat Anda melakukan panggilan API: `dynamodb:UpdateTable`

Anda juga dapat memperbarui konfigurasi tabel global lainnya, seperti kebijakan penskalaan otomatis dan pengaturan Time to Live. Izin berikut diperlukan untuk operasi pembaruan tambahan ini:

Untuk memperbarui pengaturan Waktu ke Langsung dengan `UpdateTimeToLive` API, Anda harus memiliki izin berikut pada sumber daya tabel di semua Wilayah yang berisi replika: `dynamodb:UpdateTimeToLive`

Untuk memperbarui kebijakan penskalaan otomatis replika dengan `UpdateTableReplicaAutoScaling` API, Anda harus memiliki izin berikut pada sumber daya tabel di semua Wilayah yang berisi replika:
+ `application-autoscaling:DeleteScalingPolicy`
+ `application-autoscaling:DeleteScheduledAction`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DescribeScalingActivities`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DescribeScheduledActions`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:PutScheduledAction`
+ `application-autoscaling:RegisterScalableTarget`

**catatan**  
Anda perlu memberikan `dynamodb:ReplicateSettings` izin di semua wilayah replika dan akun agar tabel pembaruan berhasil. Jika ada replika yang tidak memberikan izin untuk mereplikasi pengaturan ke replika apa pun di tabel global multi-akun, semua operasi Pembaruan di semua replika akan gagal hingga izin diperbaiki. `AccessDeniedException`

### Menghapus tabel global dan menghapus replika
<a name="globaltables_MA_deleting"></a>

Untuk menghapus tabel global, Anda harus menghapus semua replika. Tidak seperti Tabel Global akun yang sama, Anda tidak dapat menggunakan `UpdateTable` untuk menghapus tabel replika di wilayah terpencil dan setiap replika harus dihapus melalui `DeleteTable` API dari akun yang mengontrolnya.

#### Izin untuk menghapus tabel global dan menghapus replika
<a name="globaltables_MA_deleting_permissions"></a>

Izin berikut diperlukan baik untuk menghapus replika individual dan untuk menghapus tabel global sepenuhnya. Menghapus konfigurasi tabel global hanya menghapus hubungan replikasi antara tabel di Wilayah yang berbeda. Itu tidak menghapus tabel DynamoDB yang mendasari di Wilayah terakhir yang tersisa. Tabel di Wilayah terakhir terus ada sebagai tabel DynamoDB standar dengan data dan pengaturan yang sama.

Anda memerlukan izin berikut pada sumber daya tabel di setiap Wilayah tempat Anda menghapus replika:
+ `dynamodb:DeleteTable`
+ `dynamodb:DeleteTableReplica`

## Bagaimana tabel global menggunakan AWS KMS
<a name="globaltables_MA_kms"></a>

Seperti semua tabel DynamoDB, replika tabel global selalu mengenkripsi data saat istirahat menggunakan kunci enkripsi yang disimpan AWS di Key Management Service ().AWS KMS

**catatan**  
Tidak seperti tabel global akun yang sama, replika yang berbeda dalam tabel global multi-akun dapat dikonfigurasi dengan jenis kunci yang berbeda ( AWS KMS kunci yang AWS dimiliki, atau kunci yang dikelola Pelanggan). Tabel global multi-akun tidak mendukung Kunci AWS Terkelola.

Tabel global multi-akun yang menggunakan CMKs memerlukan kebijakan kunci setiap replika untuk memberikan izin kepada prinsipal layanan replikasi DynamoDB (`replication.dynamodb.amazonaws.com`) untuk mengakses kunci untuk replikasi dan manajemen pengaturan. Izin berikut diperlukan:
+ `kms:Decrypt`
+ `kms:ReEncrypt*`
+ `kms:GenerateDataKey*`
+ `kms:DescribeKey`

**Penting**

DynamoDB memerlukan akses ke kunci enkripsi replika untuk menghapus replika. Jika Anda ingin menonaktifkan atau menghapus kunci terkelola pelanggan yang digunakan untuk mengenkripsi replika karena Anda menghapus replika, Anda harus terlebih dahulu menghapus replika, menunggu tabel dihapus dari grup replikasi dengan memanggil describe di salah satu replika lainnya, lalu nonaktifkan atau hapus kunci.

Jika Anda menonaktifkan atau mencabut akses DynamoDB ke kunci terkelola pelanggan yang digunakan untuk mengenkripsi replika, replikasi ke dan dari replika akan berhenti dan status replika akan berubah menjadi. `INACCESSIBLE_ENCRYPTION_CREDENTIALS` Jika replika tetap dalam `INACCESSIBLE_ENCRYPTION_CREDENTIALS` status selama lebih dari 20 jam, replika dikonversi secara ireversibel ke tabel DynamoDB wilayah tunggal.

### Contoh AWS KMS kebijakan
<a name="globaltables_MA_kms_example"></a>

 AWS KMS Kebijakan ini memungkinkan DynamoDB mengakses AWS KMS kedua kunci untuk replikasi antara replika A dan B. AWS KMS Kunci yang dilampirkan pada replika DynamoDB di setiap akun perlu diperbarui dengan kebijakan berikut:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": { "Service": "replication.dynamodb.amazonaws.com" },
        "Action": [
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:DescribeKey"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": [ "111122223333", "444455556666" ],
                "aws:SourceArn": [
                    "arn:aws:dynamodb:ap-east-1:111122223333:table/ReplicaA",
                    "arn:aws:dynamodb:eu-south-1:444455556666:table/ReplicaB"
                ]
            }
        }
      }
   ]
 }
```

------