Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Otorisasi dengan identitas Amazon Cognito

Mode fokus
Otorisasi dengan identitas Amazon Cognito - AWS IoT Core

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

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

Ada dua jenis identitas Amazon Cognito: tidak diautentikasi dan diautentikasi. Jika aplikasi Anda mendukung identitas Amazon Cognito yang tidak diautentikasi, tidak ada autentikasi yang dilakukan, sehingga Anda tidak tahu siapa pengguna tersebut.

Identitas Tidak Diautentikasi: Untuk identitas Amazon Cognito yang tidak diautentikasi, Anda memberikan izin dengan melampirkan peran IAM ke kumpulan identitas yang tidak diautentikasi. Kami menyarankan Anda hanya memberikan akses ke sumber daya yang Anda inginkan tersedia untuk pengguna yang tidak dikenal.

penting

Untuk pengguna Amazon Cognito yang tidak diautentikasi yang terhubung AWS IoT Core ke, kami menyarankan Anda memberikan akses ke sumber daya yang sangat terbatas dalam kebijakan IAM.

Identitas Terautentikasi: Untuk identitas Amazon Cognito yang diautentikasi, Anda perlu menentukan izin di dua tempat:

  • Lampirkan kebijakan IAM ke kumpulan Identitas Amazon Cognito yang diautentikasi dan

  • Lampirkan AWS IoT Core kebijakan ke Identitas Amazon Cognito (pengguna yang diautentikasi).

Contoh kebijakan untuk pengguna Amazon Cognito yang tidak diautentikasi dan diautentikasi yang terhubung ke AWS IoT Core

Contoh berikut menunjukkan izin dalam kebijakan IAM dan kebijakan IoT dari identitas Amazon Cognito. Pengguna yang diautentikasi ingin mempublikasikan ke topik khusus perangkat (mis.device/DEVICE_ID/status).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/Client_ID" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/device/Device_ID/status" ] } ] }

Contoh berikut menunjukkan izin dalam kebijakan IAM dari peran Amazon Cognito yang tidak diautentikasi. Pengguna yang tidak diautentikasi ingin mempublikasikan ke topik khusus non-perangkat yang tidak memerlukan otentikasi.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/non_device_specific_topic" ] } ] }

GitHub contoh

Contoh aplikasi web berikut GitHub menunjukkan cara menggabungkan lampiran kebijakan ke pengguna yang diautentikasi ke dalam proses pendaftaran dan otentikasi pengguna.

Amplify adalah seperangkat alat dan layanan yang membantu Anda membangun aplikasi web dan seluler yang terintegrasi dengan AWS layanan. Untuk informasi selengkapnya tentang Amplify, lihat Amplify Framework Documentation,.

Kedua contoh melakukan langkah-langkah berikut.

  1. Saat pengguna mendaftar untuk akun, aplikasi akan membuat kumpulan pengguna dan identitas Amazon Cognito.

  2. Ketika pengguna mengautentikasi, aplikasi membuat dan melampirkan kebijakan ke identitas. Ini memberi pengguna izin menerbitkan dan berlangganan.

  3. Pengguna dapat menggunakan aplikasi untuk mempublikasikan dan berlangganan topik MQTT.

Contoh pertama menggunakan operasi AttachPolicy API langsung di dalam operasi otentikasi. Contoh berikut menunjukkan bagaimana menerapkan panggilan API ini di dalam aplikasi web React yang menggunakan Amplify dan. AWS IoT Device SDK for JavaScript

function attachPolicy(id, policyName) { var Iot = new AWS.Iot({region: AWSConfiguration.region, apiVersion: AWSConfiguration.apiVersion, endpoint: AWSConfiguration.endpoint}); var params = {policyName: policyName, target: id}; console.log("Attach IoT Policy: " + policyName + " with cognito identity id: " + id); Iot.attachPolicy(params, function(err, data) { if (err) { if (err.code !== 'ResourceAlreadyExistsException') { console.log(err); } } else { console.log("Successfully attached policy with the identity", data); } }); }

Kode ini muncul di AuthDisplayfile.js.

Contoh kedua mengimplementasikan operasi AttachPolicy API dalam fungsi Lambda. Contoh berikut menunjukkan bagaimana Lambda menggunakan panggilan API ini.

iot.attachPolicy(params, function(err, data) { if (err) { if (err.code !== 'ResourceAlreadyExistsException') { console.log(err); res.json({error: err, url: req.url, body: req.body}); } } else { console.log(data); res.json({success: 'Create and attach policy call succeed!', url: req.url, body: req.body}); } });

Kode ini muncul di dalam iot.GetPolicy fungsi dalam file app.js.

catatan

Saat Anda memanggil fungsi dengan AWS kredensyal yang Anda peroleh melalui kumpulan Identitas Amazon Cognito, objek konteks dalam fungsi Lambda Anda berisi nilai untuk. context.cognito_identity_id Untuk informasi selengkapnya, lihat hal berikut.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.