

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.

# Keamanan di Amazon Kinesis Data Analytics
<a name="security"></a>

Keamanan cloud di AWS adalah prioritas tertinggi. Sebagai AWS pelanggan, Anda akan mendapat manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi yang paling sensitif terhadap keamanan.

Keamanan adalah tanggung jawab bersama antara Anda AWS dan Anda. [Model tanggung jawab bersama](https://aws.amazon.com/compliance/shared-responsibility-model/) menggambarkan hal ini sebagai keamanan *dari* cloud dan keamanan *di* cloud:
+ **Keamanan cloud** — AWS bertanggung jawab untuk melindungi infrastruktur yang menjalankan AWS layanan di AWS Cloud. AWS juga memberi Anda layanan yang dapat Anda gunakan dengan aman. Efektivitas keamanan kami diuji dan diverifikasi secara rutin oleh auditor pihak ketiga sebagai bagian dari [program kepatuhan AWS](https://aws.amazon.com/compliance/programs/). Untuk mempelajari program kepatuhan yang berlaku untuk Kinesis Data Analytics, lihat [Layanan AWS dalam Cakupan menurut Program Kepatuhan](https://aws.amazon.com/compliance/services-in-scope/).
+ **Keamanan di cloud** — Tanggung jawab Anda ditentukan oleh AWS layanan yang Anda gunakan. Anda juga bertanggung jawab atas faktor-faktor lain termasuk sensitivitas data, kebutuhan organisasi, serta undang-undang dan peraturan yang berlaku. 

Dokumentasi ini membantu Anda memahami cara menerapkan model tanggung jawab bersama saat menggunakan Kinesis Data Analytics. Topik berikut menunjukkan kepada Anda cara mengonfigurasi Kinesis Data Analytics untuk memenuhi tujuan keamanan dan kepatuhan Anda. Anda juga akan mempelajari cara menggunakan layanan Amazon lainnya yang dapat membantu Anda memantau dan mengamankan sumber daya Kinesis Data Analytics Anda. 

**Topics**
+ [Perlindungan Data di Amazon Kinesis Data Analytics untuk Aplikasi SQL](data-protection.md)
+ [Identity and Access Management di Kinesis Data Analytics](iam-role.md)
+ [Otentikasi dan Kontrol Akses untuk](authentication-and-access-control.md)
+ [Memantau Amazon Kinesis Data Analytics](security-monitoring.md)
+ [Validasi Kepatuhan untuk Amazon Kinesis Data Analytics untuk Aplikasi SQL](akda-java-compliance.md)
+ [Ketahanan di Amazon Kinesis Data Analytics](disaster-recovery-resiliency.md)
+ [Keamanan Infrastruktur di Kinesis Data Analytics untuk Aplikasi SQL](infrastructure-security.md)
+ [Praktik Terbaik Keamanan untuk Kinesis Data Analytics](security-best-practices.md)

# Perlindungan Data di Amazon Kinesis Data Analytics untuk Aplikasi SQL
<a name="data-protection"></a>

Anda dapat melindungi data Anda menggunakan alat yang disediakan oleh AWS. Kinesis Data Analytics dapat bekerja dengan layanan yang mendukung enkripsi data, termasuk Kinesis Data Streams, Firehose, dan Amazon S3. 

## Enkripsi Data di Kinesis Data Analytics
<a name="data-encryption"></a>

### Enkripsi at Rest
<a name="encryption-at-rest"></a>

Perhatikan hal berikut tentang mengenkripsi data at rest dengan Kinesis Data Analytics:
+ Anda dapat mengenkripsi data pada aliran data Kinesis yang masuk menggunakan. [StartStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StartStreamEncryption.html) Untuk informasi selengkapnya, lihat [Apa Itu Enkripsi Sisi Server untuk Kinesis Data Streams?](https://docs.aws.amazon.com/streams/latest/dev/what-is-sse.html).
+ Data keluaran dapat dienkripsi saat istirahat menggunakan Firehose untuk menyimpan data dalam bucket Amazon S3 terenkripsi. Anda dapat menentukan kunci enkripsi yang digunakan bucket Amazon S3 Anda. Untuk informasi selengkapnya, lihat [Melindungi Data Menggunakan Enkripsi Sisi Server dengan Kunci yang Dikelola KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+ Kode aplikasi Anda dienkripsi saat istirahat.
+ Data referensi aplikasi Anda dienkripsi saat istirahat.

### Enkripsi dalam Transit
<a name="encryption-in-transit"></a>

Kinesis Data Analytics mengenkripsi semua data dalam transit. Enkripsi dalam transit diaktifkan untuk semua aplikasi Kinesis Data Analytics dan tidak dapat dinonaktifkan. 

Kinesis Data Analytics mengenkripsi data dalam transit di skenario berikut:
+ Data dalam transit dari Kinesis Data Streams ke Kinesis Data Analytics.
+ Data dalam transit di antara komponen internal dalam Kinesis Data Analytics.
+ Data dalam transit antara Kinesis Data Analytics dan Firehose.

### Manajemen kunci
<a name="key-management"></a>

Enkripsi data di Kinesis Data Analytics menggunakan kunci yang dikelola layanan. Kunci yang dikelola pelanggan tidak didukung.

# 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"
               }
            }
         }
      ]
   }
   ```

------

# Otentikasi dan Kontrol Akses untuk
<a name="authentication-and-access-control"></a>

Akses ke memerlukan kredensial. Kredensi tersebut harus memiliki izin untuk mengakses AWS sumber daya, seperti aplikasi atau instans Amazon Elastic Compute Cloud (Amazon EC2). Bagian berikut memberikan rincian tentang bagaimana Anda dapat menggunakan [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dan untuk membantu mengamankan akses ke sumber daya Anda. 

## Kontrol Akses
<a name="access-control"></a>

Anda dapat memiliki kredensial yang valid untuk melakukan autentikasi permintaan, tetapi kecuali jika Anda memiliki izin, Anda tidak dapat membuat atau mengakses sumber daya . Misalnya, Anda harus memiliki izin untuk membuat aplikasi.

Bagian berikut menggambarkan cara mengelola izin untuk . Sebaiknya Anda membaca gambaran umumnya terlebih dahulu.
+ [Ikhtisar Pengelolaan Izin Akses untuk Sumber Daya](access-control-overview.md)
+ [Menggunakan Kebijakan Berbasis Identitas (Kebijakan IAM) untuk](using-identity-based-policies.md)
+ [Izin API: Tindakan, Izin, dan Referensi Sumber Daya](api-permissions-reference.md)

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensil dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensional. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Identitas terfederasi
<a name="security_iam_authentication-federated"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensi sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensil dari sumber identitas. Identitas terfederasi mengambil peran yang memberikan kredensial sementara.

Untuk manajemen akses terpusat, kami menyarankan AWS IAM Identity Center. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

# Ikhtisar Pengelolaan Izin Akses untuk Sumber Daya
<a name="access-control-overview"></a>

**Awas**  
Untuk proyek baru, kami sarankan Anda menggunakan Managed Service baru untuk Apache Flink Studio over for SQL Applications. Layanan Terkelola untuk Apache Flink Studio menggabungkan kemudahan penggunaan dengan kemampuan analitis tingkat lanjut, memungkinkan Anda membangun aplikasi pemrosesan aliran yang canggih dalam hitungan menit.

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

**catatan**  
*Administrator akun* (atau pengguna administrator) adalah pengguna dengan hak akses administrator. Untuk informasi selengkapnya, lihat [Praktik Terbaik IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

**Topics**
+ [Sumber Daya dan Operasi](#access-control-resources)
+ [Memahami Kepemilikan Sumber Daya](#access-control-resource-ownership)
+ [Mengelola Akses ke Sumber Daya](#manage-access-overview)
+ [Menentukan Elemen Kebijakan: Tindakan, Pengaruh, dan Prinsipal](#specify-policy-elements)
+ [Menentukan Syarat dalam Kebijakan](#specifying-conditions-overview)

## Sumber Daya dan Operasi
<a name="access-control-resources"></a>

Di, sumber daya utama *adalah aplikasi*. Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang mengikuti kebijakan tersebut.

Sumber daya ini memiliki Nama Sumber Daya Amazon (ARNs) unik yang terkait dengannya, seperti yang ditunjukkan pada tabel berikut. 


****  

| Jenis Sumber Daya | Format ARN | 
| --- | --- | 
| Aplikasi |  `arn:aws:kinesisanalytics:region:account-id:application/application-name`  | 

 menyediakan satu set operasi untuk bekerja dengan sumber daya. Untuk daftar operasi yang tersedia, lihat [Tindakan](API_Operations.md).

## Memahami Kepemilikan Sumber Daya
<a name="access-control-resource-ownership"></a>

 Akun AWS Memiliki sumber daya yang dibuat di akun, terlepas dari siapa yang menciptakan sumber daya. Secara khusus, pemilik sumber daya adalah [entitas utama](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (yaitu, akun root, pengguna, atau peran IAM) yang mengautentikasi permintaan pembuatan sumber daya. Akun AWS Contoh berikut menggambarkan cara kerjanya:
+ Jika Anda menggunakan kredensi akun root Anda Akun AWS untuk membuat aplikasi, Anda Akun AWS adalah pemilik sumber daya. (Dalam, sumber daya adalah aplikasi.)
+ Jika Anda membuat pengguna di dalam Akun AWS dan memberikan izin untuk membuat aplikasi kepada pengguna tersebut, pengguna dapat membuat aplikasi. Namun, milik Anda Akun AWS, yang menjadi milik pengguna, memiliki sumber daya aplikasi. Kami sangat menyarankan Anda memberikan izin untuk peran dan bukan pengguna.
+ Jika Anda membuat peran IAM Akun AWS dengan izin untuk membuat aplikasi, siapa pun yang dapat mengambil peran tersebut dapat membuat aplikasi. Anda Akun AWS, tempat pengguna berada, memiliki sumber daya aplikasi. 

## Mengelola Akses ke Sumber Daya
<a name="manage-access-overview"></a>

*Kebijakan izin* menjelaskan siapa yang memiliki akses ke suatu objek. Bagian berikut menjelaskan pilihan yang tersedia untuk membuat kebijakan izin.

**catatan**  
Bagian ini membahas penggunaan IAM dalam konteks . Bagian ini tidak memberikan informasi terperinci tentang layanan IAM. Untuk dokumentasi IAM lengkap, lihat [Apa yang Dimaksud dengan IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dalam *Panduan Pengguna IAM*. Untuk informasi tentang sintaksis dan penjelasan kebijakan IAM, lihat [Referensi Kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dalam *Panduan Pengguna IAM*.

Kebijakan yang terlampir pada identitas IAM disebut sebagai kebijakan *berbasis identitas* (kebijakan IAM). Kebijakan yang dilampirkan pada sumber daya disebut sebagai kebijakan berbasis sumber *daya. hanya mendukung kebijakan berbasis* identitas (kebijakan IAM). 

**Topics**
+ [Kebijakan Berbasis Identitas (Kebijakan IAM)](#manage-access-iam-policies)
+ [Kebijakan Berbasis Sumber Daya](#manage-access-resource-policies)

### Kebijakan Berbasis Identitas (Kebijakan IAM)
<a name="manage-access-iam-policies"></a>

Anda dapat melampirkan kebijakan ke identitas IAM Anda. Misalnya, Anda dapat melakukan hal berikut:
+ **Lampirkan kebijakan izin ke pengguna atau grup di akun Anda** — Untuk memberikan izin pengguna untuk membuat sumber daya, seperti aplikasi, Anda dapat melampirkan kebijakan izin ke pengguna atau grup tempat pengguna tersebut berada.
+ **Melampirkan kebijakan izin pada peran (memberikan izin lintas akun)** – Anda dapat melampirkan kebijakan izin berbasis identitas ke peran IAM untuk memberikan izin lintas akun. Misalnya, administrator di akun A dapat membuat peran untuk memberikan izin lintas akun ke akun lain Akun AWS (misalnya, akun B) atau layanan Amazon sebagai berikut:

  1. Administrator akun A membuat IAM role dan melampirkan kebijakan izin untuk peran yang memberikan izin pada sumber daya di akun A.

  1. Administrator akun A melampirkan kebijakan kepercayaan pada akun identifikasi peran B sebagai penanggung jawab yang dapat menjalankan peran tersebut. 

  1. Administrator akun B kemudian dapat mendelegasikan izin untuk mengasumsikan peran ke pengguna dalam akun B. Dengan melakukannya, pengguna dalam akun B dapat membuat atau mengakses sumber daya di akun A. Prinsip dalam kebijakan kepercayaan juga dapat menjadi prinsip layanan Amazon jika Anda ingin memberikan izin layanan Amazon untuk menjalankan peran tersebut.

  Untuk informasi selengkapnya tentang penggunaan IAM untuk mendelegasikan izin, lihat [Manajemen Akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dalam *Panduan Pengguna IAM*.

Berikut ini adalah contoh kebijakan yang memberikan izin untuk `kinesisanalytics:CreateApplication ` tindakan, yang diperlukan untuk membuat aplikasi.

**catatan**  
Ini adalah contoh kebijakan pengantar. Saat Anda melampirkan kebijakan ke pengguna, pengguna akan dapat membuat aplikasi menggunakan AWS CLI atau AWS SDK. Namun, pengguna akan membutuhkan lebih banyak izin untuk mengonfigurasi input dan output. Selain itu, pengguna akan membutuhkan lebih banyak izin saat menggunakan konsol. Bagian selanjutnya memberikan informasi selengkapnya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1473028104000",
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:CreateApplication"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Untuk informasi selengkapnya tentang menggunakan kebijakan berbasis identitas dengan, lihat. [Menggunakan Kebijakan Berbasis Identitas (Kebijakan IAM) untuk](using-identity-based-policies.md) Untuk informasi lebih lanjut tentang pengguna, grup, peran, dan izin, lihat [Identitas (Pengguna, Grup, dan Peran)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dalam *Panduan Pengguna IAM*. 

### Kebijakan Berbasis Sumber Daya
<a name="manage-access-resource-policies"></a>

Layanan lain, seperti Amazon S3, juga mendukung kebijakan izin berbasis sumber daya. Misalnya, Anda dapat melampirkan kebijakan ke bucket S3 untuk mengelola izin akses ke bucket tersebut. tidak mendukung kebijakan berbasis sumber daya.

## Menentukan Elemen Kebijakan: Tindakan, Pengaruh, dan Prinsipal
<a name="specify-policy-elements"></a>

Untuk setiap sumber daya , layanan menentukan serangkaian operasi API. Untuk memberikan izin bagi operasi API ini, menentukan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan. Beberapa operasi API dapat memerlukan izin untuk lebih dari satu tindakan untuk melakukan operasi API. Untuk informasi selengkapnya tentang sumber daya dan operasi API, lihat [Sumber Daya dan Operasi](#access-control-resources) dan [Tindakan](API_Operations.md).

Berikut adalah elemen-elemen kebijakan yang paling dasar:
+ **Sumber Daya** – Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang diberlakukan oleh kebijakan tersebut. Untuk informasi selengkapnya, lihat [Sumber Daya dan Operasi](#access-control-resources).
+ **Tindakan** – Anda menggunakan kata kunci tindakan untuk mengidentifikasi operasi sumber daya yang ingin Anda izinkan atau tolak. Misalnya, Anda dapat menggunakan `create` untuk mengizinkan pengguna membuat aplikasi.
+ **Pengaruh** – Anda menetapkan pengaruh, baik memperbolehkan atau menolak, ketika pengguna meminta tindakan tertentu. Jika Anda tidak secara eksplisit memberikan akses ke (mengizinkan) sumber daya, akses akan ditolak secara implisit. Anda juga dapat secara eksplisit menolak akses ke sumber daya, yang mungkin Anda lakukan untuk memastikan bahwa pengguna tidak dapat mengaksesnya, meskipun kebijakan yang berbeda memberikan akses.
+ **Prinsipal** – Dalam kebijakan berbasis identitas (kebijakan IAM), pengguna yang kebijakannya terlampir adalah prinsipal implisit. Untuk kebijakan berbasis sumber daya, Anda menentukan pengguna, akun, layanan, atau entitas lain yang ingin Anda terima izinnya (berlaku hanya untuk kebijakan berbasis-sumber daya) tidak mendukung kebijakan berbasis-sumber daya.

Untuk mem-pelajari selengkapnya tentang sintaksis dan penjelasan kebijakan IAM, lihat [Referensi Kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dalam *Panduan Pengguna IAM*.

Untuk tabel yang menampilkan semua operasi API dan sumber daya yang diterapkan, lihat[Izin API: Tindakan, Izin, dan Referensi Sumber Daya](api-permissions-reference.md).

## Menentukan Syarat dalam Kebijakan
<a name="specifying-conditions-overview"></a>

Ketika Anda memberikan izin, Anda dapat menggunakan bahasa kebijakan akses untuk menentukan syarat kapan kebijakan akan berlaku. Misalnya, Anda mungkin ingin kebijakan diterapkan hanya setelah tanggal tertentu. Untuk informasi selengkapnya tentang menentukan kondisi dalam bahasa kebijakan, lihat [Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) dalam *Panduan Pengguna IAM*.

Untuk menyatakan syarat, Anda menggunakan kunci kondisi yang telah ditentukan sebelumnya. Tidak ada kunci syarat khusus untuk . Namun, ada tombol kondisi AWS-wide yang dapat Anda gunakan sesuai kebutuhan. Untuk daftar lengkap tombol AWS-wide, lihat Kunci yang [Tersedia untuk Ketentuan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) di *Panduan Pengguna IAM*.

# Menggunakan Kebijakan Berbasis Identitas (Kebijakan IAM) untuk
<a name="using-identity-based-policies"></a>

Berikut ini adalah contoh kebijakan berbasis identitas yang menunjukkan bagaimana administrator akun dapat melampirkan kebijakan izin ke identitas IAM (yaitu, pengguna, grup, dan peran) dan memberikan izin untuk melakukan operasi pada sumber daya.

**penting**  
Kami menyarankan Anda untuk terlebih dahulu meninjau topik pendahuluan yang menjelaskan konsep dasar dan pilihan yang tersedia untuk mengelola akses ke sumber daya. Untuk informasi selengkapnya, lihat [Ikhtisar Pengelolaan Izin Akses untuk Sumber Daya](access-control-overview.md). 

**Topics**
+ [Izin yang Diperlukan untuk Menggunakan Konsol](#console-permissions)
+ [Kebijakan Amazon-Managed (Predefined) untuk](#access-policy-aws-managed-policies)
+ [Contoh Kebijakan yang Dikelola Pelanggan](#access-policy-customer-managed-examples)

Berikut adalah contoh kebijakan izin.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1473028104000",
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:CreateApplication"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Kebijakan ini memiliki satu pernyataan:
+ Pernyataan pertama memberikan izin untuk satu tindakan (`kinesisanalytics:CreateApplication`) pada sumber daya menggunakan Amazon Resource Name (ARN) untuk aplikasi. ARN dalam hal ini menentukan karakter wildcard (\$1) untuk menunjukkan izin diberikan untuk sumber daya apa pun.

Untuk tabel yang menunjukkan semua operasi API dan sumber daya yang diterapkan, lihat[Izin API: Tindakan, Izin, dan Referensi Sumber Daya](api-permissions-reference.md). 

## Izin yang Diperlukan untuk Menggunakan Konsol
<a name="console-permissions"></a>

Agar pengguna dapat bekerja dengan konsol, Anda harus memberikan izin yang diperlukan. Sebagai contoh, jika Anda ingin pengguna memiliki izin untuk membuat aplikasi, berikan izin yang menampilkan mereka sumber streaming di akun sehingga pengguna dapat mengonfigurasi input dan output pada konsol.

Sebaiknya lakukan hal berikut:
+ Gunakan kebijakan yang dikelola Amazon untuk memberikan izin pengguna. Untuk kebijakan yang tersedia, lihat [Kebijakan Amazon-Managed (Predefined) untuk](#access-policy-aws-managed-policies).
+ Buat kebijakan khusus. Dalam kasus ini, sebaiknya tinjau contoh yang diberikan dalam bagian ini. Untuk informasi selengkapnya, lihat [Contoh Kebijakan yang Dikelola Pelanggan](#access-policy-customer-managed-examples).





## Kebijakan Amazon-Managed (Predefined) untuk
<a name="access-policy-aws-managed-policies"></a>

AWS mengatasi banyak kasus penggunaan umum dengan menyediakan kebijakan IAM mandiri yang dibuat dan dikelola oleh. AWS Kebijakan yang dikelola Amazon ini memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda dapat menghindari keharusan untuk menyelidiki izin apa yang diperlukan. Untuk informasi selengkapnya, lihat [Kebijakan yang Dikelola Amazon](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*. 

Kebijakan yang dikelola Amazon berikut, yang dapat Anda lampirkan ke pengguna di akun Anda, khusus untuk:
+ **`AmazonKinesisAnalyticsReadOnly`**— Memberikan izin untuk tindakan yang memungkinkan pengguna untuk membuat daftar aplikasi dan meninjau input/output konfigurasi. Ini juga memberikan izin yang memungkinkan pengguna untuk melihat daftar aliran Kinesis dan aliran pengiriman Firehose. Saat aplikasi berjalan, pengguna dapat melihat data sumber dan hasil analisis waktu nyata di konsol.

   
+ **`AmazonKinesisAnalyticsFullAccess`**Memberikan izin untuk semua tindakan dan semua izin lain yang memungkinkan pengguna untuk membuat dan mengelola aplikasi. Namun, perhatikan hal berikut:

   
  + Izin ini tidak cukup jika pengguna ingin membuat IAM role baru di konsol (izin ini memungkinkan pengguna memilih peran yang ada). Jika Anda ingin pengguna dapat membuat IAM role di konsol, tambahkan kebijakan yang dikelola Amazon `IAMFullAccess`.

     
  + Seorang pengguna harus memiliki izin untuk `iam:PassRole` tindakan untuk menentukan peran IAM saat mengkonfigurasi aplikasi. Kebijakan yang dikelola Amazon ini memberikan izin untuk tindakan `iam:PassRole` kepada pengguna hanya pada IAM role yang dimulai dengan prefiks `service-role/kinesis-analytics`. 

    Jika pengguna ingin mengonfigurasi aplikasi dengan peran yang tidak memiliki awalan ini, pertama-tama Anda harus secara eksplisit memberikan izin kepada pengguna untuk `iam:PassRole` tindakan pada peran tertentu. 

Anda juga dapat membuat kebijakan IAM khusus Anda sendiri untuk memberikan izin untuk tindakan dan sumber daya. Anda dapat menyematkan kebijakan khusus ini untuk pengguna atau grup yang memerlukan izin tersebut. 

## Contoh Kebijakan yang Dikelola Pelanggan
<a name="access-policy-customer-managed-examples"></a>

Contoh dalam bagian ini menyediakan sekelompok contoh kebijakan yang dapat Anda lampirkan ke pengguna. Jika Anda baru membuat kebijakan, kami sarankan Anda terlebih dahulu membuat pengguna di akun Anda. Kemudian lampirkan kebijakan ke pengguna secara berurutan, seperti yang diuraikan dalam langkah-langkah di bagian ini. Anda selanjutnya dapat menggunakan konsol untuk memverifikasi efek setiap kebijakan saat Anda melampirkan kebijakan kepada pengguna. 

Awalnya, pengguna tidak memiliki izin dan tidak dapat melakukan apa pun di konsol. Ketika Anda melampirkan kebijakan ke pengguna, Anda dapat memverifikasi pengguna dapat melakukan berbagai tindakan pada konsol. 

Sebaiknya gunakan dua jendela browser. Di satu jendela, buat pengguna dan berikan izin. Di sisi lain, masuk ke Konsol Manajemen AWS menggunakan kredensil pengguna dan verifikasi izin saat Anda memberikannya.

 Untuk contoh yang menunjukkan cara membuat peran IAM yang dapat Anda gunakan sebagai peran eksekusi untuk aplikasi Anda, lihat [Membuat Peran IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) Pengguna *IAM*.

**Topics**
+ [Langkah 1: Buat Pengguna IAM](#console-permissions-createuser)
+ [Langkah 2: Izinkan Izin Pengguna untuk Tindakan yang Tidak Spesifik](#console-permissions-grant-non-ka-permissions)
+ [Langkah 3: Izinkan Pengguna Melihat Daftar Aplikasi dan Melihat Detail](#console-permissions-grant-list-applications)
+ [Langkah 4: Izinkan Pengguna Memulai Aplikasi Tertentu](#console-permissions-start-app)
+ [Langkah 5: Izinkan Pengguna Membuat Aplikasi](#console-permissions-grant-create-applications)
+ [Langkah 6: Izinkan Aplikasi Menggunakan Prapemrosesan Lambda](#console-permissions-grant-lambda)



### Langkah 1: Buat Pengguna IAM
<a name="console-permissions-createuser"></a>

Pertama, Anda perlu membuat pengguna, menambahkan pengguna ke grup IAM dengan izin administratif, dan kemudian memberikan izin administratif kepada pengguna yang Anda buat. Anda kemudian dapat mengakses AWS menggunakan URL khusus dan kredensil pengguna tersebut. 

Untuk melihat instruksi, buka [Membuat Grup Pengguna dan Administrator IAM Pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) di *Panduan Pengguna IAM*. 

### Langkah 2: Izinkan Izin Pengguna untuk Tindakan yang Tidak Spesifik
<a name="console-permissions-grant-non-ka-permissions"></a>

Pertama, berikan izin pengguna untuk semua tindakan yang tidak spesifik untuk yang dibutuhkan pengguna saat bekerja dengan aplikasi. Ini termasuk izin untuk bekerja dengan aliran (tindakan Amazon Kinesis Data Streams, tindakan Amazon Data Firehose), dan izin untuk tindakan. CloudWatch Lampirkan kebijakan berikut ke pengguna.

Anda harus memperbarui kebijakan dengan memberi nama IAM role yang Anda ingin beri izin `iam:PassRole`, atau tentukan karakter wildcard (\$1) yang menunjukkan semua IAM role. Ini bukan praktik yang aman; namun, Anda mungkin tidak memiliki IAM role tertentu yang dibuat selama pengujian ini.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:CreateStream",
                "kinesis:DeleteStream",
                "kinesis:DescribeStream",
                "kinesis:ListStreams",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:ListDeliveryStreams"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "logs:GetLogEvents",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicyVersions",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/service-role/role-name"
        }
    ]
}
```

