Kebijakan IAM untuk Log Percakapan - Amazon Lex V1

Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.

 

Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.

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

Kebijakan IAM untuk Log Percakapan

Bergantung pada jenis pencatatan yang Anda pilih, Amazon Lex memerlukan izin untuk menggunakan bucket Amazon CloudWatch Logs dan Amazon Simple Storage Service (S3) untuk menyimpan log Anda. Anda harus membuatAWS Identity and Access Management peran dan izin untuk mengaktifkan Amazon Lex mengakses sumber daya ini.

Membuat Kebijakan IAM Role dan Kebijakan untuk Log Percakapan

Untuk mengaktifkan log percakapan, Anda harus memberikan izin menulis untuk CloudWatch Log dan Amazon S3. Jika Anda mengaktifkan enkripsi objek untuk objek S3 Anda, Anda perlu memberikan izin akses keAWS KMS kunci yang digunakan untuk mengenkripsi objek.

Anda dapat menggunakan IAMAWS Management Console, IAM API, atauAWS Command Line Interface untuk membuat peran dan kebijakan. Petunjuk ini menggunakanAWS CLI untuk membuat peran dan kebijakan. Untuk informasi tentang membuat kebijakan dengan konsol, lihat Membuat kebijakan pada tab JSON di Panduan Pengguna AWS Identity and Access Management.

catatan

Kode berikut ini diformat untuk Linux dan macOS. Untuk Windows, ganti karakter kelanjutan baris Linux (\) dengan tanda sisipan (^).

Untuk membuat IAM role untuk log percakapan
  1. Buat dokumen di direktori saat ini disebutLexConversationLogsAssumeRolePolicyDocument.json, tambahkan kode berikut ke dalamnya, dan menyimpannya. Dokumen kebijakan ini menambahkan Amazon Lex sebagai entitas tepercaya ke peran tersebut. Hal ini memungkinkan Lex untuk mengambil peran untuk mengirimkan log ke sumber daya yang dikonfigurasi untuk log percakapan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lex.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. DiAWS CLI, jalankan perintah berikut ini untuk membuat IAM role untuk log percakapan.

    aws iam create-role \ --role-name role-name \ --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json

Selanjutnya, buat dan lampirkan kebijakan ke peran yang memungkinkan Amazon Lex menulis ke CloudWatch Log.

Untuk membuat kebijakan IAM untuk logging teks percakapan ke CloudWatch Log
  1. Buat dokumen di direktori saat ini yang disebutLexConversationLogsCloudWatchLogsPolicy.json, tambahkan kebijakan IAM berikut untuk itu, dan simpan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:*" } ] }
  2. DalamAWS CLI, buat kebijakan IAM yang memberikan izin menulis ke grup CloudWatch log log.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Melampirkan kebijakan ke IAM role yang Anda buat untuk log percakapan.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \ --role-name role-name

Jika Anda mencatat audio ke bucket S3, buat kebijakan yang memungkinkan Amazon Lex menulis ke bucket.

Untuk membuat kebijakan IAM untuk logging audio ke bucket S3
  1. Buat dokumen di direktori saat ini yang disebutLexConversationLogsS3Policy.json, tambahkan kebijakan berikut ke dalamnya, dan simpan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. Di bagianAWS CLI, buat kebijakan IAM yang memberikan izin tulis ke bucket S3 Anda.

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. Melampirkan kebijakan pada peran yang Anda buat untuk log percakapan.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \ --role-name role-name

Pemberian Izin untuk Melewati Peran IAM

Saat Anda menggunakan konsolAWS Command Line Interface, atauAWS SDK untuk menentukan peran IAM yang akan digunakan untuk log percakapan, pengguna yang menentukan log percakapan peran IAM harus memiliki izin untuk meneruskan peran tersebut ke Amazon Lex. Agar pengguna dapatmeneruskan peran tersebut ke Amazon Lex, Anda harus memberikanPassRole izin kepada pengguna, atau kelompok dari Amazon Lex.

Kebijakan berikut menentukan izin untuk memberikan kepada pengguna, peran, atau grup. Anda dapat menggunakaniam:AssociatedResourceArn dan kunciiam:PassedToService kondisi untuk membatasi ruang lingkup izin. Untuk informasi selengkapnya, lihat Memberikan Izin Pengguna untuk Meneruskan Peran keAWS Layanan dan IAM serta Kunci KonteksAWS STS Kondisi di PanduanAWS Identity and Access Management Pengguna.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/role-name", "Condition": { "StringEquals": { "iam:PassedToService": "lex.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": "arn:aws:lex:region:account-id:bot:bot-name:bot-alias" } } } ] }