

Setelah mempertimbangkan dengan cermat, kami memutuskan untuk menghentikan Amazon Kinesis Data Analytics untuk aplikasi SQL:

1. Mulai **1 September 2025,** kami tidak akan memberikan perbaikan bug untuk Amazon Kinesis Data Analytics untuk aplikasi SQL karena kami akan memiliki dukungan terbatas untuk itu, mengingat penghentian yang akan datang.

2. Mulai **15 Oktober 2025,** Anda tidak akan dapat membuat Kinesis Data Analytics baru untuk aplikasi SQL.

3. Kami akan menghapus aplikasi Anda mulai **27 Januari 2026**. Anda tidak akan dapat memulai atau mengoperasikan Amazon Kinesis Data Analytics untuk aplikasi SQL. Support tidak akan lagi tersedia untuk Amazon Kinesis Data Analytics untuk SQL sejak saat itu. Untuk informasi selengkapnya, lihat [Amazon Kinesis Data Analytics untuk penghentian Aplikasi SQL](discontinuation.md).

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

# Identity and Access Management di Kinesis Data Analytics
<a name="iam-role"></a>

Amazon Kinesis Data Analytics memerlukan izin untuk membaca catatan dari sumber streaming yang Anda tentukan dalam konfigurasi input aplikasi Anda. Amazon Kinesis Data Analytics juga memerlukan izin untuk menulis output aplikasi Anda ke aliran yang Anda tentukan dalam konfigurasi output aplikasi Anda. 

Anda dapat memberikan izin ini dengan membuat IAM role yang dapat diasumsikan oleh Amazon Kinesis Data Analytics. Izin yang Anda berikan ke peran ini menentukan apa yang dapat dilakukan Amazon Kinesis Data Analytics saat layanan mengambil peran. 



**catatan**  
Informasi di bagian ini berguna jika Anda ingin membuat IAM role sendiri. Saat Anda membuat aplikasi di konsol Amazon Kinesis Data Analytics, konsol dapat membuat IAM role untuk Anda saat itu. Konsol menggunakan konvensi penamaan berikut untuk IAM role yang dibuat:  

```
kinesis-analytics-ApplicationName
```
Setelah peran dibuat, Anda dapat meninjau peran dan kebijakan terlampir di konsol IAM. 

Setiap IAM role memiliki dua kebijakan yang dilampirkan padanya. Dalam kebijakan kepercayaan, Anda menentukan siapa yang dapat mengasumsikan peran tersebut. Dalam kebijakan izin (dapat ada satu atau lebih), Anda menentukan izin yang ingin Anda berikan ke peran ini. Bagian berikut menjelaskan kebijakan ini, yang dapat Anda gunakan saat Anda membuat IAM role. 



## Kebijakan Kepercayaan
<a name="iam-role-trust-policy"></a>

Untuk memberi Amazon Kinesis Data Analytics izin mengambil peran untuk mengakses sumber streaming atau referensi, Anda dapat melampirkan kebijakan kepercayaan berikut ke IAM role tersebut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesisanalytics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## Kebijakan Izin
<a name="iam-role-permissions-policy"></a>

Jika Anda membuat IAM role untuk mengizinkan Amazon Kinesis Data Analytics membaca dari sumber streaming aplikasi, Anda harus memberikan izin untuk tindakan baca yang relevan. Bergantung pada sumber Anda (misalnya, aliran Kinesis, aliran pengiriman Firehose, atau sumber referensi di bucket Amazon S3), Anda dapat melampirkan kebijakan izin berikut.



### Kebijakan Izin untuk Membaca Aliran Kinesis
<a name="iam-role-permissions-policy-stream"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadInputKinesis",
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStream",
                "kinesis:GetShardIterator",
                "kinesis:GetRecords",
                "kinesis:ListShards"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-1:123456789012:stream/inputStreamName"
            ]
        }
    ]
}
```

------

### Kebijakan Izin untuk Membaca Aliran Pengiriman Firehose
<a name="iam-role-permissions-policy-delivery-stream"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadInputFirehose",
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:Get*"
            ],
            "Resource": [
                "arn:aws:firehose:us-east-1:123456789012:deliverystream/inputFirehoseName"
            ]
        }
    ]
}
```

------

**catatan**  
Izin `firehose:Get*` mengacu pada penilai internal yang digunakan oleh Kinesis Data Analytics untuk mengakses aliran. Tidak ada akses publik untuk aliran pengiriman Firehose.

Jika Anda mengarahkan Amazon Kinesis Data Analytics untuk menulis output ke tujuan eksternal dalam konfigurasi output aplikasi, Anda harus memberikan izin berikut ke IAM role. 

### Kebijakan Izin untuk Menulis ke Aliran Kinesis
<a name="iam-role-permissions-policy-ak-stream"></a>

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

