

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

# Mengontrol akses ke sumber daya Amazon Kinesis Data Streams menggunakan IAM
<a name="controlling-access"></a>

AWS Identity and Access Management (IAM) memungkinkan Anda untuk melakukan hal berikut:
+ Buat pengguna dan grup di bawah AWS akun Anda
+ Tetapkan kredensi keamanan unik untuk setiap pengguna di bawah akun Anda AWS 
+ Kontrol izin setiap pengguna untuk melakukan tugas menggunakan sumber daya AWS 
+ Izinkan pengguna di AWS akun lain untuk membagikan AWS sumber daya Anda
+ Buat peran untuk AWS akun Anda dan tentukan pengguna atau layanan yang dapat mengasumsikannya
+ Gunakan identitas yang ada untuk perusahaan Anda untuk memberikan izin untuk melakukan tugas menggunakan sumber daya AWS 

Dengan menggunakan IAM dengan Kinesis Data Streams, Anda dapat mengontrol apakah pengguna di organisasi dapat melakukan tugas menggunakan tindakan API Kinesis Data Streams tertentu dan apakah mereka dapat menggunakan sumber daya tertentu. AWS 

Jika Anda mengembangkan aplikasi menggunakan Kinesis Client Library (KCL), kebijakan Anda harus menyertakan izin untuk Amazon DynamoDB dan Amazon CloudWatch; KCL menggunakan DynamoDB untuk melacak informasi status aplikasi, dan mengirim metrik KCL ke atas nama Anda. CloudWatch CloudWatch Untuk informasi lebih lanjut tentang KCL, lihat[Kembangkan konsumen KCL 1.x](developing-consumers-with-kcl.md).

