Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengotorisasi perangkat Anda untuk digunakan dengan aman AWS IoT Pekerjaan di bidang data
Untuk mengotorisasi perangkat Anda agar berinteraksi secara aman dengan AWS IoT Jobs di bidang data, Anda harus menggunakan AWS IoT Core kebijakan. AWS IoT Core kebijakan untuk pekerjaan adalah dokumen JSON yang berisi pernyataan kebijakan. Kebijakan ini juga menggunakan elemen Efek, Tind akan, dan Sumber Daya, dan mengikuti konvensi serupa dengan kebijakan IAM. Untuk informasi selengkapnya tentang elemen, lihat Refer ensi Elemen Kebijakan JSON IAM di Panduan pengguna IAM.
Kebijakan dapat digunakan dengan protokol MQTT dan HTTPS dan harus menggunakan otentikasi bersama TCP atau TLS untuk mengotentikasi perangkat. Berikut ini menunjukkan cara menggunakan kebijakan ini di berbagai protokol komunikasi.
Awas
Kami menyarankan Anda untuk tidak menggunakan izin wildcard, seperti "Action":
["iot:*"] dalam kebijakan atau AWS IoT Core kebijakan IAM Anda. Menggunakan izin wildcard bukanlah praktik terbaik keamanan yang disarankan. Untuk informasi lebih lanjut, 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 API MQTT digunakan untuk bekerja dengan topik MQTT yang disediakan untuk perintah pekerjaan. Untuk informasi selengkapnya tentang operasi API ini, lihatPekerjaan perangkat operasi MQTT API.
Kebijakan MQTT menggunakan tindakan kebijakan sepertiiot:Connect,iot:Publish,iot:Subscribe, dan iot:Receieve untuk bekerja dengan topik pekerjaan. Kebijakan ini memungkinkan Anda untuk terhubung ke broker pesan, berlangganan topik pekerjaan MQTT, dan mengirim dan menerima pesan MQTT antara perangkat Anda dan cloud. Untuk informasi selengkapnya tentang tindakan ini, lihatAWS IoT Core tindakan kebijakan.
Untuk informasi tentang topik untuk AWS IoT Pekerjaan, lihatTopik pekerjaan.
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 benda IoT Anda yang Anda targetkan pekerjaan, sepertiMyIoTThing.
-
{ "Version":"2012-10-17", "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-123/jobs/*" ] } ] }
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 pekerjaan yang dapat dilakukan perangkat Anda. Misalnya, tindakan iotjobsdata:DescribeJobExecution kebijakan memberikan izin pengguna untuk menggunakan DescribeJobExecution API.
catatan
Tindakan kebijakan bidang data harus menggunakan iotjobsdata: awalan. Pada bidang kontrol, tindakan harus menggunakan iot: awalan. Untuk contoh kebijakan IAM ketika 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 untuk 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 TLS HTTP. Jika Anda menggunakan titik akhir MQTT, Anda harus menggunakan tindakan kebijakan MQTT yang ditentukan sebelumnya.
| Tindakan kebijakan | Operasi API | Jenis sumber daya | Deskripsi |
|---|---|---|---|
iotjobsdata:DescribeJobExecution |
DescribeJobExecution |
|
Merupakan izin untuk mengambil eksekusi pekerjaan. Iz iotjobsdata:DescribeJobExecution in 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. Iz iotjobsdata:GetPendingJobExecutions in 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. Iz iotjobsdata:StartNextPendingJobExecution in 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 menjangkau 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 benda IoT, sepertiMyIoTthing.
-
{ "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-123" } ] }
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 DescribeJobExecution API berikut:
GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1