

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

# Izin streaming di QLDB
<a name="streams.perms"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Sebelum membuat aliran QLDB Amazon, Anda harus memberikan QLDB dengan izin menulis ke sumber daya Amazon Kinesis Data Streams yang Anda tentukan. Jika Anda menggunakan pelanggan yang dikelola AWS KMS key untuk enkripsi sisi server dari aliran Kinesis Anda, Anda juga harus memberikan izin kepada QLDB untuk menggunakan kunci enkripsi simetris yang Anda tentukan. Kinesis Data Streams [tidak mendukung kunci KMS asimetris](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).

Untuk menyediakan aliran QLDB Anda dengan izin yang diperlukan, Anda dapat membuat QLDB mengambil peran layanan IAM dengan kebijakan izin yang sesuai. Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**catatan**  
Untuk meneruskan peran ke QLDB saat meminta aliran jurnal, Anda harus memiliki izin untuk melakukan `iam:PassRole` tindakan pada sumber daya peran IAM. Ini merupakan tambahan dari `qldb:StreamJournalToKinesis` izin pada subsumber daya aliran QLDB.  
Untuk mempelajari cara mengontrol akses ke QLDB menggunakan IAM, lihat. [Bagaimana Amazon QLDB bekerja dengan IAM](security_iam_service-with-iam.md) Untuk contoh kebijakan QLDB, lihat. [Contoh kebijakan berbasis identitas untuk Amazon QLDB](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-stream-to-kinesis)

