Mengonfigurasi izin peran eksekusi Lambda - AWS Lambda

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

Mengonfigurasi izin peran eksekusi Lambda

Untuk mengakses kluster MSK Amazon, fungsi dan pemetaan sumber peristiwa Anda memerlukan izin untuk melakukan berbagai tindakan Amazon MSK API. Tambahkan izin ini ke peran eksekusi fungsi. Jika pengguna Anda memerlukan akses, tambahkan izin yang diperlukan ke kebijakan identitas untuk pengguna atau peran.

Untuk mencakup semua izin yang diperlukan, Anda dapat melampirkan kebijakan yang dikelola AWSLambdaMSKExecutionPeran ke peran eksekusi Anda. Atau, Anda dapat menambahkan setiap izin secara manual.

Izin dasar

Peran eksekusi fungsi Lambda Anda harus memiliki izin yang diperlukan berikut untuk membuat dan menyimpan log di Log. CloudWatch

Izin akses klaster

Agar Lambda dapat mengakses klaster MSK Amazon Anda atas nama Anda, fungsi Lambda Anda harus memiliki izin berikut dalam peran pelaksanaannya:

Anda hanya perlu menambahkan salah satu dari kafka: DescribeCluster atau kafka: DescribeCluster V2. Untuk klaster MSK Amazon yang disediakan, salah satu izin berfungsi. Untuk cluster MSK Amazon tanpa server, Anda harus menggunakan kafka: V2. DescribeCluster

catatan

Lambda akhirnya berencana untuk menghapus kafka: DescribeCluster izin dari kebijakan yang dikelola AWSLambdaMSKExecutionPeran. Jika Anda menggunakan kebijakan ini, migrasi aplikasi apa pun menggunakan kafka: DescribeCluster untuk menggunakan kafka: DescribeCluster V2 sebagai gantinya.

Izin VPC

Jika klaster MSK Amazon Anda berada dalam subnet pribadi VPC Anda, fungsi Lambda Anda harus memiliki izin tambahan untuk mengakses sumber daya VPC Amazon Anda. Ini termasuk VPC, subnet, grup keamanan, dan antarmuka jaringan Anda. Peran eksekusi fungsi Anda harus memiliki izin berikut:

Izin opsional

Fungsi Lambda Anda mungkin juga memerlukan izin untuk:

Ini sesuai dengan izin yang diperlukan berikut:

Selain itu, jika Anda ingin mengirim catatan pemanggilan yang gagal ke tujuan yang gagal, Anda memerlukan izin berikut tergantung pada jenis tujuan:

Memecahkan masalah otentikasi umum dan kesalahan otorisasi

Jika salah satu izin yang diperlukan untuk mengkonsumsi data dari kluster MSK Amazon tidak ada, Lambda menampilkan salah satu pesan galat berikut dalam pemetaan sumber peristiwa di bawah. LastProcessingResult Untuk informasi selengkapnya tentang setiap metode otentikasi yang didukung, lihatMengkonfigurasi metode otentikasi cluster.

Cluster gagal mengotorisasi Lambda

Untuk SASL/SCRAM atau mTL, kesalahan ini menunjukkan bahwa pengguna yang disediakan tidak memiliki semua izin daftar kontrol akses (ACL) Kafka yang diperlukan berikut:

  • DescribeConfigs Cluster

  • Jelaskan Grup

  • Baca Grup

  • Jelaskan Topik

  • Baca Topik

Untuk kontrol akses IAM, peran eksekusi fungsi Anda tidak memiliki satu atau beberapa izin yang diperlukan untuk mengakses grup atau topik. Tinjau daftar izin yang diperlukan di halaman ini.

Saat Anda membuat kebijakan Kafka ACLs atau IAM dengan izin klaster Kafka yang diperlukan, tentukan topik dan kelompokkan sebagai sumber daya. Nama topik harus cocok dengan topik dalam pemetaan sumber acara. Nama grup harus cocok dengan UUID pemetaan sumber peristiwa.

Setelah Anda menambahkan izin yang diperlukan ke peran eksekusi, mungkin perlu beberapa menit agar perubahan diterapkan.

Otentikasi SASL gagal

Untuk SASL/SCRAM, kesalahan ini menunjukkan bahwa nama pengguna dan kata sandi yang diberikan tidak valid.

Untuk kontrol akses IAM, peran eksekusi tidak memiliki kafka-cluster:Connect izin untuk cluster MSK. Tambahkan izin ini ke peran dan tentukan Amazon Resource Name (ARN) cluster sebagai sumber daya.

Anda mungkin melihat kesalahan ini terjadi sebentar-sebentar. Cluster menolak koneksi setelah jumlah koneksi TCP melebihi kuota layanan MSK Amazon. Lambda mundur dan mencoba lagi sampai koneksi berhasil. Setelah Lambda terhubung ke cluster dan polling untuk catatan, hasil pemrosesan terakhir berubah menjadi. OK

Server gagal mengautentikasi Lambda

Kesalahan ini menunjukkan bahwa broker Amazon MSK Kafka gagal mengautentikasi dengan Lambda. Ini dapat terjadi karena salah satu alasan berikut:

  • Anda tidak memberikan sertifikat klien untuk otentikasi mTLS.

  • Anda memberikan sertifikat klien, tetapi broker tidak dikonfigurasi untuk menggunakan MTL.

  • Sertifikat klien tidak dipercaya oleh broker.

Sertifikat atau kunci pribadi yang diberikan tidak valid

Kesalahan ini menunjukkan bahwa konsumen MSK Amazon tidak dapat menggunakan sertifikat atau kunci pribadi yang disediakan. Pastikan bahwa sertifikat dan kunci menggunakan format PEM, dan bahwa enkripsi kunci pribadi menggunakan PBES1 algoritma. Lihat Mengkonfigurasi rahasia mTLS untuk informasi selengkapnya.