****  

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

------

### Kebijakan Izin untuk Menulis ke Aliran Pengiriman Firehose
<a name="iam-role-permissions-policy-af-delivery-stream"></a>



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "WriteOutputFirehose",
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": [
                "arn:aws:firehose:us-east-1:123456789012:deliverystream/output-firehose-name"
            ]
        }
    ]
}
```

------

### Kebijakan Izin untuk Membaca Sumber Data Referensi dari Bucket Amazon S3
<a name="iam-role-permissions-policy-reference"></a>



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Pencegahan "confused deputy" lintas layanan
<a name="iam-cross-service-confused-deputy-prevention"></a>

Dalam AWS, peniruan lintas layanan dapat terjadi ketika satu layanan (layanan panggilan) memanggil layanan lain (layanan yang disebut). Layanan panggilan dapat dimanipulasi untuk bertindak atas sumber daya pelanggan lain meskipun seharusnya tidak memiliki izin yang tepat, yang mengakibatkan masalah wakil yang membingungkan.

Untuk mencegah kebingungan deputi, AWS sediakan alat yang membantu Anda melindungi data Anda untuk semua layanan menggunakan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda. Bagian ini berfokus pada pencegahan wakil kebingungan lintas layanan khusus untuk Kinesis Data Analytics. Namun, Anda dapat mempelajari lebih lanjut tentang topik ini [di Bagian Deputi Masalah yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) dari Panduan Pengguna *IAM*. 

Dalam konteks Kinesis Data Analytics untuk SQL, sebaiknya gunakan kunci konteks kondisi global [aws SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn): [dan aws SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount): dalam kebijakan kepercayaan peran Anda untuk membatasi akses ke peran hanya pada permintaan yang dihasilkan oleh sumber daya yang diharapkan.

Gunakan `aws:SourceArn` jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan. Gunakan `aws:SourceAccount` jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Nilai `aws:SourceArn` harus berupa ARN dari sumber daya yang digunakan oleh Kinesis Data Analytics, yang ditentukan dengan format berikut:. `arn:aws:kinesisanalytics:region:account:resource`

Pendekatan yang direkomendasikan untuk masalah wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi `aws:SourceArn` global dengan ARN sumber daya penuh.

Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan `aws:SourceArn` kunci dengan karakter wildcard (\$1) untuk bagian ARN yang tidak diketahui. Sebagai contoh: `arn:aws:kinesisanalytics::111122223333:*`.

Sementara sebagian besar tindakan dalam Kinesis Data Analytics untuk SQL API [CreateApplication](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_CreateApplication.html)seperti [AddApplicationInput](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationInput.html), [DeleteApplication](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DeleteApplication.html)dan dibuat dalam konteks aplikasi tertentu, [DiscoverInputSchema](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DiscoverInputSchema.html)tindakan tidak dijalankan dalam konteks aplikasi apa pun. Itu berarti peran yang digunakan dalam tindakan ini tidak harus sepenuhnya menentukan sumber daya dalam kunci `SourceArn` kondisi. Berikut ini adalah contoh yang menggunakan ARN wildcard:

```
{
   ...
   "ArnLike":{
      "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:*"
   }
   ...
}
```

Peran default yang dihasilkan oleh Kinesis Data Analytics untuk SQL menggunakan wildcard ini. Ini memastikan menemukan skema input bekerja dengan mulus dalam pengalaman konsol. Namun, kami merekomendasikan untuk mengedit Kebijakan Kepercayaan untuk menggunakan ARN penuh setelah menemukan skema untuk menerapkan mitigasi wakil yang membingungkan sepenuhnya.

Kebijakan peran yang Anda berikan kepada Kinesis Data Analytics serta kebijakan kepercayaan peran yang dihasilkan untuk Anda dapat menggunakan kunci kondisi [aws SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn): [dan aws SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount):. 

Untuk melindungi dari masalah wakil yang membingungkan, lakukan langkah-langkah berikut: 

**Untuk melindungi dari masalah wakil yang membingungkan**

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

1. Pilih **Peran** dan kemudian pilih peran yang ingin Anda ubah.

1. Pilih **Edit kebijakan kepercayaan**.

1. Pada halaman **Edit kebijakan kepercayaan**, ganti kebijakan JSON default dengan kebijakan yang menggunakan salah satu atau kedua kunci konteks kondisi `aws:SourceAccount` global. `aws:SourceArn` Lihat contoh kebijakan berikut:

1. Pilih **Perbarui kebijakan**.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"kinesisanalytics.amazonaws.com"
            },
            "Action":"sts:AssumeRole",
            "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"Account ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app"
               }
            }
         }
      ]
   }
   ```

------