Mengotorisasi perangkat Anda untuk menggunakan AWS IoT Pekerjaan dengan aman di bidang data - AWS IoT Core

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

Mengotorisasi perangkat Anda untuk menggunakan AWS IoT Pekerjaan dengan aman di bidang data

Untuk mengizinkan perangkat Anda berinteraksi secara aman dengan AWS IoT Jobs di bidang data, Anda harus menggunakan AWS IoT Core kebijakan. AWS IoT Core kebijakan untuk lowongan kerja adalah dokumen JSON yang berisi pernyataan kebijakan. Kebijakan ini juga menggunakan elemen Efek, Tindakan, dan Sumber Daya, dan mengikuti konvensi serupa dengan kebijakan IAM. Untuk informasi selengkapnya tentang elemen, lihat Referensi Elemen Kebijakan IAM JSON di Panduan pengguna IAM.

Kebijakan dapat digunakan dengan protokol MQTT dan HTTPS dan harus menggunakan otentikasi timbal balik TCP atau TLS untuk mengautentikasi perangkat. Berikut ini menunjukkan cara menggunakan kebijakan ini di berbagai protokol komunikasi.

Awas

Kami menyarankan agar Anda tidak menggunakan izin wildcard, seperti "Action": ["iot:*"] dalam kebijakan atau kebijakan IAM Anda. AWS IoT Core Menggunakan izin wildcard bukanlah praktik terbaik keamanan yang disarankan. Untuk informasi selengkapnya, lihat AWS IoT kebijakan yang terlalu permisif.

AWS IoT Core kebijakan untuk protokol MQTT

AWS IoT Core kebijakan untuk protokol MQTT memberi Anda izin untuk menggunakan tindakan API MQTT perangkat pekerjaan. Operasi MQTT API digunakan untuk bekerja dengan topik MQTT yang dicadangkan untuk perintah pekerjaan. Untuk informasi selengkapnya tentang operasi API ini, lihatPekerjaan perangkat operasi MQTT API.

Kebijakan MQTT menggunakan tindakan kebijakan sepertiiot:Connect,, iot:Publishiot:Subscribe, dan iot:Receieve untuk bekerja dengan topik pekerjaan. Kebijakan ini memungkinkan Anda untuk terhubung ke broker pesan, berlangganan topik MQTT pekerjaan, dan mengirim dan menerima pesan MQTT antara perangkat Anda dan cloud. Untuk informasi lebih lanjut tentang tindakan ini, lihatAWS IoT Core tindakan kebijakan.

Untuk informasi tentang topik untuk AWS IoT Pekerjaan, lihatTopik Job.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan iot:Publish dan iot:Subscribe mempublikasikan dan berlangganan pekerjaan dan eksekusi pekerjaan.

Dalam contoh, ganti:

  • regiondengan Anda Wilayah AWS, sepertius-east-1.

  • account-iddengan Akun AWS nomor Anda, seperti57EXAMPLE833.

  • thing-namedengan nama hal IoT Anda yang Anda targetkan pekerjaan, seperti. MyIoTThing

JSON
{ "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/job/*", "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/jobExecution/*", "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thing-name/jobs/*" ] } ], "Version": "2012-10-17" }

AWS IoT Core kebijakan untuk protokol HTTPS

AWS IoT Core kebijakan pada bidang data juga dapat menggunakan protokol HTTPS dengan mekanisme otentikasi TLS untuk mengotorisasi perangkat Anda. Pada bidang data, kebijakan menggunakan iotjobsdata: awalan untuk mengotorisasi operasi API lowongan yang dapat dilakukan perangkat Anda. Misalnya, tindakan iotjobsdata:DescribeJobExecution kebijakan memberikan izin kepada pengguna untuk menggunakan DescribeJobExecutionAPI.

catatan

Tindakan kebijakan bidang data harus menggunakan iotjobsdata: awalan. Pada bidang kontrol, tindakan harus menggunakan iot: awalan. Untuk contoh kebijakan IAM saat tindakan kebijakan bidang kontrol dan bidang data digunakan, lihatContoh kebijakan IAM untuk bidang kontrol dan bidang data.

Tabel berikut menunjukkan daftar tindakan AWS IoT Core kebijakan dan izin untuk mengotorisasi perangkat agar menggunakan tindakan API. Untuk daftar operasi API yang dapat Anda lakukan di bidang data, lihatPekerjaan perangkat HTTP API.

catatan

Tindakan kebijakan eksekusi pekerjaan ini hanya berlaku untuk titik akhir HTTP TLS. Jika Anda menggunakan titik akhir MQTT, Anda harus menggunakan tindakan kebijakan MQTT yang ditentukan sebelumnya.

AWS IoT Core tindakan kebijakan pada pesawat data
Tindakan kebijakan Operasi API Jenis sumber daya Deskripsi
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • pekerjaan

  • hal

Merupakan izin untuk mengambil eksekusi pekerjaan. iotjobsdata:DescribeJobExecutionIzin diperiksa setiap kali permintaan dibuat untuk mengambil eksekusi pekerjaan.
iotjobsdata:GetPendingJobExecutions GetPendingJobExecutions hal Merupakan izin untuk mengambil daftar pekerjaan yang tidak dalam status terminal untuk suatu hal. iotjobsdata:GetPendingJobExecutionsIzin diperiksa setiap kali permintaan dibuat untuk mengambil daftar.
iotjobsdata:StartNextPendingJobExecution StartNextPendingJobExecution hal Merupakan izin untuk mendapatkan dan memulai eksekusi pekerjaan tertunda berikutnya untuk suatu hal. Yaitu, untuk memperbarui eksekusi pekerjaan dengan status QUEUED keIN_PROGRESS. iotjobsdata:StartNextPendingJobExecutionIzin diperiksa setiap kali permintaan dibuat untuk memulai eksekusi pekerjaan tertunda berikutnya.
iotjobsdata:UpdateJobExecution UpdateJobExecution hal Merupakan izin untuk memperbarui eksekusi pekerjaan. iotjobsdata:UpdateJobExecutionIzin diperiksa setiap kali permintaan dibuat untuk memperbarui status eksekusi pekerjaan.

Berikut ini menunjukkan contoh AWS IoT Core kebijakan yang memberikan izin untuk melakukan tindakan pada operasi API bidang data untuk sumber daya apa pun. Anda dapat membuat cakupan kebijakan Anda ke sumber daya tertentu, seperti hal IoT. Dalam contoh Anda, ganti:

  • regiondengan Anda Wilayah AWS sepertius-east-1.

  • account-iddengan Akun AWS nomor Anda, seperti57EXAMPLE833.

  • thing-namedengan nama hal IoT, seperti. MyIoTthing

JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iotjobsdata:GetPendingJobExecutions", "iotjobsdata:StartNextPendingJobExecution", "iotjobsdata:DescribeJobExecution", "iotjobsdata:UpdateJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thing/thing-name" } ] }

Contoh kapan Anda harus menggunakan kebijakan ini adalah ketika perangkat IoT Anda menggunakan AWS IoT Core kebijakan untuk mengakses salah satu operasi API ini, seperti contoh API berikut: DescribeJobExecution

GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1