Dalam contoh ini, Anda membuat peran yang memungkinkan QLDB menulis catatan data ke aliran data Kinesis atas nama Anda. Untuk informasi selengkapnya, lihat [Membuat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*.

Jika Anda melakukan streaming jurnal QLDB untuk pertama kalinya, Akun AWS Anda harus terlebih dahulu membuat peran IAM dengan kebijakan yang sesuai dengan melakukan hal berikut. Atau, Anda dapat [menggunakan konsol QLDB](streams.create.md#streams.create.con) untuk secara otomatis membuat peran untuk Anda. Jika tidak, Anda dapat memilih peran yang sebelumnya Anda buat.

**Topics**
+ [Membuat kebijakan izin](#streams.perms.create-policy)
+ [Membuat peran IAM](#streams.perms.create-role)

## Membuat kebijakan izin
<a name="streams.perms.create-policy"></a>

Selesaikan langkah-langkah berikut untuk membuat kebijakan izin untuk aliran QLDB. Contoh ini menunjukkan kebijakan Kinesis Data Streams yang memberikan izin QLDB untuk menulis catatan data ke aliran data Kinesis yang Anda tentukan. Jika berlaku, contoh ini juga menunjukkan kebijakan kunci yang memungkinkan QLDB menggunakan kunci KMS enkripsi simetris Anda.

*Untuk informasi selengkapnya tentang kebijakan Kinesis Data Streams[, lihat Mengontrol akses ke resource Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/controlling-access.html) menggunakan [IAM dan Izin untuk menggunakan kunci KMS](https://docs.aws.amazon.com/streams/latest/dev/permissions-user-key-KMS.html) buatan pengguna di Panduan Pengembang Amazon Kinesis Data Streams.* Untuk mempelajari lebih lanjut tentang kebijakan AWS KMS utama, lihat [Menggunakan kebijakan utama AWS KMS di](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) *Panduan AWS Key Management Service Pengembang*.

**catatan**  
Aliran data Kinesis dan kunci KMS Anda harus sama Wilayah AWS dan akun dengan buku besar QLDB Anda.

**Cara menggunakan editor kebijakan JSON untuk membuat kebijakan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di kolom navigasi di sebelah kiri, pilih **Kebijakan**.

   Jika ini pertama kalinya Anda memilih **Kebijakan**, akan muncul laman **Selamat Datang di Kebijakan Terkelola**. Pilih **Memulai**.

1. Di bagian atas halaman, pilih **Buat kebijakan**.

1. Pilih tab **JSON**.

1. Masukkan dokumen kebijakan JSON.
   + Jika Anda menggunakan kunci KMS yang dikelola pelanggan untuk enkripsi sisi server aliran Kinesis Anda, gunakan contoh dokumen kebijakan berikut. Untuk menggunakan kebijakan ini, ganti*us-east-1*, *123456789012**kinesis-stream-name*,, dan *1234abcd-12ab-34cd-56ef-1234567890ab* dalam contoh dengan informasi Anda sendiri.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             },
             {
                 "Sid": "QLDBStreamKMSPermission",
                 "Action": [ "kms:GenerateDataKey" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
             }
         ]
     }
     ```
   + Jika tidak, gunakan contoh dokumen kebijakan berikut. Untuk menggunakan kebijakan ini, ganti *us-east-1**123456789012*, dan *kinesis-stream-name* dalam contoh dengan informasi Anda sendiri.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             }
         ]
     }
     ```

1. Pilih **Tinjau kebijakan**.
**catatan**  
Anda dapat berpindah antara tab **Editor visual** dan **JSON** kapan pun. Namun, apabila Anda melakukan perubahan atau memilih **Tinjau kebijakan** pada tab **Editor visual**, IAM dapat merestrukturisasi kebijakan Anda untuk menjadikannya optimal bagi editor visual. Untuk informasi selengkapnya, lihat [Restrukturisasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) dalam *Panduan Pengguna IAM*.

1. Pada halaman **Peninjauan Kebijakan**, ketikkan **Nama** dan **Deskripsi** opsional untuk kebijakan yang sedang Anda buat. Tinjau **Summary** (Ringkasan) kebijakan untuk melihat izin yang diberikan oleh kebijakan Anda. Kemudian pilih **Buat kebijakan** untuk menyimpan pekerjaan Anda.

## Membuat peran IAM
<a name="streams.perms.create-role"></a>

Setelah membuat kebijakan izin untuk aliran QLDB, Anda kemudian dapat membuat peran IAM dan melampirkan kebijakan Anda padanya.

**Untuk membuat peran layanan untuk QLDB (konsol IAM)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Layanan AWS**.

1. Untuk **kasus Layanan atau penggunaan**, pilih **QLDB**, lalu pilih kasus penggunaan **QLDB**.

1. Pilih **Berikutnya**.

1. Pilih kotak di samping kebijakan yang Anda buat di langkah sebelumnya.

1. (Opsional) Tetapkan [batas izin](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

   1. Buka bagian **Setel batas izin**, lalu pilih **Gunakan batas izin untuk mengontrol izin peran maksimum**.

      IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda.

   1. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Masukkan nama peran atau akhiran nama peran untuk membantu Anda mengidentifikasi tujuan peran.
**penting**  
Saat Anda memberi nama peran, perhatikan hal berikut:  
Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.  
Misalnya, jangan membuat peran bernama keduanya **PRODROLE** dan**prodrole**. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses masuk, nama peran tersebut tidak peka huruf besar/kecil.
Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran tersebut.

1. **(Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan izin**, pilih Edit.**

1. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, tambahkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

1. Tinjau peran lalu pilih **Buat peran**.

Dokumen JSON berikut adalah contoh kebijakan kepercayaan yang memungkinkan QLDB untuk mengambil peran IAM dengan izin khusus yang melekat padanya.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

**catatan**  
Contoh kebijakan kepercayaan ini menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global untuk mencegah masalah *wakil yang membingungkan*. Dengan kebijakan kepercayaan ini, QLDB dapat mengambil peran untuk aliran QLDB apa pun di akun untuk buku besar saja. `123456789012` `myExampleLedger`  
Untuk informasi selengkapnya, lihat [Pencegahan "confused deputy" lintas layanan](cross-service-confused-deputy-prevention.md).

Setelah membuat peran IAM Anda, kembali ke konsol QLDB dan segarkan halaman aliran **Buat QLDB sehingga dapat menemukan peran baru** Anda.