Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Auth perangkat klien
Komponen auth perangkat klien (aws.greengrass.clientdevices.Auth) mengautentikasi perangkat klien dan mengotorisasi tindakan perangkat klien.
catatan
Perangkat klien adalah perangkat IoT lokal yang terhubung ke perangkat inti Greengrass untuk mengirim pesan MQTT dan data yang akan diproses. Untuk informasi selengkapnya, lihat Berinteraksilah dengan perangkat IoT lokal.
Versi
catatan
Auth perangkat klien versi 2.3.0 telah dihentikan. Kami sangat menyarankan Anda meningkatkan ke autentikasi perangkat klien versi 2.3.1 atau yang lebih baru.
Komponen ini memiliki versi berikut:
-
2.5.x
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
Tipe
Komponen ini adalah komponen plugin (aws.greengrass.plugin). Inti Greengrass menjalankan komponen plugin dalam Java Virtual Machine (JVM) yang sama sebagai inti. Nukleus dimulai ulang saat Anda mengubah versi komponen ini pada perangkat inti.
Komponen plugin menggunakan file log yang sama seperti inti Greengrass. Untuk informasi selengkapnya, lihat Memantau AWS IoT Greengrass log.
Untuk informasi selengkapnya, lihat Jenis komponen.
Sistem operasi
Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:
Linux
Windows
Persyaratan
Komponen ini memiliki persyaratan sebagai berikut:
-
Per an layanan Greengrass harus dikaitkan dengan izin Anda Akun AWS dan mengizinkan
iot:DescribeCertificateizin tersebut. -
AWS IoT Kebijakan perangkat inti harus mengizinkan izin berikut:
-
greengrass:GetConnectivityInfo, di mana sumber daya termasuk ARN dari perangkat inti yang menjalankan komponen ini -
greengrass:VerifyClientDeviceIoTCertificateAssociation, di mana sumber daya menyertakan Nama Sumber Daya Amazon (ARN) dari setiap perangkat klien yang terhubung ke perangkat inti -
greengrass:VerifyClientDeviceIdentity -
greengrass:PutCertificateAuthorities -
iot:Publish, di mana sumber daya termasuk ARN dari topik MQTT berikut:-
$aws/things/coreDeviceThingName*-gci/shadow/get
-
-
iot:Subscribe, di mana sumber daya menyertakan ARN dari filter topik MQTT berikut:-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
-
iot:Receive, di mana sumber daya mencakup ARN dari topik MQTT berikut:-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
Untuk informasi selengkapnya, lihat AWS IoT kebijakan untuk operasi pesawat data dan AWS IoT Kebijakan minimal untuk mendukung perangkat klien.
-
-
(Opsional) Untuk menggunakan otentikasi offline, peran AWS Identity and Access Management (IAM) yang digunakan oleh AWS IoT Greengrass layanan harus berisi izin berikut:
-
greengrass:ListClientDevicesAssociatedWithCoreDeviceuntuk mengaktifkan perangkat inti untuk mencantumkan klien untuk otentikasi offline.
-
-
Komponen autentikasi perangkat klien didukung untuk dijalankan di VPC. Untuk menerapkan komponen ini di VPC, berikut ini diperlukan.
-
Komponen autentikasi perangkat klien harus memiliki konektivitas ke AWS IoT data, Cre AWS IoT dentials, dan Amazon S3.
-
Titik akhir dan port
Komponen ini harus dapat melakukan permintaan keluar ke titik akhir dan port berikut, selain titik akhir dan port yang diperlukan untuk operasi dasar. Untuk informasi selengkapnya, lihat Izinkan lalu lintas perangkat melalui proxy atau firewall.
| Titik akhir | Port | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
443 | Ya |
Digunakan untuk mendapatkan informasi tentang sertifikat AWS IoT benda. |
Dependensi
Saat Anda menerapkan komponen, AWS IoT Greengrass juga menerapkan versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass
- 2.5.5
-
Tabel berikut mencantumkan dependensi untuk versi 2.5.5 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Nukleus greengrass > =2.6.0 <2.17.0 Lunak - 2.5.4
-
Tabel berikut mencantumkan dependensi untuk versi 2.5.4 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Nukleus greengrass > =2.6.0 <2.16.0 Lunak - 2.5.2 – 2.5.3
-
Tabel berikut mencantumkan dependensi untuk versi 2.5.2 dan 2.5.3 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Nukleus greengrass > =2,6,0 <2,15,0 Lunak - 2.5.1
-
Tabel berikut mencantumkan dependensi untuk versi 2.5.1 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.14.0 Lunak - 2.4.4 - 2.5.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.4.4 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.13.0 Lunak - 2.4.3
-
Tabel berikut mencantumkan dependensi untuk versi 2.4.3 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.12.0 Lunak - 2.4.1 and 2.4.2
-
Tabel berikut mencantumkan dependensi untuk versi 2.4.1 dan 2.4.2 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.11.0 Lunak - 2.3.0 – 2.4.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.3.0 hingga 2.4.0 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.10.0 Lunak - 2.3.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.3.0 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.10.0 Lunak - 2.2.3
-
Tabel berikut mencantumkan dependensi untuk versi 2.2.3 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <=2.9.0 Lunak - 2.2.2
-
Tabel berikut mencantumkan dependensi untuk versi 2.2.2 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <=2.8.0 Lunak - 2.2.1
-
Tabel berikut mencantumkan dependensi untuk versi 2.2.1 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.6.0 <2.8.0 Lunak - 2.2.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.2.0 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > = 2,6,0 <2,7,0 Lunak - 2.1.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.1.0 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > = 2.2.0 <2.7.0 Lunak - 2.0.4
-
Tabel berikut mencantumkan dependensi untuk versi 2.0.4 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > = 2.2.0 <2.6.0 Lunak - 2.0.2 and 2.0.3
-
Tabel berikut mencantumkan dependensi untuk versi 2.0.2 dan 2.0.3 dari komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass > =2.2.0 <2.5.0 Lunak - 2.0.1
-
Tabel berikut mencantumkan dependensi untuk versi 2.0.1 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass >=2.2.0 <2.4.0 Lunak - 2.0.0
-
Tabel berikut mencantumkan dependensi untuk versi 2.0.0 komponen ini.
Dependensi Versi yang kompatibel Jenis dependensi Inti greengrass >=2.2.0 <2.3.0 Lunak
Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.
Konfigurasi
Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.
catatan
Izin berlangganan dievaluasi selama permintaan berlangganan klien ke broker MQTT lokal. Jika izin berlangganan klien yang ada dicabut, klien tidak akan lagi dapat berlangganan topik. Namun, ia akan terus menerima pesan dari topik yang sebelumnya berlangganan. Untuk mencegah perilaku ini, broker MQTT lokal harus dimulai ulang setelah mencabut izin berlangganan untuk memaksa otorisasi ulang klien.
Untuk komponen broker MQTT 5 (EMQX), perbarui restartIdentifier konfigurasi untuk memulai ulang broker MQTT 5.
Untuk komponen broker MQTT 3.1.1 (Moquette), komponen ini dimulai ulang setiap minggu secara default ketika sertifikat server berubah memaksa klien untuk mengotorisasi ulang. Anda dapat memaksa restart baik dengan mengubah informasi konektivitas (alamat IP) perangkat inti atau dengan melakukan penerapan untuk menghapus komponen broker dan kemudian menerapkannya lagi nanti.
- v2.5.0 – 2.5.4
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di awal dan akhir nama benda untuk mencocokkan perangkat klien yang namanya dimulai atau diakhiri dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama benda perangkat klien AWS IoT .
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan seleksi (gunakan wildcard)
Aturan pemilihan berikut cocok dengan perangkat klien yang namanya diakhiri dengan
MyClientDevice.thingName: *MyClientDevicecontoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan
*wildcard di mana saja dalam variabel resource untuk memungkinkan akses ke semua sumber daya. Misalnya, Anda dapat menentukanmqtt:topic:my*untuk mengizinkan akses ke sumber daya yang cocok dengan input tersebut.Variabel sumber daya berikut didukung:
-
mqtt:topic:${iot:Connection.Thing.ThingName}Ini menyelesaikan nama hal dalam AWS IoT Core registri yang kebijakan sedang dievaluasi. AWS IoT Core menggunakan sertifikat yang disajikan perangkat saat mengotentikasi untuk menentukan hal mana yang akan digunakan untuk memverifikasi koneksi. Variabel kebijakan ini hanya tersedia ketika perangkat terhubung melalui MQTT atau MQTT melalui protokol. WebSocket
-
statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal, tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
certificateAuthority-
(Opsional) Opsi konfigurasi otoritas sertifikat untuk mengganti otoritas perantara perangkat inti dengan otoritas sertifikat perantara Anda sendiri.
catatan
Jika Anda mengonfigurasi perangkat inti Greengrass dengan otoritas sertifikat kustom (CA) dan menggunakan CA yang sama untuk mengeluarkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi MQTT perangkat klien. Komponen autentikasi perangkat klien sepenuhnya mempercayai klien menggunakan sertifikat yang ditandatangani oleh CA yang dikonfigurasi untuk digunakan.
Untuk membatasi perilaku ini saat menggunakan CA kustom, buat dan tandatangani perangkat klien menggunakan CA atau CA perantara yang berbeda, lalu sesuaikan
certificateChainUribidangcertificateUridan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- CertificateURI
-
Lokasi sertifikat. Ini bisa berupa URI sistem file atau URI yang menunjuk ke sertifikat yang disimpan dalam modul keamanan perangkat keras.
certificateChainUri-
Lokasi rantai sertifikat untuk perangkat inti CA. Ini harus menjadi rantai sertifikat lengkap kembali ke CA root Anda. Ini bisa berupa URI sistem file atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa URI sistem file atau URI yang menunjuk ke kunci pribadi sertifikat yang disimpan dalam modul keamanan perangkat keras.
security-
(Opsional) Opsi konfigurasi keamanan untuk perangkat inti ini. Objek ini berisi informasi berikut.
clientDeviceTrustDurationMinutes-
Durasi dalam menit informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk melakukan autentikasi ulang dengan perangkat inti. Nilai default adalah 1.
metrics-
(Opsional) Opsi metrik untuk perangkat inti ini. Metrik kesalahan hanya akan ditampilkan jika ada kesalahan dengan autentikasi perangkat klien. Objek ini berisi informasi berikut:
disableMetrics-
Jika
disableMetricsbidang disetel sebagaitrue, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false aggregatePeriodSeconds-
Periode agregasi dalam detik yang menentukan seberapa sering autentikasi perangkat klien menggabungkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik dipublikasikan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startup TimeoutSeconds
-
(Opsional) Waktu maksimum dalam detik untuk memulai komponen. Status komponen berubah menjadi
ERROREDjika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Contoh konfigurasi berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }contoh Contoh: Pembaruan penggabungan konfigurasi (menggunakan kebijakan nama benda)
Contoh konfigurasi berikut memungkinkan perangkat klien untuk mempublikasikan topik yang dimulai dengan nama benda perangkat klien dan diakhiri dengan string
topic.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "myThing": { "selectionRule": "thingName: *", "policyName": "MyThingNamePolicy" } }, "policies": { "MyThingNamePolicy": { "policyStatement": { "statementDescription": "mqtt publish", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic" ] } } } } } - v2.4.5
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di awal dan akhir nama benda untuk mencocokkan perangkat klien yang namanya dimulai atau diakhiri dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama benda perangkat klien AWS IoT .
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan seleksi (gunakan wildcard)
Aturan pemilihan berikut cocok dengan perangkat klien yang namanya diakhiri dengan
MyClientDevice.thingName: *MyClientDevicecontoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal, tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
certificateAuthority-
(Opsional) Opsi konfigurasi otoritas sertifikat untuk mengganti otoritas perantara perangkat inti dengan otoritas sertifikat perantara Anda sendiri.
catatan
Jika Anda mengonfigurasi perangkat inti Greengrass dengan otoritas sertifikat kustom (CA) dan menggunakan CA yang sama untuk mengeluarkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi MQTT perangkat klien. Komponen autentikasi perangkat klien sepenuhnya mempercayai klien menggunakan sertifikat yang ditandatangani oleh CA yang dikonfigurasi untuk digunakan.
Untuk membatasi perilaku ini saat menggunakan CA kustom, buat dan tandatangani perangkat klien menggunakan CA atau CA perantara yang berbeda, lalu sesuaikan
certificateChainUribidangcertificateUridan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- CertificateURI
-
Lokasi sertifikat. Ini bisa berupa URI sistem file atau URI yang menunjuk ke sertifikat yang disimpan dalam modul keamanan perangkat keras.
certificateChainUri-
Lokasi rantai sertifikat untuk perangkat inti CA. Ini harus menjadi rantai sertifikat lengkap kembali ke CA root Anda. Ini bisa berupa URI sistem file atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa URI sistem file atau URI yang menunjuk ke kunci pribadi sertifikat yang disimpan dalam modul keamanan perangkat keras.
security-
(Opsional) Opsi konfigurasi keamanan untuk perangkat inti ini. Objek ini berisi informasi berikut.
clientDeviceTrustDurationMinutes-
Durasi dalam menit informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk melakukan autentikasi ulang dengan perangkat inti. Nilai default adalah 1.
metrics-
(Opsional) Opsi metrik untuk perangkat inti ini. Metrik kesalahan hanya akan ditampilkan jika ada kesalahan dengan autentikasi perangkat klien. Objek ini berisi informasi berikut:
disableMetrics-
Jika
disableMetricsbidang disetel sebagaitrue, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false aggregatePeriodSeconds-
Periode agregasi dalam detik yang menentukan seberapa sering autentikasi perangkat klien menggabungkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik dipublikasikan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startup TimeoutSeconds
-
(Opsional) Waktu maksimum dalam detik untuk memulai komponen. Status komponen berubah menjadi
ERROREDjika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Konfigurasi contoh berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.2 - v2.4.4
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan seleksi terdiri dari setidaknya satu klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal, tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
certificateAuthority-
(Opsional) Opsi konfigurasi otoritas sertifikat untuk mengganti otoritas perantara perangkat inti dengan otoritas sertifikat perantara Anda sendiri.
catatan
Jika Anda mengonfigurasi perangkat inti Greengrass dengan otoritas sertifikat kustom (CA) dan menggunakan CA yang sama untuk mengeluarkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi MQTT perangkat klien. Komponen autentikasi perangkat klien sepenuhnya mempercayai klien menggunakan sertifikat yang ditandatangani oleh CA yang dikonfigurasi untuk digunakan.
Untuk membatasi perilaku ini saat menggunakan CA kustom, buat dan tandatangani perangkat klien menggunakan CA atau CA perantara yang berbeda, lalu sesuaikan
certificateChainUribidangcertificateUridan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- CertificateURI
-
Lokasi sertifikat. Ini bisa berupa URI sistem file atau URI yang menunjuk ke sertifikat yang disimpan dalam modul keamanan perangkat keras.
certificateChainUri-
Lokasi rantai sertifikat untuk perangkat inti CA. Ini harus menjadi rantai sertifikat lengkap kembali ke CA root Anda. Ini bisa berupa URI sistem file atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa URI sistem file atau URI yang menunjuk ke kunci pribadi sertifikat yang disimpan dalam modul keamanan perangkat keras.
security-
(Opsional) Opsi konfigurasi keamanan untuk perangkat inti ini. Objek ini berisi informasi berikut.
clientDeviceTrustDurationMinutes-
Durasi dalam menit informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk melakukan autentikasi ulang dengan perangkat inti. Nilai default adalah 1.
metrics-
(Opsional) Opsi metrik untuk perangkat inti ini. Metrik kesalahan hanya akan ditampilkan jika ada kesalahan dengan autentikasi perangkat klien. Objek ini berisi informasi berikut:
disableMetrics-
Jika
disableMetricsbidang disetel sebagaitrue, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false aggregatePeriodSeconds-
Periode agregasi dalam detik yang menentukan seberapa sering autentikasi perangkat klien menggabungkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik dipublikasikan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startup TimeoutSeconds
-
(Opsional) Waktu maksimum dalam detik untuk memulai komponen. Status komponen berubah menjadi
ERROREDjika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Konfigurasi contoh berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.0 - v2.4.1
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan seleksi terdiri dari setidaknya satu klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal, tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
certificateAuthority-
(Opsional) Opsi konfigurasi otoritas sertifikat untuk mengganti otoritas perantara perangkat inti dengan otoritas sertifikat perantara Anda sendiri. Objek ini berisi informasi berikut.
Objek ini berisi informasi berikut:
- CertificateURI
-
Lokasi sertifikat. Ini bisa berupa URI sistem file atau URI yang menunjuk ke sertifikat yang disimpan dalam modul keamanan perangkat keras.
certificateChainUri-
Lokasi rantai sertifikat untuk perangkat inti CA. Ini harus menjadi rantai sertifikat lengkap kembali ke CA root Anda. Ini bisa berupa URI sistem file atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa URI sistem file atau URI yang menunjuk ke kunci pribadi sertifikat yang disimpan dalam modul keamanan perangkat keras.
security-
(Opsional) Opsi konfigurasi keamanan untuk perangkat inti ini. Objek ini berisi informasi berikut.
clientDeviceTrustDurationMinutes-
Durasi dalam menit informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk melakukan autentikasi ulang dengan perangkat inti. Nilai default adalah 1.
metrics-
(Opsional) Opsi metrik untuk perangkat inti ini. Metrik kesalahan hanya akan ditampilkan jika ada kesalahan dengan autentikasi perangkat klien. Objek ini berisi informasi berikut:
disableMetrics-
Jika
disableMetricsbidang disetel sebagaitrue, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false aggregatePeriodSeconds-
Periode agregasi dalam detik yang menentukan seberapa sering autentikasi perangkat klien menggabungkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik dipublikasikan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.3.x
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
certificateAuthority-
(Opsional) Opsi konfigurasi otoritas sertifikat untuk mengganti otoritas perantara perangkat inti dengan otoritas sertifikat perantara Anda sendiri. Objek ini berisi informasi berikut.
- CertificateURI
-
Lokasi sertifikat. Ini bisa berupa URI sistem file atau URI yang menunjuk ke sertifikat yang disimpan dalam modul keamanan perangkat keras.
certificateChainUri-
Lokasi rantai sertifikat untuk perangkat inti CA. Ini harus menjadi rantai sertifikat lengkap kembali ke CA root Anda. Ini bisa berupa URI sistem file atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa URI sistem file atau URI yang menunjuk ke kunci pribadi sertifikat yang disimpan dalam modul keamanan perangkat keras.
security-
(Opsional) Opsi konfigurasi keamanan untuk perangkat inti ini. Objek ini berisi informasi berikut.
clientDeviceTrustDurationMinutes-
Durasi dalam menit informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk melakukan autentikasi ulang dengan perangkat inti. Nilai default adalah 1.
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.2.x
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
performance-
(Opsional) Opsi konfigurasi kinerja untuk perangkat inti ini. Objek ini berisi informasi berikut:
maxActiveAuthTokens-
(Opsional) Jumlah maksimum token otorisasi perangkat klien aktif. Anda dapat meningkatkan jumlah ini untuk mengaktifkan lebih banyak perangkat klien untuk terhubung ke perangkat inti tunggal tanpa mengautentikasi ulang perangkat tersebut.
Default:
2500 cloudRequestQueueSize-
(Opsional) Jumlah maksimum AWS Cloud permintaan untuk mengantri sebelum komponen ini menolak permintaan.
Default:
100 maxConcurrentCloudRequests-
(Opsional) Jumlah maksimum permintaan bersamaan untuk dikirim ke AWS Cloud. Anda dapat meningkatkan jumlah ini untuk meningkatkan kinerja otentikasi pada perangkat inti tempat Anda menghubungkan sejumlah besar perangkat klien.
Default:
1
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Konfigurasi contoh berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.1.x
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
certificates-
(Opsional) Opsi konfigurasi sertifikat untuk perangkat inti ini. Objek ini berisi informasi berikut:
serverCertificateValiditySeconds-
(Opsional) Jumlah waktu (dalam detik) setelah sertifikat server MQTT lokal berakhir. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat server MQTT lokal 24 jam sebelum kedaluwarsa. Broker MQTT, seperti komponen broker Moquette MQTT, menghasilkan sertifikat baru dan memulai ulang. Ketika ini terjadi, semua perangkat klien yang terhubung ke perangkat inti ini terputus. Perangkat klien dapat terhubung kembali ke perangkat inti setelah periode waktu yang singkat.
Default:
604800(7 hari)Nilai minimum:
172800(2 hari)Nilai maksimum:
864000(10 hari)
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Konfigurasi contoh berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.0.x
-
deviceGroups-
Grup perangkat adalah grup perangkat klien yang memiliki izin untuk menyambung dan berkomunikasi dengan perangkat inti. Gunakan aturan pemilihan untuk mengidentifikasi grup perangkat klien, dan tentukan kebijakan otorisasi perangkat klien yang menentukan izin untuk setiap grup perangkat.
Objek ini berisi informasi berikut:
formatVersion-
Versi format untuk objek konfigurasi ini.
Pilih dari salah satu pilihan berikut:
-
2021-03-05
-
definitions-
grup perangkat untuk perangkat inti ini. Setiap definisi menentukan aturan pemilihan untuk mengevaluasi apakah perangkat klien adalah anggota grup. Setiap definisi juga menentukan kebijakan izin untuk diterapkan ke perangkat klien yang cocok dengan aturan pemilihan. Jika perangkat klien adalah anggota dari beberapa grup perangkat, izin perangkat terdiri dari kebijakan izin masing-masing grup.
Objek ini berisi informasi berikut:
groupNameKey-
Nama grup perangkat ini. Ganti
groupNameKeydengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule-
Kueri yang menentukan perangkat klien mana yang merupakan anggota grup perangkat ini. Ketika perangkat klien terhubung, perangkat inti mengevaluasi aturan pemilihan ini untuk menentukan apakah perangkat klien adalah anggota grup perangkat ini. Jika perangkat klien adalah anggota, perangkat inti akan menggunakan kebijakan grup perangkat ini untuk mengotorisasi tindakan perangkat klien.
Setiap aturan pemilihan terdiri dari setidaknya satu kla usa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat cocok dengan perangkat klien. Aturan seleksi menggunakan sintaks kueri yang sama dengan pengindeksan AWS IoT armada. Untuk informasi selengkapnya tentang sintaks aturan pemilihan, lihat sintaks kueri pengindeksan AWS IoT armada di Panduan Peng AWS IoT Core embang.
Gunakan wildcard
*untuk mencocokkan beberapa perangkat klien dengan satu pilihan klausul aturan. Anda dapat menggunakan wildcard ini di akhir nama objek untuk mencocokkan perangkat klien yang namanya dimulai dengan string yang Anda tentukan. Anda juga dapat menggunakan wildcard ini untuk mencocokkan semua perangkat klien.catatan
Untuk memilih nilai yang berisi karakter titik dua (
:), lepaskan titik dua dengan karakter garis miring terbalik (\\). Dalam format seperti JSON, Anda harus melepaskan karakter ris miring terbalik, sehingga Anda memasukkan dua karakter ris miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1untuk memilih objek yang namanyaMyTeam:ClientDevice1.Anda dapat menentukan sebagai berikut:
-
thingName— Nama objek AWS IoT perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1atauMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2contoh Contoh aturan seleksi (gunakan wildcard)
Aturan seleksi berikut cocok dengan perangkat klien yang namanya dimulai dengan
MyClientDevice.thingName: MyClientDevice*contoh Contoh aturan pemilihan (cocok dengan semua perangkat)
Aturan seleksi berikut cocok dengan semua perangkat klien.
thingName: * -
policyName-
Kebijakan izin yang berlaku untuk perangkat klien dalam grup perangkat ini. Tentukan nama kebijakan yang Anda tetapkan di objek
policies.
policies-
Kebijakan otorisasi perangkat klien untuk perangkat klien yang terhubung ke perangkat inti. Setiap kebijakan otorisasi menentukan serangkaian tindakan dan sumber daya tempat perangkat klien dapat melakukan tindakan tersebut.
Objek ini berisi informasi berikut:
policyNameKey-
Nama kebijakan otorisasi ini. Ganti
policyNameKeydengan nama yang membantu Anda mengidentifikasi kebijakan otorisasi ini. Anda menggunakan nama kebijakan ini untuk menentukan kebijakan yang berlaku untuk grup perangkat.Objek ini berisi informasi berikut:
statementNameKey-
Nama pernyataan kebijakan ini. Ganti
statementNameKeydengan nama yang membantu Anda mengidentifikasi pernyataan kebijakan ini.Objek ini berisi informasi berikut:
operations-
Daftar operasi untuk mengizinkan sumber daya dalam kebijakan ini.
Anda dapat menyertakan salah satu dari operasi berikut:
-
mqtt:connect— Memberikan izin untuk terhubung ke perangkat inti. Perangkat klien harus memiliki izin ini untuk menyambung ke perangkat inti.Operasi ini mendukung sumber daya berikut:
-
mqtt:clientId:— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke broker MQTT perangkat inti. GantideviceClientIddeviceClientIddengan ID klien yang akan digunakan.
-
-
mqtt:publish— Memberikan izin untuk mempublikasikan pesan MQTT ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicmqttTopicdengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard topik MQTT.
-
-
mqtt:subscribe— Memberikan izin untuk berlangganan filter topik MQTT untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:— Membatasi akses berdasarkan topik MQTT di mana perangkat klien menerbitkan pesan. GantimqttTopicFiltermqttTopicFilterdengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard topik MQTT
+dan#. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .Perangkat klien dapat berlangganan filter topik yang tepat yang Anda izinkan. Misalnya, jika Anda mengizinkan perangkat klien untuk berlangganan sumber daya
mqtt:topicfilter:client/+/status, perangkat klien dapat berlanggananclient/+/statustetapi bukanclient/client1/status.
-
Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua tindakan. -
resources-
Daftar operasi yang akan mengizinkan sumber daya dalam kebijakan ini. Tentukan sumber daya yang sesuai dengan operasi dalam kebijakan ini. Misalnya, Anda dapat menentukan daftar sumber daya topik MQTT (
mqtt:topic:) dalam kebijakan yang menentukan operasimqttTopicmqtt:publish.Anda dapat menentukan wildcard
*untuk mengizinkan akses ke semua sumber daya. Anda tidak dapat menggunakan wildcard*untuk mencocokkan pengidentifikasi sumber daya parsial. Misalnya, Anda dapat menentukan"resources": "*", tetapi Anda tidak dapat menentukan"resources": "mqtt:clientId:*". statementDescription-
(Opsional) Deskripsi untuk pernyataan kebijakan ini.
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Konfigurasi contoh berikut menentukan untuk mengizinkan perangkat klien yang namanya dimulai dengan
MyClientDeviceuntuk terhubung dan publish/subscribe pada semua topik.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan permisif)
Konfigurasi contoh berikut menentukan untuk mengizinkan semua perangkat klien untuk terhubung dan publish/subscribe pada semua topik.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
File log lokal
Komponen ini menggunakan file log yang sama dengan komponen inti Greengrass.
- Linux
-
/logs/greengrass.log/greengrass/v2 - Windows
-
C:\greengrass\v2\logs\greengrass.log
Untuk melihat log komponen ini
-
Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti
atau/greengrass/v2C:\greengrass\v2dengan jalur ke folder AWS IoT Greengrass root.- Linux
-
sudo tail -f/logs/greengrass.log/greengrass/v2 - Windows (PowerShell)
-
Get-ContentC:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Changelog
Tabel berikut menjelaskan perubahan dalam setiap versi komponen.
|
Versi |
Perubahan |
|---|---|
|
2.5.7 |
Memperbarui versi komponen untuk rilis inti Greengrass versi 2.18.0. |
|
2.5.6 |
Memperbarui versi komponen untuk rilis inti Greengrass versi 2.17.0. |
|
2.5.5 |
Versi diperbarui untuk Greengrass nucleus versi 2.16.0 rilis. |
|
2.5.4 |
Versi diperbarui untuk Greengrass nucleus versi 2.15.0 rilis. |
|
2.5.3 |
|
|
2.5.2 |
Versi diperbarui untuk Greengrass nucleus versi 2.14.0 rilis. |
|
2.5.1 |
|
|
2.5.0 |
|
|
2.4.5 |
|
|
2.4.4 |
Versi diperbarui untuk Greengrass nucleus versi 2.12.0 rilis. |
|
2.4.3 |
Versi diperbarui untuk Greengrass nucleus versi 2.11.0 rilis. |
|
2.4.2 |
|
|
2.4.1 |
Versi diperbarui untuk Greengrass nucleus versi 2.10.0 rilis. |
|
2.4.0 |
|
|
2.3.2 |
|
|
2.3.1 |
|
|
2.3.0 |
AwasVersi ini tidak lagi tersedia. Perbaikan dalam versi ini tersedia di versi komponen ini yang lebih baru. Fitur baru
|
|
2.2.3 |
Versi diperbarui untuk Greengrass nucleus versi 2.8.0 rilis. |
|
2.2.2 |
|
|
2.2.1 |
Versi diperbarui untuk Greengrass nucleus versi 2.7.0 rilis. |
|
2.2.0 |
|
|
2.1.0 |
|
|
2.0.4 |
Versi diperbarui untuk Greengrass nucleus versi 2.5.0 rilis. |
|
2.0.3 |
|
|
2.0.2 |
Versi diperbarui untuk Greengrass nucleus versi 2.4.0 rilis. |
|
2.0.1 |
Versi yang diperbarui untuk rilis inti Greengrass versi 2.3.0. |
|
2.0.0 |
Versi awal. |