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 digunakan AWS IoT Lowongan Kerja
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 mengotentikasi pengguna.
catatan
AWS IoT Core kebijakan tidak boleh digunakan pada bidang 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 Lowongan Kerja.
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 Refer ensi Elemen Kebijakan JSON IAM di Panduan pengguna IAM.
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.
Kebijakan IAM pada bidang kontrol
Pada bidang kontrol, kebijakan IAM menggunakan iot: awalan dengan tindakan untuk mengotorisasi operasi API pekerjaan yang sesuai. Misalnya, tindakan iot:CreateJob kebijakan memberikan izin 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 T indakan yang ditentukan oleh AWS IoT.
| Tindakan kebijakan | Operasi API | Jenis sumber daya | Deskripsi |
|---|---|---|---|
iot:AssociateTargetsWithJob |
AssociateTargetsWithJob |
|
Merupakan izin untuk mengaitkan grup dengan pekerjaan berkelanjutan. Iz iot:AssociateTargetsWithJob in diperiksa setiap kali permintaan dibuat untuk mengaitkan target. |
iot:CancelJob |
CancelJob |
pekerjaan | Merupakan izin untuk membatalkan pekerjaan. Iz iot:CancelJob in diperiksa setiap kali permintaan dibuat untuk membatalkan pekerjaan. |
iot:CancelJobExecution |
CancelJobExecution |
|
Merupakan izin untuk membatalkan eksekusi pekerjaan. Iz iot: CancelJobExecution in diperiksa setiap kali permintaan dibuat untuk membatalkan eksekusi pekerjaan. |
iot:CreateJob |
CreateJob |
|
Merupakan izin untuk membuat pekerjaan. Iz iot:
CreateJob in diperiksa setiap kali permintaan dibuat untuk membuat pekerjaan. |
iot:CreateJobTemplate |
CreateJobTemplate |
|
Merupakan izin untuk membuat template pekerjaan. Iz iot: CreateJobTemplate in diperiksa setiap kali permintaan dibuat untuk membuat template pekerjaan. |
iot:DeleteJob |
DeleteJob |
pekerjaan | Merupakan izin untuk menghapus pekerjaan. Iz iot:
DeleteJob in diperiksa setiap kali permintaan dibuat untuk menghapus pekerjaan. |
iot:DeleteJobTemplate |
DeleteJobTemplate |
Template pekerjaan | Merupakan izin untuk menghapus template pekerjaan. Iz iot: CreateJobTemplate in diperiksa setiap kali permintaan dibuat untuk menghapus template pekerjaan. |
iot:DeleteJobExecution |
DeleteJobTemplate |
|
Merupakan izin untuk menghapus eksekusi pekerjaan. Iz iot: DeleteJobExecution in diperiksa setiap kali permintaan dibuat untuk menghapus eksekusi pekerjaan. |
iot:DescribeJob |
DescribeJob |
pekerjaan | Merupakan izin untuk menggambarkan pekerjaan. Iz iot:
DescribeJob in diperiksa setiap kali permintaan dibuat untuk menggambarkan pekerjaan. |
iot:DescribeJobExecution |
DescribeJobExecution |
|
Merupakan izin untuk menggambarkan eksekusi pekerjaan. Iz iot: DescribeJobExecution in diperiksa setiap kali permintaan dibuat untuk menggambarkan eksekusi pekerjaan. |
iot:DescribeJobTemplate |
DescribeJobTemplate |
Template pekerjaan | Merupakan izin untuk menggambarkan template pekerjaan. Iz iot: DescribeJobTemplate in diperiksa setiap kali permintaan dibuat untuk menggambarkan template pekerjaan. |
iot:DescribeManagedJobTemplate |
DescribeManagedJobTemplate |
Template pekerjaan | Merupakan izin untuk mendeskripsikan template pekerjaan yang dikelola. Iz iot: DescribeManagedJobTemplate in diperiksa setiap kali permintaan dibuat untuk menggambarkan template pekerjaan yang dikelola. |
iot:GetJobDocument |
GetJobDocument |
pekerjaan | Merupakan izin untuk mendapatkan dokumen pekerjaan untuk suatu pekerjaan. Iz iot:GetJobDocument in diperiksa setiap kali permintaan dibuat untuk mendapatkan dokumen pekerjaan. |
iot:ListJobExecutionsForJob |
ListJobExecutionsForJob |
pekerjaan | Merupakan izin untuk membuat daftar eksekusi pekerjaan untuk pekerjaan. Iz iot:ListJobExecutionsForJob in diperiksa setiap kali permintaan dibuat untuk membuat daftar eksekusi pekerjaan untuk pekerjaan. |
iot:ListJobExecutionsForThing |
ListJobExecutionsForThing |
hal | Merupakan izin untuk membuat daftar eksekusi pekerjaan untuk pekerjaan. Iz iot:ListJobExecutionsForThing in diperiksa setiap kali permintaan dibuat untuk membuat daftar eksekusi pekerjaan untuk suatu hal. |
iot:ListJobs |
ListJobs |
none | Merupakan izin untuk membuat daftar pekerjaan. Iz iot:ListJobs in diperiksa setiap kali permintaan dibuat untuk membuat daftar pekerjaan. |
iot:ListJobTemplates |
ListJobTemplates |
none | Merupakan izin untuk mencantumkan template pekerjaan. Iz iot:ListJobTemplates in diperiksa setiap kali permintaan dibuat untuk mencantumkan template pekerjaan. |
iot:ListManagedJobTemplates |
ListManagedJobTemplates |
none | Merupakan izin untuk mencantumkan template pekerjaan yang dikelola. Iz iot:ListManagedJobTemplates in diperiksa setiap kali permintaan dibuat untuk mencantumkan templat pekerjaan yang dikelola. |
iot:UpdateJob |
UpdateJob |
pekerjaan | Merupakan izin untuk memperbarui pekerjaan. Iz iot:UpdateJob in 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 grup benda dan benda IoT Anda.
Dalam contoh, ganti:
-
regiondengan Anda Wilayah AWS, sepertius-east-1. -
account-iddengan Akun AWS nomor Anda, seperti57EXAMPLE833. -
thing-group-namedengan nama grup hal IoT Anda yang Anda targetkan pekerjaannya, sepertiFirmwareUpdateGroup. -
thing-namedengan nama benda IoT Anda yang Anda targetkan pekerjaan, sepertiMyIoTThing.
-
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "iot:CreateJobTemplate", "iot:CreateJob" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thinggroup/thing-group-name" }, { "Action": [ "iot:DescribeJob", "iot:CancelJob", "iot:DeleteJob" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:job/*" }, { "Action": [ "iot:DescribeJobExecution", "iot:CancelJobExecution", "iot:DeleteJobExecution" ], "Effect": "Allow", "Resource": [ "arn:aws:iot:us-east-1:123456789012:thing/thing-123", "arn:aws:iot:us-east-1:123456789012:job/*" ] } ] }
Anda dapat membatasi prinsipal untuk 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 orang Layanan AWS lain untuk 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: Men AWS olak akses berdasarkan IP sumber.
Contoh berikut menunjukkan cara mengizinkan hanya alamat IP tertentu yang dapat melakukan panggilan API ke titik akhir bidang kontrol. Kun aws:ViaAWSService cinya diset true el ke, yang memungkinkan layanan lain melakukan panggilan API atas nama Anda.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJobTemplate", "iot:CreateJob" ], "Resource": [ "*" ], "Condition": { "IpAddress": { "aws:SourceIp": "123.45.167.89" }, "Bool": { "aws:ViaAWSService": "false" } } }] }
Kebijakan IAM pada bidang data
Kebijakan IAM pada bidang data menggunakan iotjobsdata: awalan untuk mengotorisasi operasi API pekerjaan yang dapat dilakukan pengguna. Di bidang data, Anda dapat memberikan izin pengguna untuk menggunakan DescribeJobExecution API dengan menggunakan tindakan iotjobsdata:DescribeJobExecution kebijakan.
Awas
Menggunakan kebijakan IAM di bidang data tidak disarankan saat menargetkan AWS IoT Pekerjaan untuk perangkat Anda. Sebaiknya gunakan 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 dengan mengetik perintah CLI. Berikut ini menunjukkan contoh pengguna yang melakukan DescribeJobExecution operasi.
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, sepertimyRegisteredThing. -
adalah pengenal 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:
-
{ "Version":"2012-10-17", "Statement": { "Action": [ "iotjobsdata:DescribeJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thing/thing-123" } }
Anda dapat membatasi prinsipal 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 orang Layanan AWS lain untuk 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. Ini memastikan bahwa pembatasan akses alamat IP hanya berlaku untuk permintaan yang dibuat langsung oleh kepala sekolah. Untuk informasi selengkapnya, lihat AWS: Men AWS olak akses berdasarkan IP sumber.
Contoh berikut menunjukkan cara mengizinkan hanya alamat IP tertentu yang dapat melakukan panggilan API ke titik akhir bidang data.
-
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iotjobsdata:*" ], "Resource": [ "*" ], "Condition": { "IpAddress": { "aws:SourceIp": "123.45.167.89" }, "Bool": { "aws:ViaAWSService": "false" } } }] }
Contoh berikut menunjukkan cara membatasi alamat IP tertentu atau rentang alamat dari membuat panggilan API ke titik akhir bidang data.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iotjobsdata:*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ "123.45.167.89", "192.0.2.0/24", "203.0.113.0/24" ] } }, "Resource": [ "*" ] } ] }
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, DescribeJobExecution API digunakan untuk menggambarkan eksekusi pekerjaan. Pada bidang data, DescribeJobExecution API 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:
-
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": [ { "Action": [ "iotjobsdata:DescribeJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thing/thing-123" }, { "Action": [ "iot:DescribeJobExecution", "iot:CancelJobExecution", "iot:DeleteJobExecution" ], "Effect": "Allow", "Resource": [ "arn:aws:iot:us-east-1:123456789012:thing/thing-123", "arn:aws:iot:us-east-1:123456789012:job/*" ] } ] }
Mengotorisasi 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 di grup penagihan dan melampirkan tag ke mereka.
Ketika pengguna ingin menandai pekerjaan atau templat pekerjaan yang mereka buat dengan menggunakan Konsol Manajemen AWS atau AWS CLI, kebijakan IAM Anda harus memberikan izin pengguna untuk menandai mereka. Untuk memberikan izin, kebijakan IAM Anda harus menggunakan iot:TagResource tindakan tersebut.
catatan
Jika kebijakan IAM Anda tidak menyertakan iot:TagResource tindakan tersebut, maka salah CreateJob satu atau CreateJobTemplate dengan tag akan menampilkan AccessDeniedException kesalahan.
Jika Anda ingin menandai pekerjaan atau templat pekerjaan yang Anda buat dengan menggunakan Konsol Manajemen AWS atau AWS CLI, kebijakan IAM Anda harus memberikan izin untuk menandai mereka. Untuk memberikan izin, kebijakan IAM Anda harus menggunakan iot:TagResource tindakan tersebut.
Untuk informasi umum tentang menandai sumber daya Anda, lihatMenandai Anda AWS IoT sumber daya.
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:
-
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.
aws iot create-job --job-idtest_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:
-
{ "Version":"2012-10-17", "Statement": { "Action": [ "iot:CreateJob", "iot:CreateJobTemplate", "iot:TagResource" ], "Effect": "Allow", "Resource": [ "arn:aws:iot:us-east-1:123456789012:job/*", "arn:aws:iot:us-east-1:123456789012:jobtemplate/*" ] } }