Contoh kebijakan pesan yang dipertahankan - AWS IoT Core

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

Contoh kebijakan pesan yang dipertahankan

Menggunakan pesan yang disimpan memerlukan kebijakan khusus. Pesan yang disimpan adalah MQTT pesan yang diterbitkan dengan RETAIN tanda yang disetel dan disimpan oleh AWS IoT Core. Bagian ini menyajikan contoh kebijakan yang memungkinkan penggunaan umum pesan yang disimpan.

Kebijakan untuk menghubungkan dan mempublikasikan pesan yang disimpan

Agar perangkat dapat memublikasikan pesan yang disimpan, perangkat harus dapat terhubung, menerbitkan (MQTTpesan apa pun), dan menerbitkan pesan yang MQTT disimpan. Kebijakan berikut memberikan izin ini untuk topik: device/sample/configuration kepada klien. device1 Untuk contoh lain yang memberikan izin untuk terhubung, lihatConnect dan publikasikan contoh kebijakan.

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

Kebijakan untuk menghubungkan dan mempublikasikan pesan Will yang disimpan

Klien dapat mengonfigurasi pesan yang AWS IoT Core akan mempublikasikan ketika klien terputus secara tidak terduga. MQTTmenyebut pesan seperti itu sebagai pesan Will. Klien harus memiliki kondisi tambahan yang ditambahkan ke izin sambungannya untuk memasukkannya.

Dokumen kebijakan berikut memberikan izin kepada semua klien untuk menghubungkan dan menerbitkan pesan Will, yang diidentifikasi berdasarkan topiknyawill, bahwa AWS IoT Core juga akan mempertahankan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/device1" ], "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:RetainPublish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/will" ] } ] }

Kebijakan untuk membuat daftar dan mendapatkan pesan yang disimpan

Layanan dan aplikasi dapat mengakses pesan yang disimpan tanpa perlu mendukung MQTT klien dengan menelepon ListRetainedMessagesdan GetRetainedMessage. Layanan dan aplikasi yang memanggil tindakan ini harus diotorisasi dengan menggunakan kebijakan seperti contoh berikut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:ListRetainedMessages" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/device1" ], }, { "Effect": "Allow", "Action": [ "iot:GetRetainedMessage" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/foo" ] } ] }