View a markdown version of this page

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 dipertahankan adalah pesan MQTT yang diterbitkan dengan tanda RETAIN ditetapkan 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 menerbitkan pesan yang disimpan, perangkat harus dapat menghubungkan, menerbitkan (pesan MQTT apa pun), dan menerbitkan pesan yang dipertahankan MQTT. Kebijakan berikut memberikan izin ini untuk topik: device/sample/configuration kepada kliendevice1. Untuk contoh lain yang memberikan izin untuk terhubung, lihatHubungkan 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 dipublikasikan ketika klien terputus secara tidak terduga. MQTT menyebut pesan seperti itu pesan Will. Klien harus memiliki kondisi tambahan yang ditambahkan ke izin hubungannya untuk memasukkannya.

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

{ "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 dipertahankan

Layanan dan aplikasi dapat mengakses pesan yang dipertahankan tanpa perlu mendukung klien MQTT dengan menelepon ListRetainedMessages dan 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" ] } ] }