Untuk informasi selengkapnya tentang IAM, lihat berikut ini:
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/)
+ [Memulai dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

*Untuk informasi selengkapnya tentang IAM dan Amazon DynamoDB[, lihat Menggunakan IAM untuk Mengontrol Akses ke Sumber Daya Amazon DynamoDB di Panduan Pengembang Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/UsingIAMWithDDB.html).* 

Untuk informasi selengkapnya tentang IAM dan Amazon CloudWatch, lihat [Mengontrol Akses Pengguna ke AWS Akun Anda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingIAM.html) di *Panduan CloudWatch Pengguna Amazon*.

**Topics**
+ [Sintaksis kebijakan](#policy-syntax)
+ [Tindakan untuk Kinesis Data Streams](#kinesis-using-iam-actions)
+ [Nama Sumber Daya Amazon (ARNs) untuk Kinesis Data Streams](#kinesis-using-iam-arn-format)
+ [Contoh kebijakan untuk Kinesis Data Streams](#kinesis-using-iam-examples)
+ [Bagikan aliran data Anda dengan akun lain](#sharing-data-streams)
+ [Konfigurasikan AWS Lambda fungsi untuk membaca dari Kinesis Data Streams di akun lain](#sharing-data-streams-example)
+ [Berbagi akses menggunakan kebijakan berbasis sumber daya](resource-based-policy-examples.md)

## Sintaksis kebijakan
<a name="policy-syntax"></a>

 kebijakan IAM adalah dokumen JSON yang terdiri dari satu atau beberapa pernyataan. Setiap pernyataan memiliki struktur sebagai berikut:

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Ada berbagai elemen yang membentuk pernyataan:
+ **Efek:** *Efek* bisa berupa `Allow` atau `Deny`. Secara default, para pengguna IAM tidak memiliki izin untuk menggunakan sumber daya dan tindakan API, jadi semua permintaan akan ditolak. izin eksplisit akan menggantikan izin default. penolakan eksplisit akan menggantikan izin apa pun.
+ **Tindakan**: *Tindakan* adalah tindakan API tertentu yang Anda izinkan atau tolak.
+ **Sumber Daya**: Sumber daya yang dipengaruhi oleh tindakan. Untuk menentukan sumber daya dalam sebuah pernyataan kebijakan IAM, gunakan Amazon Resource Name (ARN).
+ **Syarat**: Syarat bersifat opsional. Ketentuan ini dapat digunakan untuk mengontrol kapan kebijakan Anda akan berlaku.

Saat Anda membuat dan mengelola kebijakan IAM, Anda mungkin ingin menggunakan [IAM Policy Generator dan IAM Policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) [Simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).

## Tindakan untuk Kinesis Data Streams
<a name="kinesis-using-iam-actions"></a>

Dalam pernyataan kebijakan IAM, Anda dapat menentukan tindakan API apa pun dari layanan apa pun yang mendukung IAM. Untuk Kinesis Data Streams, gunakan awalan berikut dengan nama tindakan API:. `kinesis:` Misalnya:`kinesis:CreateStream`,`kinesis:ListStreams`, dan`kinesis:DescribeStreamSummary`.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan tindakan-tindakan tersebut menggunakan koma seperti berikut:

```
"Action": ["kinesis:action1", "kinesis:action2"]
```

Anda juga dapat menentukan beberapa tindakan menggunakan wildcard. Misalnya, Anda dapat menentukan semua tindakan yang namanya dimulai dengan kata “Dapatkan” sebagai berikut:

```
"Action": "kinesis:Get*"
```

Untuk menentukan semua operasi Kinesis Data Streams, gunakan wildcard \$1 sebagai berikut:

```
"Action": "kinesis:*"
```

Untuk daftar lengkap tindakan API Kinesis Data Streams, lihat Referensi API [Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/APIReference/).

## Nama Sumber Daya Amazon (ARNs) untuk Kinesis Data Streams
<a name="kinesis-using-iam-arn-format"></a>

Setiap pernyataan kebijakan IAM berlaku untuk sumber daya yang Anda tentukan dengan menggunakan ARNs.

Gunakan format sumber daya ARN berikut untuk aliran data Kinesis:

```
arn:aws:kinesis:region:account-id:stream/stream-name
```

Contoh:

```
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
```

## Contoh kebijakan untuk Kinesis Data Streams
<a name="kinesis-using-iam-examples"></a>

Contoh kebijakan berikut menunjukkan bagaimana Anda dapat mengontrol akses pengguna ke aliran data Kinesis Anda.

------
#### [ Example 1: Allow users to get data from a stream ]

**Example**  
 Kebijakan ini memungkinkan pengguna atau grup untuk melakukan`DescribeStreamSummary`,`GetShardIterator`, dan `GetRecords` operasi pada aliran tertentu dan `ListStreams` pada aliran apa pun. Kebijakan ini dapat diterapkan pada pengguna yang seharusnya bisa mendapatkan data dari aliran tertentu.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:Get*",
                "kinesis:DescribeStreamSummary"
            ],
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:ListStreams"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------
#### [ Example 2: Allow users to add data to any stream in the account ]

**Example**  
Kebijakan ini memungkinkan pengguna atau grup untuk menggunakan `PutRecord` operasi dengan salah satu aliran akun. Kebijakan ini dapat diterapkan pada pengguna yang harus dapat menambahkan catatan data ke semua aliran di akun.    
****  

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

------
#### [ Example 3: Allow any Kinesis Data Streams action on a specific stream ]

**Example**  
Kebijakan ini memungkinkan pengguna atau grup untuk menggunakan operasi Kinesis Data Streams apa pun pada aliran yang ditentukan. Kebijakan ini dapat diterapkan pada pengguna yang harus memiliki kontrol administratif atas aliran tertentu.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        }
    ]
}
```

------
#### [ Example 4: Allow any Kinesis Data Streams action on any stream ]

**Example**  
Kebijakan ini memungkinkan pengguna atau grup untuk menggunakan operasi Kinesis Data Streams apa pun pada aliran apa pun di akun. Karena kebijakan ini memberikan akses penuh ke semua aliran Anda, Anda harus membatasinya hanya untuk administrator.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
                "arn:aws:kinesis:*:111122223333:stream/*"
            ]
        }
    ]
}
```

------

## Bagikan aliran data Anda dengan akun lain
<a name="sharing-data-streams"></a>

**catatan**  
 Kinesis Producer Library saat ini tidak mendukung penentuan aliran ARN saat menulis ke aliran data. Gunakan AWS SDK jika Anda ingin menulis ke aliran data lintas akun. 

Lampirkan [kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) ke aliran data Anda untuk memberikan akses ke akun lain, pengguna IAM, atau peran IAM. Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya seperti aliran data. Kebijakan ini memberikan izin [pokok yang ditentukan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) untuk melakukan tindakan spesifik pada sumber daya tersebut dan menentukan dalam kondisi apa hal ini berlaku. Kebijakan dapat memiliki beberapa pernyataan. Anda harus menentukan principal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau layanan. AWS Anda dapat mengonfigurasi kebijakan di konsol Kinesis Data Streams, API, atau SDK. 

Perhatikan bahwa berbagi akses ke konsumen terdaftar seperti [Enhanced Fan Out](https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html) memerlukan kebijakan tentang ARN aliran data ARN dan ARN konsumen. 

### Aktifkan akses lintas akun
<a name="sharing-data-streams-enabling"></a>

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Menambahkan principal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya berada di AWS akun terpisah, Anda juga harus menggunakan kebijakan berbasis identitas untuk memberikan akses utama ke sumber daya. Namun, jika kebijakan berbasis sumber daya memberikan akses ke principal dalam akun yang sama, tidak diperlukan kebijakan berbasis identitas tambahan. 

Untuk informasi selengkapnya tentang penggunaan kebijakan berbasis sumber daya untuk akses lintas akun, lihat Akses sumber daya lintas akun di [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).

Administrator aliran data dapat menggunakan AWS Identity and Access Management kebijakan untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana *utama* dapat melakukan *tindakan* pada *sumber daya*, dan dalam *kondisi apa*. Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan operasi AWS API terkait. 

Tindakan Kinesis Data Streams yang dapat dibagikan:


| Tindakan | Tingkat akses | 
| --- | --- | 
| [DescribeStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamConsumer.html) | Konsumen | 
| [DescribeStreamSummary](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html) | Aliran data | 
| [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) | Aliran data | 
| [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html) | Aliran data | 
| [ListShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) | Aliran data | 
| [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) | Aliran data | 
| [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) | Aliran data | 
| [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) | Konsumen | 

Berikut ini adalah contoh penggunaan kebijakan berbasis sumber daya untuk memberikan akses lintas akun ke aliran data Anda atau konsumen terdaftar. 

Untuk melakukan tindakan lintas akun, Anda harus menentukan ARN aliran untuk akses aliran data dan ARN konsumen untuk akses konsumen terdaftar. 

### Contoh kebijakan berbasis sumber daya untuk aliran data Kinesis
<a name="kinesis-stream-sharing-iam-examples"></a>

Berbagi konsumen terdaftar melibatkan kebijakan aliran data dan kebijakan konsumen karena tindakan yang diperlukan. 

**catatan**  
Berikut ini adalah contoh nilai yang valid untuk`Principal`:  
`{"AWS": "123456789012"}`
Pengguna IAM - `{"AWS": "arn:aws:iam::123456789012:user/user-name"}`
Peran IAM - `{"AWS":["arn:aws:iam::123456789012:role/role-name"]}`
Beberapa Prinsipal (dapat berupa kombinasi akun, pengguna, peran) - `{"AWS":["123456789012", "123456789013", "arn:aws:iam::123456789012:user/user-name"]}`

------
#### [ Example 1: Write access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_write_policy_ID",
    "Statement": [
        {
            "Sid": "writestatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 2: Read access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "sharedthroughputreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [                
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:GetRecords",
                "kinesis:GetShardIterator"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 3: Share enhanced fan-out read access to a registered consumer ]

**Example**  
Pernyataan kebijakan aliran data:     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "consumerreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```
Pernyataan kebijakan konsumen:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_efo_read_policy_ID",
    "Statement": [
        {
            "Sid": "eforeadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamConsumer",
                "kinesis:SubscribeToShard"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC/consumer/consumerDEF:1674696300"
        }
    ]
}
```
Wildcard (\$1) tidak didukung untuk tindakan atau bidang utama untuk mempertahankan prinsip hak istimewa yang paling rendah.. 

------

### Mengelola kebijakan untuk aliran data Anda secara terprogram
<a name="sharing-data-streams-managing-policy"></a>

Di luar Konsol Manajemen AWS, Kinesis Data Streams memiliki tiga API untuk mengelola kebijakan aliran data Anda: 
+ [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)
+ [GetResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetResourcePolicy.html)
+ [DeleteResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteResourcePolicy.html)

Gunakan `PutResourePolicy` untuk melampirkan atau menimpa kebijakan untuk aliran data atau konsumen. Gunakan `GetResourcePolicy` untuk memeriksa dan melihat kebijakan untuk aliran data atau konsumen yang ditentukan. Gunakan `DeleteResourcePolicy` untuk menghapus kebijakan untuk aliran data atau konsumen yang ditentukan. 

### Batas kebijakan
<a name="sharing-data-streams-validating"></a>

Kebijakan sumber daya Kinesis Data Streams memiliki batasan sebagai berikut: 
+ Wildcard (\$1) tidak didukung untuk membantu mencegah akses luas diberikan melalui kebijakan sumber daya yang secara langsung dilampirkan ke aliran data atau konsumen terdaftar. Selain itu, periksa dengan cermat kebijakan berikut untuk mengonfirmasi bahwa kebijakan tersebut tidak memberikan akses luas:
  + Kebijakan berbasis identitas yang dilampirkan pada AWS prinsipal terkait (misalnya, peran IAM)
  + Kebijakan berbasis sumber daya yang dilampirkan pada AWS sumber daya terkait (misalnya, kunci KMS) AWS Key Management Service 
+ AWS [Kepala Pelayanan tidak didukung oleh kepala sekolah untuk mencegah calon deputi yang bingung.](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) 
+ Prinsipal federasi tidak didukung. 
+ Pengguna kanonik tidak IDs didukung. 
+ Ukuran polis tidak boleh melebihi 20KB. 

### Bagikan akses ke data terenkripsi
<a name="sharing-access-to-encrypted-data-1"></a>

Jika Anda telah mengaktifkan enkripsi sisi server untuk aliran data dengan kunci KMS AWS terkelola dan ingin berbagi akses melalui kebijakan sumber daya, Anda harus beralih menggunakan kunci yang dikelola pelanggan (CMK). Untuk informasi selengkapnya, lihat [Apa itu enkripsi sisi server untuk Kinesis Data Streams?](what-is-sse.md). Selain itu, Anda harus mengizinkan entitas utama berbagi Anda untuk memiliki akses ke CMK Anda, menggunakan kemampuan berbagi lintas akun KMS. Pastikan juga untuk membuat perubahan dalam kebijakan IAM untuk entitas utama berbagi. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

## Konfigurasikan AWS Lambda fungsi untuk membaca dari Kinesis Data Streams di akun lain
<a name="sharing-data-streams-example"></a>

Untuk contoh cara mengonfigurasi fungsi Lambda untuk membaca dari Kinesis Data Streams di akun lain, lihat. [Bagikan akses dengan fungsi lintas akun AWS Lambda](resource-based-policy-examples.md#Resource-based-policy-examples-lambda) 

# Berbagi akses menggunakan kebijakan berbasis sumber daya
<a name="resource-based-policy-examples"></a>

**catatan**  
Memperbarui kebijakan berbasis sumber daya yang ada berarti mengganti yang sudah ada, jadi pastikan untuk memasukkan semua informasi yang diperlukan dalam kebijakan baru Anda. 

## Bagikan akses dengan fungsi lintas akun AWS Lambda
<a name="Resource-based-policy-examples-lambda"></a>

**Operator Lambda**

1. Buka [konsol IAM](https://console.aws.amazon.com/iam/) untuk membuat peran IAM yang akan digunakan sebagai [peran eksekusi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) untuk fungsi Anda. AWS Lambda Tambahkan kebijakan IAM terkelola `AWSLambdaKinesisExecutionRole` yang memiliki Kinesis Data Streams dan izin pemanggilan Lambda yang diperlukan. Kebijakan ini juga memberikan akses ke semua sumber daya Kinesis Data Streams potensial yang mungkin dapat Anda akses. 

1. Di [AWS Lambda konsol](https://console.aws.amazon.com/lambda/home), buat AWS Lambda fungsi [untuk memproses rekaman dalam aliran data Kinesis Data Streams](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) dan selama penyiapan untuk peran eksekusi, pilih peran yang Anda buat di langkah sebelumnya. 

1. Berikan peran eksekusi kepada pemilik sumber daya Kinesis Data Streams untuk mengonfigurasi kebijakan sumber daya. 

1. Selesai mengatur fungsi Lambda. 

**Pemilik sumber daya Kinesis Data Streams**

1. Dapatkan peran eksekusi Lambda lintas akun yang akan memanggil fungsi Lambda. 

1. Di konsol Amazon Kinesis Data Streams, pilih aliran data. Pilih tab **Berbagi aliran data** dan kemudian tombol **Buat kebijakan berbagi** untuk memulai editor kebijakan visual. Untuk berbagi konsumen terdaftar dalam aliran data, pilih konsumen, lalu pilih **Buat kebijakan berbagi**. Anda juga dapat menulis kebijakan JSON secara langsung. 

1. Tentukan peran eksekusi Lambda lintas akun sebagai tindakan utama dan Kinesis Data Streams yang tepat yang Anda bagikan aksesnya. Pastikan untuk menyertakan tindakan`kinesis:DescribeStream`. Untuk informasi selengkapnya tentang contoh kebijakan sumber daya untuk Kinesis Data [Contoh kebijakan berbasis sumber daya untuk aliran data Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples) Streams, lihat.

1. Pilih **Buat kebijakan** atau gunakan [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)untuk melampirkan kebijakan ke sumber daya Anda. 

## Berbagi akses dengan konsumen KCL lintas akun
<a name="Resource-based-policy-examples-kcl-consumers"></a>
+ Jika Anda menggunakan KCL 1.x, pastikan Anda menggunakan KCL 1.15.0 atau lebih tinggi. 
+ Jika Anda menggunakan KCL 2.x, pastikan Anda menggunakan KCL 2.5.3 atau lebih tinggi. 

**Operator KCL**

1. Berikan peran pengguna IAM atau IAM Anda yang akan menjalankan aplikasi KCL ke pemilik sumber daya. 

1. Mintalah pemilik sumber daya untuk aliran data atau ARN konsumen. 

1. Pastikan Anda menentukan ARN aliran yang disediakan sebagai bagian dari konfigurasi KCL Anda. 
   + Untuk KCL 1.x: gunakan [KinesisClientLibConfiguration](https://github.com/awslabs/amazon-kinesis-client/blob/v1.x/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java#L738-L821)konstruktor dan sediakan arus ARN. 
   + Untuk KCL 2.x: Anda dapat menyediakan ARN streaming saja atau ke Perpustakaan Klien [StreamTracker](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/processor/StreamTracker.java)Kinesis. [ConfigsBuilder](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/ConfigsBuilder.java#L155-L176) Untuk StreamTracker, sediakan aliran ARN dan Epoch pembuatan dari DynamoDB Lease Table yang dihasilkan oleh perpustakaan. Jika Anda ingin membaca dari konsumen terdaftar bersama seperti Enhanced Fan-Out, gunakan StreamTracker dan juga berikan ARN kepada konsumen.

**Pemilik sumber daya Kinesis Data Streams**

1. Dapatkan peran pengguna IAM lintas akun atau IAM yang akan menjalankan aplikasi KCL. 

1. Di konsol Amazon Kinesis Data Streams, pilih aliran data. Pilih tab **Berbagi aliran data** dan kemudian tombol **Buat kebijakan berbagi** untuk memulai editor kebijakan visual. Untuk berbagi konsumen terdaftar dalam aliran data, pilih konsumen, lalu pilih **Buat kebijakan berbagi**. Anda juga dapat menulis kebijakan JSON secara langsung. 

1. Tentukan peran IAM atau IAM aplikasi KCL lintas akun sebagai tindakan utama dan tindakan Kinesis Data Streams yang tepat yang Anda bagikan aksesnya. Untuk informasi selengkapnya tentang contoh kebijakan sumber daya untuk Kinesis Data [Contoh kebijakan berbasis sumber daya untuk aliran data Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples) Streams, lihat. 

1. Pilih **Buat kebijakan** atau gunakan [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)untuk melampirkan kebijakan ke sumber daya Anda. 

## Bagikan akses ke data terenkripsi
<a name="sharing-access-to-encrypted-data"></a>

Jika Anda telah mengaktifkan enkripsi sisi server untuk aliran data dengan kunci KMS AWS terkelola dan ingin berbagi akses melalui kebijakan sumber daya, Anda harus beralih menggunakan kunci yang dikelola pelanggan (CMK). Untuk informasi selengkapnya, lihat [Apa itu enkripsi sisi server untuk Kinesis Data Streams?](what-is-sse.md). Selain itu, Anda harus mengizinkan entitas utama berbagi Anda untuk memiliki akses ke CMK Anda, menggunakan kemampuan berbagi lintas akun KMS. Pastikan juga untuk membuat perubahan dalam kebijakan IAM untuk entitas utama berbagi. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).