------

### Langkah 3: Izinkan Pengguna Melihat Daftar Aplikasi dan Melihat Detail
<a name="console-permissions-grant-list-applications"></a>

Kebijakan berikut memberi pengguna izin berikut:
+ Izin untuk tindakan `kinesisanalytics:ListApplications` sehingga pengguna dapat melihat daftar aplikasi. Ini adalah panggilan API tingkat layanan, dan oleh karena itu, Anda menentukan "\$1" sebagai nilai `Resource`.
+ Izin untuk tindakan `kinesisanalytics:DescribeApplication` sehingga Anda bisa mendapatkan informasi tentang salah satu aplikasi.

Tambahkan kebijakan ini ke pengguna. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:ListApplications"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:DescribeApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/*"
        }
    ]
}
```

------

 Verifikasi izin ini dengan masuk ke konsol menggunakan kredensil pengguna.

### Langkah 4: Izinkan Pengguna Memulai Aplikasi Tertentu
<a name="console-permissions-start-app"></a>

Jika Anda ingin pengguna dapat memulai salah satu aplikasi yang ada, lampirkan kebijakan berikut kepada pengguna. Kebijakan ini menyediakan izin untuk tindakan `kinesisanalytics:StartApplication`. Anda harus memperbarui kebijakan dengan memberikan ID akun, AWS Wilayah, dan nama aplikasi Anda. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:StartApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### Langkah 5: Izinkan Pengguna Membuat Aplikasi
<a name="console-permissions-grant-create-applications"></a>

Jika Anda ingin pengguna membuat aplikasi, Anda kemudian dapat melampirkan kebijakan berikut kepada pengguna. Anda harus memperbarui kebijakan dan memberikan AWS Wilayah, ID akun Anda, dan nama aplikasi tertentu yang Anda ingin pengguna buat, atau “\$1” sehingga pengguna dapat menentukan nama aplikasi apa pun (dan dengan demikian membuat beberapa aplikasi).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1473028104000",
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:CreateApplication"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:StartApplication",
                "kinesisanalytics:UpdateApplication",
                "kinesisanalytics:AddApplicationInput",
                "kinesisanalytics:AddApplicationOutput"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### Langkah 6: Izinkan Aplikasi Menggunakan Prapemrosesan Lambda
<a name="console-permissions-grant-lambda"></a>

Jika Anda ingin aplikasi dapat menggunakan prapemrosesan Lambda, lampirkan kebijakan berikut ke peran tersebut. 

```
     {
       "Sid": "UseLambdaFunction",
       "Effect": "Allow",
       "Action": [
           "lambda:InvokeFunction",
           "lambda:GetFunctionConfiguration"
       ],
       "Resource": "<FunctionARN>"
   }
