Menggunakan Kebijakan Berbasis Identitas (Kebijakan) IAM untuk - Panduan Pengembang Amazon Kinesis Data Analytics SQL untuk Aplikasi

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

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

2. Kami akan menghapus aplikasi Anda mulai 27 Januari 2026. Anda tidak akan dapat memulai atau mengoperasikan Amazon Kinesis Data Analytics Anda SQL untuk aplikasi. Support tidak akan lagi tersedia untuk Amazon Kinesis Data Analytics SQL sejak saat itu. Untuk informasi selengkapnya, lihat Amazon Kinesis Data Analytics SQL untuk penghentian Aplikasi.

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

Menggunakan Kebijakan Berbasis Identitas (Kebijakan) IAM untuk

Berikut ini adalah contoh kebijakan berbasis identitas yang menunjukkan bagaimana administrator akun dapat melampirkan kebijakan izin ke IAM identitas (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.

Berikut adalah contoh kebijakan izin.

{ "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. Dalam hal ini menentukan karakter wildcard (*) untuk menunjukkan bahwa izin diberikan untuk sumber daya apa pun. ARN

Untuk tabel yang menunjukkan semua API operasi dan sumber daya yang mereka terapkan, lihat APIIzin: Tindakan, Izin, dan Referensi Sumber Daya.

Izin yang Diperlukan untuk Menggunakan Konsol

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:

Kebijakan Amazon-Managed (Predefined) untuk

AWS mengatasi banyak kasus penggunaan umum dengan menyediakan IAM kebijakan 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 di IAMPanduan Pengguna.

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 konfigurasi input/output. 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.

     

  • AmazonKinesisAnalyticsFullAccessMemberikan 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 peran baru di konsol (izin ini memungkinkan pengguna untuk memilih peran yang ada). Jika Anda ingin pengguna dapat membuat IAM peran di konsol, tambahkan kebijakan yang IAMFullAccess dikelola Amazon.

       

    • Seorang pengguna harus memiliki izin untuk iam:PassRole tindakan untuk menentukan IAM peran saat mengkonfigurasi aplikasi. Kebijakan yang dikelola Amazon ini memberikan izin untuk iam:PassRole tindakan kepada pengguna hanya pada IAM peran yang dimulai dengan awalan. 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 IAM kebijakan kustom sendiri untuk mengizinkan izin tindakan dan sumber daya. Anda dapat menyematkan kebijakan khusus ini untuk pengguna atau grup yang memerlukan izin tersebut.

Contoh Kebijakan yang Dikelola Pelanggan

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 AWS Management Console menggunakan kredensil pengguna dan verifikasi izin saat Anda memberikannya.

Untuk contoh yang menunjukkan cara membuat IAM peran yang dapat Anda gunakan sebagai peran eksekusi untuk aplikasi Anda, lihat Membuat IAM Peran di Panduan IAM Pengguna.

Langkah 1: Buat IAM Pengguna

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

Untuk petunjuk, lihat Membuat Grup IAM Pengguna dan Administrator Pertama Anda di Panduan IAM Pengguna.

Langkah 2: Izinkan Izin Pengguna untuk Tindakan yang Tidak Spesifik

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 perlu memperbarui kebijakan dengan memberikan nama IAM peran yang ingin Anda berikan iam:PassRole izin, atau menentukan karakter wildcard (*) yang menunjukkan semua IAM peran. Ini bukan praktik yang aman; namun Anda mungkin tidak memiliki IAM peran khusus yang dibuat selama pengujian ini.

{ "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

Kebijakan berikut memberi pengguna izin berikut:

  • Izin untuk tindakan kinesisanalytics:ListApplications sehingga pengguna dapat melihat daftar aplikasi. Ini adalah API panggilan tingkat layanan, dan oleh karena itu Anda menentukan “*” sebagai nilainya. Resource

  • Izin untuk tindakan kinesisanalytics:DescribeApplication sehingga Anda bisa mendapatkan informasi tentang salah satu aplikasi.

Tambahkan kebijakan ini ke pengguna.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:ListApplications" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kinesisanalytics:DescribeApplication" ], "Resource": "arn:aws:kinesisanalytics:aws-region:aws-account-id:application/*" } ] }

Verifikasi izin ini dengan masuk ke konsol menggunakan kredensil pengguna.

Langkah 4: Izinkan Pengguna Memulai Aplikasi Tertentu

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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:StartApplication" ], "Resource": "arn:aws:kinesisanalytics:aws-region:aws-account-id:application/application-name" } ] }

Langkah 5: Izinkan Pengguna Membuat Aplikasi

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 “*” sehingga pengguna dapat menentukan nama aplikasi apa pun (dan dengan demikian membuat beberapa aplikasi).

{ "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:aws-region:aws-account-id:application/application-name" } ] }

Langkah 6: Izinkan Aplikasi Menggunakan Prapemrosesan Lambda

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>" }