Buat IAM kebijakan dan pengguna - Amazon Kinesis Data Streams

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

Buat IAM kebijakan dan pengguna

Praktik terbaik keamanan untuk AWS mendikte penggunaan izin halus untuk mengontrol akses ke sumber daya yang berbeda. AWS Identity and Access Management (IAM) memungkinkan Anda untuk mengelola pengguna dan izin pengguna di AWS. IAMKebijakan secara eksplisit mencantumkan tindakan yang diizinkan dan sumber daya tempat tindakan tersebut berlaku.

Berikut ini adalah izin minimum yang umumnya diperlukan untuk produsen dan konsumen Kinesis Data Streams.

Produser
Tindakan Sumber Daya Tujuan
DescribeStream, DescribeStreamSummary, DescribeStreamConsumer Aliran data Kinesis Sebelum mencoba menulis catatan, produsen memeriksa apakah aliran ada dan aktif, dan apakah pecahan terkandung dalam aliran, dan apakah aliran memiliki konsumen.
SubscribeToShard, RegisterStreamConsumer Aliran data Kinesis Berlangganan dan daftarkan konsumen ke pecahan Kinesis Data Stream.
PutRecord, PutRecords Aliran data Kinesis Menulis catatan ke Kinesis Data Streams.
Konsumen
Tindakan Sumber Tujuan
DescribeStream Aliran data Kinesis Sebelum mencoba membaca catatan, konsumen memeriksa apakah aliran ada dan aktif, dan apakah pecahan terkandung dalam aliran.
GetRecords, GetShardIterator Aliran data Kinesis Baca catatan dari pecahan Kinesis Data Streams.
CreateTable, DescribeTable, GetItem, PutItem, Scan, UpdateItem Tabel Amazon DynamoDB Jika konsumen dikembangkan menggunakan Kinesis Client Library (KCL), ia memerlukan izin ke tabel DynamoDB untuk melacak status pemrosesan aplikasi. Konsumen pertama mulai membuat tabel.
DeleteItem Tabel Amazon DynamoDB Untuk saat konsumen melakukan operasi split/merge pada pecahan Kinesis Data Streams.
PutMetricData CloudWatch Log Amazon Metrik KCL juga mengunggah ke CloudWatch, yang berguna untuk memantau aplikasi.

Untuk aplikasi ini, Anda membuat IAM kebijakan tunggal yang memberikan semua izin sebelumnya. Dalam praktiknya, Anda mungkin ingin mempertimbangkan untuk membuat dua kebijakan, satu untuk produsen dan satu untuk konsumen.

Untuk membuat IAM kebijakan
  1. Temukan Amazon Resource Name (ARN) untuk aliran baru. Anda dapat menemukan ini ARN terdaftar sebagai Stream ARN di bagian atas tab Detail. ARNFormatnya adalah sebagai berikut:

    arn:aws:kinesis:region:account:stream/name
    region

    Kode Wilayah; misalnya,us-west-2. Untuk informasi selengkapnya, lihat Konsep Wilayah dan Zona Ketersediaan.

    akun

    ID AWS akun, seperti yang ditunjukkan pada Pengaturan Akun.

    name

    Nama aliran dariBuat aliran data, yaituStockTradeStream.

  2. Tentukan ARN tabel DynamoDB yang akan digunakan oleh konsumen (dan dibuat oleh contoh konsumen pertama). Itu harus dalam format berikut:

    arn:aws:dynamodb:region:account:table/name

    Wilayah dan akun berasal dari tempat yang sama dengan langkah sebelumnya, tetapi nama kali ini adalah nama tabel yang dibuat dan digunakan oleh aplikasi konsumen. Yang KCL digunakan oleh konsumen menggunakan nama aplikasi sebagai nama tabel. GunakanStockTradesProcessor, yang merupakan nama aplikasi yang digunakan nanti.

  3. Di IAM konsol, di Kebijakan (https://console.aws.amazon.com/iam/home #policies), pilih Buat kebijakan. Jika ini adalah pertama kalinya Anda bekerja dengan IAM kebijakan, pilih Mulai, Buat Kebijakan.

  4. Pilih Pilih di samping Policy Generator.

  5. Pilih Amazon Kinesis sebagai layanannya. AWS

  6. PilihDescribeStream,GetShardIterator,GetRecords,PutRecord, dan PutRecords sebagai tindakan yang diizinkan.

  7. Masukkan ARN yang Anda buat di Langkah 1.

  8. Gunakan Tambah Pernyataan untuk masing-masing hal berikut:

    AWS Layanan Tindakan ARN
    Amazon DynamoDB CreateTable, DeleteItem, DescribeTable, GetItem, PutItem, Scan, UpdateItem Yang ARN Anda buat di Langkah 2
    Amazon CloudWatch PutMetricData *

    Tanda bintang (*) yang digunakan saat menentukan tidak ARN diperlukan. Dalam hal ini, itu karena tidak ada sumber daya khusus CloudWatch di mana PutMetricData tindakan dipanggil.

  9. Pilih Langkah Selanjutnya.

  10. Ubah Nama Kebijakan menjadiStockTradeStreamPolicy, tinjau kode, dan pilih Buat Kebijakan.

Dokumen kebijakan yang dihasilkan akan terlihat seperti berikut:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt123", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:DescribeStreamSummary", "kinesis:RegisterStreamConsumer" ], "Resource": [ "arn:aws:kinesis:us-west-2:123:stream/StockTradeStream" ] }, { "Sid": "Stmt234", "Effect": "Allow", "Action": [ "kinesis:SubscribeToShard", "kinesis:DescribeStreamConsumer" ], "Resource": [ "arn:aws:kinesis:us-west-2:123:stream/StockTradeStream/*" ] }, { "Sid": "Stmt456", "Effect": "Allow", "Action": [ "dynamodb:*" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123:table/StockTradesProcessor" ] }, { "Sid": "Stmt789", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": [ "*" ] } ] }
Untuk membuat IAM pengguna
  1. Buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Pada halaman Pengguna, pilih Tambah pengguna.

  3. Untuk Nama pengguna, ketik StockTradeStreamUser.

  4. Untuk jenis Access, pilih Akses terprogram, lalu pilih Berikutnya: Izin.

  5. Pilih Lampirkan kebijakan yang sudah ada secara langsung.

  6. Cari berdasarkan nama untuk kebijakan yang Anda buat. Pilih kotak di sebelah kiri nama kebijakan, lalu pilih Berikutnya: Tinjau.

  7. Tinjau detail dan ringkasan, lalu pilih Buat pengguna.

  8. Salin ID kunci Akses, dan simpan secara pribadi. Di bawah Kunci akses rahasia, pilih Tampilkan, dan simpan kunci itu secara pribadi juga.

  9. Rekatkan akses dan kunci rahasia ke file lokal di tempat aman yang hanya dapat Anda akses. Untuk aplikasi ini, buat file bernama ~/.aws/credentials (dengan izin ketat). File harus dalam format berikut:

    [default] aws_access_key_id=access key aws_secret_access_key=secret access key
Untuk melampirkan IAM kebijakan ke pengguna
  1. Di IAM konsol, buka Kebijakan dan pilih Tindakan Kebijakan.

  2. Pilih StockTradeStreamPolicy dan Lampirkan.

  3. Pilih StockTradeStreamUser dan Lampirkan Kebijakan.

Langkah Berikutnya

Unduh dan buat kode implementasi