

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

# Menggunakan IAM dengan tabel global
<a name="gt_IAM"></a>

**penting**  
 Dokumentasi ini ditujukan untuk versi 2017.11.29 (Lama) tabel global, yang tidak boleh digunakan untuk tabel global baru. Pelanggan harus menggunakan [Tabel Global versi 2019.11.21 (Saat Ini)](GlobalTables.md) jika memungkinkan, karena memberikan fleksibilitas yang lebih besar, efisiensi yang lebih tinggi, dan mengkonsumsi kapasitas tulis yang lebih sedikit daripada 2017.11.29 (Legacy).   
Untuk menentukan versi mana yang sedang Anda gunakan, lihat [Menentukan versi tabel global](V2globaltables_versions.md#globaltables.DetermineVersion). Untuk memperbarui tabel global yang ada dari versi 2017.11.29 (Lama) ke versi 2019.11.21 (Terbaru), lihat [DynamoDB versi tabel global](V2globaltables_versions.md). 

Ketika Anda membuat tabel global untuk pertama kalinya, Amazon DynamoDB otomatis membuat peran tertaut layanan AWS Identity and Access Management (IAM) untuk Anda. Peran ini bernama [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/aws-service-role/DynamoDBReplicationServiceRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/aws-service-role/DynamoDBReplicationServiceRolePolicy), dan memungkinkan DynamoDB untuk mengelola replikasi lintas-Wilayah untuk tabel global atas nama Anda. Jangan hapus peran tertaut layanan ini. Jika Anda melakukannya, semua tabel global Anda tidak akan berfungsi lagi.

Untuk informasi selengkapnya tentang peran tertaut layanan, lihat [Menggunakan peran tertaut layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) di *Panduan Pengguna IAM*.

Untuk membuat dan memelihara tabel global di DynamoDB, Anda harus memiliki izin `dynamodb:CreateGlobalTable` untuk mengakses berikut ini:
+ Tabel replika yang ingin Anda tambahkan.
+ Setiap replika yang ada yang sudah menjadi bagian dari tabel global.
+ Tabel global itu sendiri.

Untuk memperbarui pengaturan (`UpdateGlobalTableSettings`) tabel global di DynamoDB, Anda harus memiliki izin `dynamodb:UpdateGlobalTable`, `dynamodb:DescribeLimits`, `application-autoscaling:DeleteScalingPolicy`, dan `application-autoscaling:DeregisterScalableTarget`. 

 Izin `application-autoscaling:DeleteScalingPolicy` dan `application-autoscaling:DeregisterScalableTarget` diperlukan saat memperbarui kebijakan penskalaan yang ada. Hal ini agar layanan tabel global dapat menghapus kebijakan penskalaan lama sebelum melampirkan kebijakan baru ke tabel atau indeks sekunder.

Jika menggunakan kebijakan IAM untuk mengelola akses ke satu tabel replika, Anda harus menerapkan kebijakan yang identik pada semua replika lain dalam tabel global. Praktik ini membantu Anda mempertahankan model izin yang konsisten di semua tabel replika.

Menggunakan kebijakan IAM yang identik pada semua replika dalam tabel global, Anda juga dapat menghindari pemberian akses baca dan tulis yang tidak diinginkan ke data tabel global Anda. Misalnya, pertimbangkan pengguna yang hanya memiliki akses ke satu replika dalam tabel global. Jika pengguna tersebut dapat menulis ke replika ini, DynamoDB menyebarkan aktivitas tulis ini ke semua tabel replika lainnya. Akibatnya, pengguna tersebut (secara tidak langsung) dapat menulis ke semua replika lain dalam tabel global. Skenario ini dapat dihindari menggunakan kebijakan IAM yang konsisten pada semua tabel replika.

## Contoh: Izinkan CreateGlobalTable tindakan
<a name="access-policy-gt-example1"></a>

Sebelum dapat menambahkan replika ke tabel global, Anda harus memiliki izin `dynamodb:CreateGlobalTable` untuk tabel global dan untuk masing-masing tabel replikanya.

Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan `CreateGlobalTable` pada semua tabel.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["dynamodb:CreateGlobalTable"],
            "Resource": "*"
        }
    ]
}
```

------

## Contoh: Izinkan UpdateGlobalTable,, application-autoscaling: DescribeLimits, dan application-autoscaling: actions DeleteScalingPolicy DeregisterScalableTarget
<a name="access-policy-gt-example2"></a>

Untuk memperbarui pengaturan (`UpdateGlobalTableSettings`) tabel global di DynamoDB, Anda harus memiliki izin `dynamodb:UpdateGlobalTable`, `dynamodb:DescribeLimits`, `application-autoscaling:DeleteScalingPolicy`, dan `application-autoscaling:DeregisterScalableTarget`. 

Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan `UpdateGlobalTableSettings` pada semua tabel.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:UpdateGlobalTable",
                "dynamodb:DescribeLimits",
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeregisterScalableTarget"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Contoh: Izinkan CreateGlobalTable tindakan untuk nama tabel global tertentu dengan replika yang diizinkan di wilayah tertentu saja
<a name="access-policy-gt-example3"></a>

Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan `CreateGlobalTable` membuat tabel global bernama `Customers` dengan replika di dua Wilayah.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dynamodb:CreateGlobalTable",
            "Resource": [
                "arn:aws:dynamodb::123456789012:global-table/Customers",
                "arn:aws:dynamodb:us-east-1:123456789012:table/Customers",
                "arn:aws:dynamodb:us-west-1:123456789012:table/Customers"
            ]
        }
    ]
}
```

------