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.
Otentikasi berbasis sumber daya
Software Package Catalog menggunakan otorisasi berbasis sumber daya untuk memberikan keamanan tambahan saat memperbarui perangkat lunak pada armada Anda. Ini berarti Anda harus membuat kebijakan AWS Identity and Access Management (IAM) yang memberikan hak untuk melakukancreate
,,, read
update
delete
, dan list
tindakan untuk paket perangkat lunak dan versi paket, dan mereferensikan paket perangkat lunak dan versi paket tertentu yang ingin Anda terapkan di bagian tersebutResources
. Anda juga memerlukan hak-hak ini sehingga Anda dapat memperbarui bayangan bernama yang dilindungi undang-undang. Anda mereferensikan paket perangkat lunak dan versi paket dengan menyertakan Amazon Resource Name (ARN) untuk setiap entitas.
catatan
Jika Anda bermaksud kebijakan untuk memberikan hak untuk API panggilan versi paket (seperti CreatePackageVersionUpdatePackageVersion,, DeletePackageVersion), maka Anda perlu menyertakan paket perangkat lunak dan versi paket ARNs dalam kebijakan. Jika Anda bermaksud kebijakan untuk memberikan hak untuk API panggilan 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 ARNs sebagai berikut:
Paket perangkat lunak:
arn:aws:iot:
<region>
:<accountID>
:package/<packageName>
/package
Versi Package:
arn:aws:iot:
<region>
:<accountID>
:package/<packageName>
/version/<versionName>
catatan
Ada hak terkait lainnya yang mungkin Anda sertakan dalam kebijakan ini. Misalnya, Anda mungkin menyertakan ARN untukjob
,thinggroup
, danjobtemplate
. Untuk informasi selengkapnya dan daftar lengkap opsi kebijakan, lihat Mengamankan pengguna dan perangkat dengan AWS IoT Lowongan.
Misalnya, jika Anda memiliki paket perangkat lunak dan versi paket yang diberi nama sebagai berikut:
AWS IoT hal:
myThing
Nama Package:
samplePackage
Versi
1.0.0
Kebijakan ini 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 menyebarkan versi paket
Untuk tujuan keamanan, penting bagi Anda untuk memberikan hak untuk menyebarkan paket dan versi paket, dan memberi nama paket dan versi paket tertentu yang diizinkan untuk diterapkan. Untuk melakukannya, Anda membuat IAM peran dan kebijakan yang memberikan izin untuk menerapkan pekerjaan dengan versi paket. Kebijakan harus menentukan versi paket tujuan sebagai sumber daya.
IAMkebijakan
IAMKebijakan memberikan hak untuk membuat pekerjaan yang mencakup paket dan versi yang disebutkan di Resource
bagian.
{ "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 paket berada$null
, seperti berikut ini:
arn:aws:iot:
<regionCode>
:111122223333
:package/<packageName>
/version/$null
AWS IoT Hak pekerjaan untuk memperbarui bayangan bernama yang dilindungi undang-undang
Untuk mengizinkan lowongan memperbarui bayangan nama yang dicadangkan saat pekerjaan berhasil diselesaikan, Anda harus membuat IAM peran dan kebijakan. 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 Pengaturan, pilih Kelola pengindeksan, lalu Kelola pengindeksan untuk paket dan versi perangkat.
catatan
Jika Anda memilih agar layanan AWS IoT Job memperbarui bayangan bernama yang dicadangkan saat pekerjaan berhasil diselesaikan, API panggilan akan dihitung untuk Device Shadow dan operasi 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 melakukan kueri dan memperbarui bayangan benda.
$package
Parameter 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:
<regionCode>
: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 yang dicadangkan.
{ "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 UpdatePackageConfigurationAPIoperasi.
{ "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 memberikan AWS IoT Jobs dengan hak untuk men-download file (s3:GetObject
). Anda juga harus mengatur hubungan kepercayaan antara Amazon S3 dan AWS IoT Jobs. Untuk petunjuk untuk membuat kebijakan ini, lihat Ditandatangani sebelumnya URLs dalam Mengelola Pekerjaan.
Izin untuk memperbarui tagihan perangkat lunak materi untuk versi paket
Untuk memperbarui tagihan materi perangkat lunak untuk versi paket dalamDraft
,Published
, atau status Deprecated
siklus hidup, Anda memerlukan AWS Identity and Access Management peran dan kebijakan untuk menemukan tagihan materi perangkat lunak baru di Amazon S3 dan memperbarui versi paket di. AWS IoT Core
Pertama, Anda akan menempatkan tagihan materi perangkat lunak yang diperbarui di bucket Amazon S3 berversi Anda dan memanggil operasi dengan sboms
parameter UpdatePackageVersion
API yang disertakan. Selanjutnya, kepala sekolah resmi Anda akan mengambil IAM peran yang Anda buat, menemukan tagihan materi perangkat lunak yang diperbarui di Amazon S3, dan memperbarui versi paket untuk Katalog Paket AWS IoT Core Perangkat Lunak.
Kebijakan berikut diperlukan untuk melakukan pembaruan ini:
Kebijakan
-
Kebijakan kepercayaan membangun hubungan kepercayaan dengan kepala sekolah yang berwenang dengan asumsi IAM peran sehingga dapat menemukan tagihan materi 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 materi perangkat lunak disimpan untuk versi paket dan memperbarui versi paket. AWS IoT Core
-
{ "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>
" ] } ] }
-
-
Lulus izin peran: Kebijakan yang memberikan izin untuk meneruskan IAM peran ke Amazon S3 AWS IoT Core dan saat Anda memanggil operasi.
UpdatePackageVersion
API-
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "s3:GetObject" ], "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 tagihan materi perangkat lunak pada versi paket yang telah dialihkan ke status siklus Deleted
hidup.
Untuk informasi selengkapnya tentang membuat IAM peran 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 Mengunggah objek.