Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mempersiapkan keamanan
Bagian ini membahas persyaratan keamanan utama untuk Katalog Paket AWS IoT Device Management Perangkat Lunak.
Resource-based otentikasi
Katalog Paket Perangkat Lunak menggunakan otorisasi berbasis sumber daya untuk memberikan keamanan tambahan saat memperbarui perangkat lunak pada armada Anda. Ini berarti bahwa Anda harus membuat kebijakan AWS Identity and Access Management (IAM) yang memberikan hak untuk melakukancreate,,, read updatedelete, dan list tindakan untuk paket perangkat lunak dan versi paket, serta mereferensikan paket perangkat lunak tertentu dan versi paket yang ingin Anda terapkan di Resources bagian tersebut. Anda juga memerlukan hak-hak ini sehingga Anda dapat memperbarui bayangan bernama yang dicadangkan. Anda mereferensikan paket perangkat lunak dan versi paket dengan menyertakan Nama Sumber Daya Amazon (ARN) untuk setiap entitas.
catatan
Jika Anda ingin kebijakan memberikan hak untuk panggilan API versi paket (seperti CreatePackageVersion, UpdatePackageVersion, DeletePackageVersion), maka Anda harus menyertakan paket perangkat lunak dan ARN versi paket dalam kebijakan. Jika Anda ingin kebijakan memberikan hak untuk panggilan API paket perangkat lunak (seperti CreatePackage, UpdatePackage, dan DeletePackage) maka Anda harus menyertakan hanya paket perangkat lunak ARN dalam kebijakan.
Struktur paket perangkat lunak dan versi paket ARN sebagai berikut:
Paket perangkat lunak:
arn:aws:iot:<region>:<accountID>:package/<packageName>/packageVersi paket:
arn:aws:iot:<region>:<accountID>:package/<packageName>/version/<versionName>
catatan
Ada hak terkait lainnya yang mungkin Anda sertakan dalam kebijakan ini. Misalnya, Anda dapat menyertakan ARN untukjob,thinggroup, danjobtemplate. Untuk informasi selengkapnya dan daftar lengkap opsi kebijakan, lihat Mengam ankan pengguna dan perangkat dengan AWS IoT Jobs.
Misalnya, jika Anda memiliki paket perangkat lunak dan versi paket yang diberi nama sebagai berikut:
AWS IoT hal:
myThingNama paket:
samplePackageVersi
1.0.0
Kebijakan mungkin terlihat seperti contoh berikut:
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }
AWS IoT Hak pekerjaan untuk menerapkan versi paket
Untuk tujuan keamanan, penting bagi Anda untuk memberikan hak untuk menerapkan paket dan versi paket, dan memberi nama paket dan versi paket tertentu yang diizinkan untuk digunakan. Untuk melakukan ini, Anda membuat peran dan kebijakan IAM yang memberikan izin untuk menerapkan pekerjaan dengan versi paket. Kebijakan harus menentukan versi paket tujuan sebagai sumber daya.
Kebijakan IAM
Kebijakan IAM memberikan hak untuk membuat pekerjaan yang menyertakan paket dan versi yang diberi nama di Resource bagian tersebut.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:111122223333:job/<jobId>", "arn:aws:iot:*:111122223333:thing/<thingName>/$package", "arn:aws:iot:*:111122223333:thinggroup/<thingGroupName>", "arn:aws:iot:*:111122223333:jobtemplate/<jobTemplateName>", "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
catatan
Jika Anda ingin menerapkan pekerjaan yang menghapus instalasi paket perangkat lunak dan versi paket, Anda harus mengotorisasi ARN di mana versi paketnya berada$null, seperti berikut ini:
arn:aws:iot:<regionCode>:111122223333:package/<packageName>/version/$null
AWS IoT Hak pekerjaan untuk memperbarui bayangan bernama yang dicadangkan
Untuk mengizinkan pekerjaan memperbarui bayangan nama cadangan benda saat pekerjaan berhasil diselesaikan, Anda harus membuat peran dan kebijakan IAM. Ada dua cara Anda dapat melakukan ini di AWS IoT konsol. Yang pertama adalah ketika Anda membuat paket perangkat lunak di konsol. Jika Anda melihat kotak dialog Aktifkan dependensi untuk manajemen paket, Anda dapat memilih untuk menggunakan peran yang ada atau membuat peran baru. Atau, di AWS IoT konsol, pilih Peng aturan, pilih Kelola pengindeksan, lalu Kelola pengindeksan untuk paket dan versi perangkat.
catatan
Jika Anda memilih agar layanan AWS IoT Job memperbarui bayangan bernama cadangan saat pekerjaan berhasil diselesaikan, panggilan API dihitung ke dalam operasi Device Shadow dan registri Anda dan dapat dikenakan biaya. Untuk informasi selengkapnya, lihat harga AWS IoT Core
Saat Anda menggunakan opsi Buat peran, nama peran yang dihasilkan dimulai dengan aws-iot-role-update-shadows dan berisi kebijakan berikut:
Menyiapkan peran
- Izin
-
Kebijakan izin memberikan hak untuk menanyakan dan memperbarui bayangan benda.
$packageParameter dalam sumber daya ARN menargetkan bayangan bernama cadangan.-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:thing/<thingName>/$package" ] } ] }
- Hubungan kepercayaan
-
Selain kebijakan izin, peran memerlukan hubungan kepercayaan AWS IoT Core sehingga entitas dapat mengambil peran dan memperbarui bayangan bernama cadangan.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Menyiapkan kebijakan pengguna
- iam: izin PassRole
-
Terakhir, Anda harus memiliki izin untuk meneruskan peran AWS IoT Core ketika Anda memanggil operasi UpdatePackageConfiguration API.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }
AWS IoT Izin pekerjaan untuk mengunduh dari Amazon S3
Dokumen pekerjaan disimpan di Amazon S3. Anda merujuk ke file ini ketika Anda mengirim melalui AWS IoT Jobs. Anda harus memberi AWS IoT Jobs hak untuk mengunduh file (s3:GetObject). Anda juga harus mengatur hubungan kepercayaan antara Amazon S3 dan AWS IoT Jobs. Untuk petunjuk untuk membuat kebijakan ini, lihat URL yang ditandatangani sebelumnya di M engelola Pekerjaan.
Izin untuk memperbarui tagihan bahan perangkat lunak untuk versi paket
Untuk memperbarui tagihan bahan perangkat lunak untuk versi paket dalam statusDraft,Published, atau Deprecated siklus hidup, Anda memerlukan AWS Identity and Access Management peran dan kebijakan untuk menemukan tagihan bahan perangkat lunak baru di Amazon S3 dan memperbarui versi paket di AWS IoT Core.
Pertama, Anda akan menempatkan daftar bahan perangkat lunak yang diperbarui di bucket Amazon S3 versi Anda dan memanggil operasi UpdatePackageVersion API dengan sboms parameter yang disertakan. Selanjutnya, kepala sekolah resmi Anda akan mengambil peran IAM yang Anda buat, menemukan daftar bahan perangkat lunak yang diperbarui di Amazon S3, dan memperbarui versi paket AWS IoT Core untuk Katalog Paket Perangkat Lunak.
Kebijakan berikut diperlukan untuk melakukan pembaruan ini:
Kebijakan
-
Kebijakan kepercayaan Kebijakan membangun hubungan kepercayaan dengan prinsipal resmi yang mengasumsikan peran IAM sehingga dapat menemukan daftar bahan perangkat lunak yang diperbarui dari bucket berversi Anda di Amazon S3 dan memperbarui versi paket di. AWS IoT Core
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
-
Kebijakan izin: Kebijakan untuk mengakses bucket berversi Amazon S3 tempat tagihan bahan perangkat lunak disimpan untuk versi paket dan memperbarui versi paket di AWS IoT Core dalamnya.
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:UpdatePackageVersion" ], "Resource": [ "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
-
-
Luluskan izin peran: Kebijakan yang memberikan izin untuk meneruskan peran IAM ke Amazon S3 dan AWS IoT Core saat Anda memanggil operasi
UpdatePackageVersionAPI.-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageVersion" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }
-
catatan
Anda tidak dapat memperbarui daftar bahan perangkat lunak pada versi paket yang telah beralih ke status Deleted siklus hidup.
Untuk informasi selengkapnya tentang membuat peran IAM untuk AWS layanan, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan.
Untuk informasi selengkapnya tentang membuat bucket Amazon S3 dan mengunggah objek ke dalamnya, lihat Membuat bucket dan Meng unggah objek.