```

# Izin API: Tindakan, Izin, dan Referensi Sumber Daya
<a name="api-permissions-reference"></a>

Saat Anda mengatur [Kontrol Akses](authentication-and-access-control.md#access-control) dan menulis kebijakan izin yang dapat Anda lampirkan ke identitas IAM (kebijakan berbasis identitas), Anda dapat menggunakan tabel sebagai referensi. setiap operasi API, tindakan terkait yang dapat Anda berikan izin untuk melakukan tindakan, dan AWS sumber daya yang dapat Anda berikan izin. Anda menentukan tindakan dalam bidang `Action` kebijakan, dan Anda menentukan nilai sumber daya pada bidang `Resource` kebijakan. 

Anda dapat menggunakan kunci kondisi AWS-wide dalam kebijakan Anda untuk menyatakan kondisi. Untuk daftar lengkap tombol AWS-wide, lihat Kunci yang [Tersedia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) di *Panduan Pengguna IAM*. 

**catatan**  
Untuk menentukan tindakan, gunakan awalan `kinesisanalytics` diikuti dengan nama operasi API (misalnya, `kinesisanalytics:AddApplicationInput`).

Gunakan bilah gulir untuk melihat seluruh tabel.




**API dan Izin yang Diperlukan untuk Tindakan**  

|  Operasi API | Izin yang Diperlukan (Tindakan API) | Sumber daya | 
| --- | --- | --- | 
|  [AddApplicationInput](API_AddApplicationInput.md)   |  kinesisanalytics:AddApplicationInput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [AddApplicationOutput](API_AddApplicationOutput.md)   |  kinesisanalytics:AddApplicationOutput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [AddApplicationReferenceDataSource](API_AddApplicationReferenceDataSource.md)   |  kinesisanalytics:AddApplicationReferenceDataSource  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [CreateApplication](API_CreateApplication.md)   |  kinesisanalytics:CreateApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplication](API_DeleteApplication.md)   |  kinesisanalytics:DeleteApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplicationOutput](API_DeleteApplicationOutput.md)   |  kinesisanalytics:DeleteApplicationOutput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplicationReferenceDataSource](API_DeleteApplicationReferenceDataSource.md)   |  kinesisanalytics:DeleteApplicationReferenceDataSource  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DescribeApplication](API_DescribeApplication.md)   |  kinesisanalytics:DescribeApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DiscoverInputSchema](API_DiscoverInputSchema.md)   |  kinesisanalytics:DiscoverInputSchema  |  \$1  | 
|  [ListApplications](API_ListApplications.md)   |  kinesisanalytics:ListApplications  |  \$1  | 
|  [StartApplication](API_StartApplication.md)   |  kinesisanalytics:StartApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [StopApplication](API_StopApplication.md)   |  kinesisanalytics:StopApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [UpdateApplication](API_UpdateApplication.md)   |  kinesisanalytics:UpdateApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  Akses atau buat sampel data di konsol   |  kinesisanalytics:GetApplicationState  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 





## GetApplicationState
<a name="api-permissions-reference-gas"></a>

Konsol menggunakan metode internal yang disebut `GetApplicationState` untuk membuat sampel atau mengakses data aplikasi. Aplikasi layanan Anda harus memiliki izin untuk `kinesisanalytics:GetApplicationState` API internal untuk mengambil sampel atau mengakses data aplikasi melalui. Konsol Manajemen AWS

# Memantau Amazon Kinesis Data Analytics
<a name="security-monitoring"></a>

Kinesis Data Analytics menyediakan fungsi pemantauan untuk aplikasi Anda. Untuk informasi selengkapnya, lihat [Monitoring untuk Aplikasi SQL](monitoring-overview.md).

# Validasi Kepatuhan untuk Amazon Kinesis Data Analytics untuk Aplikasi SQL
<a name="akda-java-compliance"></a>

Auditor pihak ketiga menilai keamanan dan kepatuhan Amazon Kinesis Data Analytics sebagai bagian dari AWS beberapa program kepatuhan. Hal ini mencakup SOC, PCI, HIPAA, dan lainnya.

Untuk daftar AWS layanan dalam lingkup program kepatuhan tertentu, lihat [Layanan Amazon dalam Lingkup menurut Program Kepatuhan](https://aws.amazon.com/compliance/services-in-scope/). Untuk informasi umum, lihat [Program Kepatuhan AWS](https://aws.amazon.com/compliance/programs/).

Anda dapat mengunduh laporan audit pihak ketiga menggunakan AWS Artifact. Untuk informasi selengkapnya, lihat [Mengunduh Laporan di AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). 

Tanggung jawab kepatuhan Anda saat menggunakan Kinesis Data Analytics ditentukan oleh sensitivitas data Anda, tujuan kepatuhan perusahaan Anda, serta undang-undang dan peraturan yang berlaku. Jika penggunaan Kinesis Data Analytics Anda tunduk pada kepatuhan standar seperti HIPAA atau PCI, AWS menyediakan sumber daya untuk membantu:
+ [Panduan Memulai Cepat Keamanan dan Kepatuhan — Panduan](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) penerapan ini membahas pertimbangan arsitektur dan memberikan langkah-langkah untuk menerapkan lingkungan dasar yang berfokus pada keamanan dan kepatuhan. AWS
+  [Arsitektur untuk Whitepaper Keamanan dan Kepatuhan HIPAA — Whitepaper](https://d0.awsstatic.com/whitepapers/compliance/AWS_HIPAA_Compliance_Whitepaper.pdf) ini menjelaskan bagaimana perusahaan dapat menggunakan untuk membuat aplikasi yang sesuai dengan HIPAA. AWS 
+ [AWS Sumber Daya Kepatuhan](https://aws.amazon.com/compliance/resources/) — Kumpulan buku kerja dan panduan ini mungkin berlaku untuk industri dan lokasi Anda.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) AWS Layanan ini menilai seberapa baik konfigurasi sumber daya Anda mematuhi praktik internal, pedoman industri, dan peraturan.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— AWS Layanan ini memberikan pandangan komprehensif tentang keadaan keamanan Anda di dalamnya AWS yang membantu Anda memeriksa kepatuhan Anda terhadap standar industri keamanan dan praktik terbaik.

# Ketahanan di Amazon Kinesis Data Analytics
<a name="disaster-recovery-resiliency"></a>

Infrastruktur AWS global dibangun di sekitar AWS Wilayah dan Zona Ketersediaan. AWS Wilayah menyediakan beberapa Availability Zone yang terpisah secara fisik dan terisolasi, yang terhubung dengan latensi rendah, throughput tinggi, dan jaringan yang sangat redundan. Dengan Zona Ketersediaan, Anda dapat merancang dan mengoperasikan aplikasi dan basis data yang secara otomatis melakukan failover di antara Zona Ketersediaan tanpa gangguan. Zona Ketersediaan memiliki ketersediaan dan toleransi kesalahan yang lebih baik, dan dapat diskalakan dibandingkan infrastruktur biasa yang terdiri dari satu atau beberapa pusat data. 

Untuk informasi selengkapnya tentang AWS Wilayah dan Availability Zone, lihat [Infrastruktur AWS Global](https://aws.amazon.com/about-aws/global-infrastructure/).

Selain infrastruktur AWS global, Kinesis Data Analytics menawarkan beberapa fitur untuk membantu mendukung ketahanan data dan kebutuhan pencadangan Anda.

## Pemulihan Bencana
<a name="disaster-recovery"></a>

Kinesis Data Analytics berjalan dalam mode nirserver, dan menangani degradasi host, ketersediaan Availability Zone, dan masalah terkait infrastruktur lainnya dengan melakukan migrasi otomatis. Jika hal ini terjadi, Kinesis Data Analytics memastikan aplikasi diproses tanpa kehilangan data apa pun. Untuk informasi selengkapnya, lihat [Model Pengiriman untuk Menyimpan Output Aplikasi untuk Tujuan Eksternal](failover-checkpoint.md).

# Keamanan Infrastruktur di Kinesis Data Analytics untuk Aplikasi SQL
<a name="infrastructure-security"></a>

Sebagai layanan terkelola, Amazon Kinesis Data Analytics dilindungi oleh AWS prosedur keamanan jaringan global yang dijelaskan dalam whitepaper [Amazon Web Services: Tinjauan Proses Keamanan](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

Anda menggunakan panggilan API yang AWS dipublikasikan untuk mengakses Kinesis Data Analytics melalui jaringan. Klien harus mendukung Keamanan Lapisan Pengangkutan (TLS) 1.2 atau versi yang lebih baru. Klien juga harus mendukung cipher suite dengan perfect forward secrecy (PFS) seperti Ephemeral Diffie-Hellman (DHE) atau Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Sebagian besar sistem modern seperti Java 7 dan sistem yang lebih baru mendukung mode ini.

Selain itu, permintaan harus ditandatangani menggunakan ID kunci akses dan kunci akses rahasia yang terkait dengan principal IAM. Atau Anda dapat menggunakan [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) untuk menghasilkan kredensial keamanan sementara untuk menandatangani permintaan.

# Praktik Terbaik Keamanan untuk Kinesis Data Analytics
<a name="security-best-practices"></a>

Amazon Kinesis Data Analytics menyediakan sejumlah fitur keamanan untuk dipertimbangkan ketika Anda mengembangkan dan menerapkan kebijakan keamanan Anda sendiri. Praktik terbaik berikut adalah pedoman umum dan tidak mewakili solusi keamanan yang lengkap. Karena praktik terbaik ini mungkin tidak sesuai atau tidak memadai untuk lingkungan Anda, perlakukan itu sebagai pertimbangan yang bermanfaat, bukan sebagai resep. 

## Gunakan IAM role untuk mengakses layanan Amazon lainnya
<a name="security-best-practices-roles"></a>

Aplikasi Kinesis Data Analytics Anda harus memiliki kredenal yang valid untuk mengakses sumber daya di layanan lain, seperti aliran data Kinesis, aliran pengiriman Firehose, atau bucket Amazon S3. Anda tidak boleh menyimpan AWS kredensil secara langsung di aplikasi atau di ember Amazon S3. Ini adalah kredensial jangka panjang yang tidak dirotasi secara otomatis dan dapat menimbulkan dampak bisnis yang signifikan jika dibobol. 

Sebaliknya, Anda harus menggunakan IAM role untuk mengelola kredensial sementara untuk aplikasi guna mengakses sumber daya lainnya. Ketika Anda menggunakan peran, Anda tidak perlu menggunakan kredensi jangka panjang untuk mengakses sumber daya lain.

Untuk informasi selengkapnya, lihat topik berikut di *Panduan Pengguna IAM*:
+ [Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+ [Skenario Umum untuk Peran: Pengguna, Aplikasi, dan Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)

## Terapkan Enkripsi Sisi Server di Sumber Daya Dependen
<a name="security-best-practices-sse"></a>

Data at rest dan data dalam transit dienkripsi di Kinesis Data Analytics, dan enkripsi ini tidak dapat dinonaktifkan. Anda harus menerapkan enkripsi sisi server di sumber daya dependen Anda, seperti aliran data Kinesis, aliran pengiriman Firehose, dan bucket Amazon S3. Untuk informasi selengkapnya tentang menerapkan enkripsi sisi server dalam sumber daya dependen, lihat [Perlindungan Data](data-protection.md).

## Gunakan CloudTrail untuk Memantau Panggilan API
<a name="security-best-practices-cloudtrail"></a>

Kinesis Data Analytics terintegrasi AWS CloudTrail dengan, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau layanan Amazon di Kinesis Data Analytics.

Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk Kinesis Data Analytics, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan.

Untuk informasi selengkapnya, lihat [Pencatatan Panggilan API dengan AWS CloudTrail](logging-using-cloudtrail.md).