Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengotorisasi pengguna dan layanan cloud untuk menggunakan AWS IoT Jobs
Untuk mengotorisasi pengguna dan layanan cloud Anda, Anda harus menggunakan kebijakan IAM pada bidang kontrol dan bidang data. Kebijakan harus digunakan dengan protokol HTTPS dan harus menggunakan otentikasi AWS Signature Version 4 (port 443) untuk mengautentikasi pengguna.
catatan
AWS IoT Core Kebijakan tidak boleh digunakan pada pesawat kontrol. Hanya kebijakan IAM yang digunakan untuk mengotorisasi pengguna atau Layanan Cloud. Untuk informasi selengkapnya tentang menggunakan jenis kebijakan yang diperlukan, lihatJenis kebijakan yang diperlukan untuk AWS IoT Pekerjaan.
Kebijakan IAM adalah dokumen JSON yang berisi pernyataan kebijakan. Pernyataan kebijakan menggunakan elemen Efek, Tindakan, dan Sumber Daya untuk menentukan sumber daya, tindakan yang diizinkan atau ditolak, dan kondisi di mana tindakan diizinkan atau ditolak. Untuk informasi selengkapnya, lihat Referensi Elemen Kebijakan IAM JSON di Panduan pengguna IAM.
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.
Kebijakan IAM di bidang kontrol
Pada bidang kontrol, kebijakan IAM menggunakan iot:
awalan dengan tindakan untuk mengotorisasi operasi API pekerjaan terkait. Misalnya, tindakan iot:CreateJob
kebijakan memberikan izin kepada pengguna untuk menggunakan CreateJob
API.
Tabel berikut menunjukkan daftar tindakan kebijakan IAM dan izin untuk menggunakan tindakan API. Untuk informasi tentang jenis sumber daya, lihat Jenis sumber daya yang ditentukan oleh AWS IoT. Untuk informasi selengkapnya tentang AWS IoT tindakan, lihat Tindakan yang ditentukan oleh AWS IoT.
Tindakan kebijakan | Operasi API | Jenis sumber daya | Deskripsi |
---|---|---|---|
iot:AssociateTargetsWithJob |
AssociateTargetsWithJob |
|
Merupakan izin untuk mengasosiasikan grup dengan pekerjaan berkelanjutan. iot:AssociateTargetsWithJob Izin diperiksa setiap kali permintaan dibuat untuk mengaitkan target. |
iot:CancelJob |
CancelJob |
pekerjaan | Merupakan izin untuk membatalkan pekerjaan. iot:CancelJob Izin diperiksa setiap kali permintaan dibuat untuk membatalkan pekerjaan. |
iot:CancelJobExecution |
CancelJobExecution |
|
Merupakan izin untuk membatalkan eksekusi pekerjaan. iot: CancelJobExecution Izin diperiksa setiap kali permintaan dibuat untuk membatalkan eksekusi pekerjaan. |
iot:CreateJob |
CreateJob |
|
Merupakan izin untuk membuat pekerjaan. iot:
CreateJob Izin diperiksa setiap kali permintaan dibuat untuk membuat pekerjaan. |
iot:CreateJobTemplate |
CreateJobTemplate |
|
Merupakan izin untuk membuat template pekerjaan. iot: CreateJobTemplate Izin diperiksa setiap kali permintaan dibuat untuk membuat template pekerjaan. |
iot:DeleteJob |
DeleteJob |
pekerjaan | Merupakan izin untuk menghapus pekerjaan. iot:
DeleteJob Izin diperiksa setiap kali permintaan dibuat untuk menghapus pekerjaan. |
iot:DeleteJobTemplate |
DeleteJobTemplate |
Jobtemplate | Merupakan izin untuk menghapus template pekerjaan. iot: CreateJobTemplate Izin diperiksa setiap kali permintaan dibuat untuk menghapus template pekerjaan. |
iot:DeleteJobExecution |
DeleteJobTemplate |
|
Merupakan izin untuk menghapus eksekusi pekerjaan. iot: DeleteJobExecution Izin diperiksa setiap kali permintaan dibuat untuk menghapus eksekusi pekerjaan. |
iot:DescribeJob |
DescribeJob |
pekerjaan | Merupakan izin untuk menggambarkan pekerjaan. iot:
DescribeJob Izin diperiksa setiap kali permintaan dibuat untuk menggambarkan suatu pekerjaan. |
iot:DescribeJobExecution |
DescribeJobExecution |
|
Merupakan izin untuk menggambarkan eksekusi pekerjaan. iot: DescribeJobExecution Izin diperiksa setiap kali permintaan dibuat untuk menggambarkan eksekusi pekerjaan. |
iot:DescribeJobTemplate |
DescribeJobTemplate |
Jobtemplate | Merupakan izin untuk menggambarkan template pekerjaan. iot: DescribeJobTemplate Izin diperiksa setiap kali permintaan dibuat untuk menggambarkan template pekerjaan. |
iot:DescribeManagedJobTemplate |
DescribeManagedJobTemplate |
Jobtemplate | Merupakan izin untuk mendeskripsikan template pekerjaan terkelola. iot: DescribeManagedJobTemplate Izin diperiksa setiap kali permintaan dibuat untuk menggambarkan template pekerjaan yang dikelola. |
iot:GetJobDocument |
GetJobDocument |
pekerjaan | Merupakan izin untuk mendapatkan dokumen pekerjaan untuk suatu pekerjaan. iot:GetJobDocument Izin diperiksa setiap kali permintaan dibuat untuk mendapatkan dokumen pekerjaan. |
iot:ListJobExecutionsForJob |
ListJobExecutionsForJob |
pekerjaan | Merupakan izin untuk membuat daftar eksekusi pekerjaan untuk suatu pekerjaan. iot:ListJobExecutionsForJob Izin diperiksa setiap kali permintaan dibuat untuk mencantumkan eksekusi pekerjaan untuk suatu pekerjaan. |
iot:ListJobExecutionsForThing |
ListJobExecutionsForThing |
hal | Merupakan izin untuk membuat daftar eksekusi pekerjaan untuk suatu pekerjaan. iot:ListJobExecutionsForThing Izin diperiksa setiap kali permintaan dibuat untuk mencantumkan eksekusi pekerjaan untuk suatu hal. |
iot:ListJobs |
ListJobs |
none | Merupakan izin untuk membuat daftar pekerjaan. iot:ListJobs Izin diperiksa setiap kali permintaan dibuat untuk membuat daftar pekerjaan. |
iot:ListJobTemplates |
ListJobTemplates |
none | Merupakan izin untuk membuat daftar template pekerjaan. iot:ListJobTemplates Izin diperiksa setiap kali permintaan dibuat untuk membuat daftar templat pekerjaan. |
iot:ListManagedJobTemplates |
ListManagedJobTemplates |
none | Merupakan izin untuk membuat daftar templat pekerjaan yang dikelola. iot:ListManagedJobTemplates Izin diperiksa setiap kali permintaan dibuat untuk mencantumkan templat pekerjaan yang dikelola. |
iot:UpdateJob |
UpdateJob |
pekerjaan | Merupakan izin untuk memperbarui pekerjaan. iot:UpdateJob Izin diperiksa setiap kali permintaan dibuat untuk memperbarui pekerjaan. |
iot:TagResource |
TagResource |
|
Memberikan izin untuk menandai sumber daya tertentu. |
iot:UntagResource |
UntagResource |
|
Memberikan izin untuk menghapus tag sumber daya tertentu. |
Contoh berikut menunjukkan kebijakan IAM yang memungkinkan izin pengguna untuk melakukan tindakan berikut untuk hal IoT Anda dan grup benda.
Dalam contoh, ganti:
-
region
dengan Anda Wilayah AWS, sepertius-east-1
. -
account-id
dengan Akun AWS nomor Anda, seperti57EXAMPLE833
. -
thing-group-name
dengan nama grup IoT Anda yang Anda targetkan pekerjaan, seperti.FirmwareUpdateGroup
-
thing-name
dengan nama hal IoT Anda yang Anda targetkan pekerjaan, seperti.MyIoTThing
Anda dapat membatasi prinsipal agar tidak melakukan panggilan API ke titik akhir bidang kontrol Anda dari alamat IP tertentu. Untuk menentukan alamat IP yang dapat diizinkan, dalam elemen Kondisi kebijakan IAM Anda, gunakan kunci kondisi aws:SourceIp
global.
Menggunakan kunci kondisi ini juga dapat menolak akses ke Layanan AWS s lain dari melakukan panggilan API ini atas nama Anda, seperti AWS CloudFormation. Untuk mengizinkan akses ke layanan ini, gunakan kunci kondisi aws:ViaAWSService
global dengan SourceIp kunci aws:. Ini memastikan bahwa pembatasan akses alamat IP sumber hanya berlaku untuk permintaan yang dibuat langsung oleh prinsipal. Untuk informasi selengkapnya, lihat AWS: Menolak akses AWS berdasarkan IP sumber.
Contoh berikut menunjukkan cara mengizinkan hanya alamat IP tertentu yang dapat membuat panggilan API ke titik akhir bidang kontrol. aws:ViaAWSService
Kuncinya disetel ketrue
, yang memungkinkan layanan lain melakukan panggilan API atas nama Anda.
Kebijakan IAM tentang pesawat data
Kebijakan IAM pada bidang data menggunakan iotjobsdata:
awalan untuk mengotorisasi operasi API lowongan yang dapat dilakukan pengguna. Pada bidang data, Anda dapat memberikan izin kepada pengguna untuk menggunakan DescribeJobExecution
API menggunakan tindakan iotjobsdata:DescribeJobExecution
kebijakan.
Awas
Menggunakan kebijakan IAM di bidang data tidak disarankan saat menargetkan AWS IoT Pekerjaan untuk perangkat Anda. Kami menyarankan Anda menggunakan kebijakan IAM pada bidang kontrol bagi pengguna untuk membuat dan mengelola pekerjaan. Pada bidang data, untuk mengotorisasi perangkat untuk mengambil eksekusi pekerjaan dan memperbarui status eksekusi, gunakan. AWS IoT Core kebijakan untuk protokol HTTPS
Operasi API yang harus diotorisasi biasanya dilakukan oleh Anda mengetik perintah CLI. Berikut ini menunjukkan contoh pengguna yang melakukan DescribeJobExecution
operasi.
Dalam contoh, ganti:
-
region
dengan Anda Wilayah AWS, sepertius-east-1
. -
account-id
dengan Akun AWS nomor Anda, seperti57EXAMPLE833
. -
thing-name
dengan nama hal IoT Anda yang Anda targetkan pekerjaan, seperti.myRegisteredThing
-
adalah pengidentifikasi unik untuk pekerjaan yang ditargetkan menggunakan API.job-id
aws iot-jobs-data describe-job-execution \ --endpoint-url "https://
account-id
.jobs.iot.region
.amazonaws.com" \ --job-idjobID
--thing-namething-name
Berikut ini menunjukkan contoh kebijakan IAM yang mengizinkan tindakan ini:
Anda dapat membatasi prinsipal agar tidak melakukan panggilan API ke titik akhir bidang data Anda dari alamat IP tertentu. Untuk menentukan alamat IP yang dapat diizinkan, dalam elemen Kondisi kebijakan IAM Anda, gunakan kunci kondisi aws:SourceIp
global.
Menggunakan kunci kondisi ini juga dapat menolak akses ke Layanan AWS s lain dari melakukan panggilan API ini atas nama Anda, seperti AWS CloudFormation. Untuk mengizinkan akses ke layanan ini, gunakan kunci kondisi aws:ViaAWSService
global dengan kunci aws:SourceIp
kondisi. Hal ini memastikan bahwa pembatasan akses alamat IP hanya berlaku untuk permintaan yang langsung dibuat oleh prinsipal. Untuk informasi selengkapnya, lihat AWS: Menolak akses AWS berdasarkan IP sumber.
Contoh berikut menunjukkan cara mengizinkan hanya alamat IP tertentu yang dapat membuat panggilan API ke titik akhir bidang data.
Contoh berikut menunjukkan cara membatasi alamat IP atau rentang alamat tertentu dari membuat panggilan API ke titik akhir bidang data.
Jika Anda melakukan operasi API pada bidang kontrol dan bidang data, tindakan kebijakan bidang kontrol Anda harus menggunakan iot:
awalan, dan tindakan kebijakan bidang data Anda harus menggunakan iotjobsdata:
awalan.
Misalnya, DescribeJobExecution
API dapat digunakan di bidang kontrol dan bidang data. Pada bidang kontrol, DescribeJobExecutionAPI digunakan untuk menggambarkan eksekusi pekerjaan. Pada bidang data, DescribeJobExecutionAPI digunakan untuk mendapatkan detail eksekusi pekerjaan.
Kebijakan IAM berikut mengotorisasi izin pengguna untuk menggunakan DescribeJobExecution
API pada bidang kontrol dan bidang data.
Dalam contoh, ganti:
-
region
dengan Anda Wilayah AWS, sepertius-east-1
. -
account-id
dengan Akun AWS nomor Anda, seperti57EXAMPLE833
. -
thing-name
dengan nama hal IoT Anda yang Anda targetkan pekerjaan, seperti.MyIoTThing
Otorisasi penandaan sumber daya IoT
Untuk kontrol yang lebih baik atas pekerjaan dan templat pekerjaan yang dapat Anda buat, modifikasi, atau gunakan, Anda dapat melampirkan tag ke pekerjaan atau templat pekerjaan. Tag juga membantu Anda membedakan kepemilikan dan menetapkan serta mengalokasikan biaya dengan menempatkannya dalam grup penagihan dan melampirkan tag pada mereka.
Ketika pengguna ingin menandai pekerjaan atau templat pekerjaan mereka yang mereka buat dengan menggunakan AWS Management Console atau AWS CLI, kebijakan IAM Anda harus memberikan izin kepada pengguna untuk menandai mereka. Untuk memberikan izin, kebijakan IAM Anda harus menggunakan tindakan tersebut. iot:TagResource
catatan
Jika kebijakan IAM Anda tidak menyertakan iot:TagResource
tindakan, maka salah satu CreateJob
atau CreateJobTemplate
dengan tag akan menampilkan AccessDeniedException
kesalahan.
Ketika Anda ingin menandai pekerjaan atau templat pekerjaan yang Anda buat dengan menggunakan AWS Management Console atau AWS CLI, kebijakan IAM Anda harus memberikan izin untuk menandai mereka. Untuk memberikan izin, kebijakan IAM Anda harus menggunakan tindakan tersebut. iot:TagResource
Untuk informasi umum tentang menandai sumber daya Anda, lihatMenandai sumber daya Anda AWS IoT.
Lihat contoh kebijakan IAM berikut yang memberikan izin penandaan:
Contoh 1
Pengguna yang menjalankan perintah berikut untuk membuat pekerjaan dan menandainya ke lingkungan tertentu.
Dalam contoh ini, ganti:
-
region
dengan Anda Wilayah AWS, sepertius-east-1
. -
account-id
dengan Akun AWS nomor Anda, seperti57EXAMPLE833
. -
thing-name
dengan nama hal IoT Anda yang Anda targetkan pekerjaan, seperti.MyIoTThing
aws iot create-job --job-id
test_job
--targets "arn:aws:iot:region
:account-id
:thing/thingOne
" --document-source "https://s3.amazonaws.com/amzn-s3-demo-bucket/job-document.json" --description "test job description" --tags Key=environment,Value=beta
Untuk contoh ini, Anda harus menggunakan kebijakan IAM berikut: