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 dan data untuk diproses. MQTT Untuk informasi selengkapnya, lihat Berinteraksilah dengan perangkat IoT lokal.
Versi
catatan
Autentikasi 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.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 ini di Java Virtual Machine JVM () yang sama dengan nukleus. Nukleus dimulai ulang saat Anda mengubah versi komponen ini di 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:
-
Peran layanan Greengrass harus dikaitkan dengan Anda dan mengizinkan Akun AWS izin.
iot:DescribeCertificate
-
AWS IoT Kebijakan perangkat inti harus mengizinkan izin berikut:
-
greengrass:GetConnectivityInfo
, di mana sumber daya ARN menyertakan perangkat inti yang menjalankan komponen ini -
greengrass:VerifyClientDeviceIoTCertificateAssociation
, di mana sumber daya menyertakan Amazon Resource Name (ARN) dari setiap perangkat klien yang terhubung ke perangkat inti -
greengrass:VerifyClientDeviceIdentity
-
greengrass:PutCertificateAuthorities
-
iot:Publish
, di mana sumber daya termasuk ARN dari MQTT topik berikut:-
$aws/things/
coreDeviceThingName
*-gci/shadow/get
-
-
iot:Subscribe
, di mana sumber ARNs daya mencakup filter MQTT topik berikut:-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
-
iot:Receive
, di mana sumber daya mencakup MQTT topik-topik berikut: ARNs-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
Untuk informasi selengkapnya, silakan lihat Kebijakan AWS IoT untuk operasi bidang data dan Kebijakan AWS IoT 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:ListClientDevicesAssociatedWithCoreDevice
untuk mengaktifkan perangkat inti untuk daftar klien untuk otentikasi offline.
-
-
Komponen autentikasi perangkat klien didukung untuk berjalan di file. VPC Untuk menerapkan komponen ini di aVPC, berikut ini diperlukan.
-
Komponen autentikasi perangkat klien harus memiliki konektivitas ke AWS IoT data, AWS IoT Kredensyal, 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 | Wajib | Deskripsi |
---|---|---|---|
|
443 | Ya |
Digunakan untuk mendapatkan informasi tentang sertifikat AWS IoT barang. |
Dependensi
Saat Anda menerapkan komponen, gunakan AWS IoT Greengrass juga 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.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 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 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 MQTT broker lokal. Jika izin berlangganan klien yang ada dicabut, klien tidak akan lagi dapat berlangganan topik. Namun, itu akan terus menerima pesan dari topik berlangganan sebelumnya. Untuk mencegah perilaku ini, MQTT broker lokal harus dimulai kembali setelah mencabut izin berlangganan untuk memaksa otorisasi ulang klien.
Untuk komponen MQTT 5 broker (EMQX), perbarui restartIdentifier
konfigurasi untuk memulai kembali broker MQTT 5.
Untuk komponen broker MQTT 3.1.1 (Moquette), ia memulai 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) dari perangkat inti atau dengan membuat penyebaran untuk menghapus komponen broker dan kemudian menerapkannya lagi nanti.
- v2.5.0
-
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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\:ClientDevice1
untuk memilih objek yang namanyaMyTeam:ClientDevice1
.Anda dapat menentukan sebagai berikut:
-
thingName
— Nama AWS IoT benda perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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: *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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.Anda dapat menentukan
*
wildcard di mana saja dalam variabel sumber daya 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 benda dalam AWS IoT Core registri tempat kebijakan sedang dievaluasi. AWS IoT Core menggunakan sertifikat yang disajikan perangkat saat mengautentikasi untuk menentukan hal mana yang akan digunakan untuk memverifikasi koneksi. Variabel kebijakan ini hanya tersedia jika perangkat terhubung melalui MQTT atau MQTT melalui WebSocket protokol.
-
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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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 Anda dengan otoritas sertifikat khusus (CA) dan menggunakan CA yang sama untuk menerbitkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi perangkat klien. MQTT 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
certificateChainUri
bidangcertificateUri
dan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- certificateUri
-
Lokasi sertifikat. Ini bisa berupa sistem file URI 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 sistem file URI atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri
-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa sistem file URI 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 hitungan menit bahwa informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk mengautentikasi 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
disableMetrics
bidang disetel sebagaitrue
, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false
aggregatePeriodSeconds
-
Periode agregasi dalam hitungan detik yang menentukan seberapa sering autentikasi perangkat klien mengumpulkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik diterbitkan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startupTimeoutSeconds
-
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi
BROKEN
jika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 gabungan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\:ClientDevice1
untuk memilih objek yang namanyaMyTeam:ClientDevice1
.Anda dapat menentukan sebagai berikut:
-
thingName
— Nama AWS IoT benda perangkat klien.
contoh Contoh aturan pemilihan
Aturan seleksi berikut cocok dengan perangkat klien yang namanya
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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: *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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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 Anda dengan otoritas sertifikat khusus (CA) dan menggunakan CA yang sama untuk menerbitkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi perangkat klien. MQTT 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
certificateChainUri
bidangcertificateUri
dan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- certificateUri
-
Lokasi sertifikat. Ini bisa berupa sistem file URI 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 sistem file URI atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri
-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa sistem file URI 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 hitungan menit bahwa informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk mengautentikasi 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
disableMetrics
bidang disetel sebagaitrue
, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false
aggregatePeriodSeconds
-
Periode agregasi dalam hitungan detik yang menentukan seberapa sering autentikasi perangkat klien mengumpulkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik diterbitkan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startupTimeoutSeconds
-
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi
BROKEN
jika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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 Anda dengan otoritas sertifikat khusus (CA) dan menggunakan CA yang sama untuk menerbitkan sertifikat perangkat klien, Greengrass melewati pemeriksaan kebijakan otorisasi untuk operasi perangkat klien. MQTT 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
certificateChainUri
bidangcertificateUri
dan untuk menunjuk ke CA perantara yang benar.Objek ini berisi informasi berikut.
- certificateUri
-
Lokasi sertifikat. Ini bisa berupa sistem file URI 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 sistem file URI atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri
-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa sistem file URI 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 hitungan menit bahwa informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk mengautentikasi 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
disableMetrics
bidang disetel sebagaitrue
, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false
aggregatePeriodSeconds
-
Periode agregasi dalam hitungan detik yang menentukan seberapa sering autentikasi perangkat klien mengumpulkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik diterbitkan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
- startupTimeoutSeconds
-
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi
BROKEN
jika melebihi batas waktu ini.Default:
120
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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 sistem file URI 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 sistem file URI atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri
-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa sistem file URI 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 hitungan menit bahwa informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk mengautentikasi 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
disableMetrics
bidang disetel sebagaitrue
, autentikasi perangkat klien tidak akan mengumpulkan metrik.Default:
false
aggregatePeriodSeconds
-
Periode agregasi dalam hitungan detik yang menentukan seberapa sering autentikasi perangkat klien mengumpulkan metrik dan mengirimkannya ke agen telemetri. Ini tidak mengubah seberapa sering metrik diterbitkan karena agen telemetri masih menerbitkannya sekali sehari.
Default:
3600
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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 sistem file URI 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 sistem file URI atau URI yang menunjuk ke rantai sertifikat yang disimpan dalam modul keamanan perangkat keras.
privateKeyUri
-
Lokasi kunci pribadi perangkat inti. Ini bisa berupa sistem file URI 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 hitungan menit bahwa informasi otentikasi perangkat klien dapat dipercaya sebelum diperlukan untuk mengautentikasi ulang dengan perangkat inti. Nilai default adalah 1.
contoh Contoh: Pembaruan gabungan konfigurasi (menggunakan kebijakan yang ketat)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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 mereka.
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 angka 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)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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 MQTT server lokal kedaluwarsa. Anda dapat mengonfigurasi opsi ini untuk menyesuaikan seberapa sering perangkat klien memutuskan sambungan dan menyambung kembali ke perangkat inti.
Komponen ini memutar sertifikat MQTT server lokal 24 jam sebelum kedaluwarsa. MQTTPialang, seperti komponen MQTT broker Moquette, 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)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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 menentukan 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 yang akan 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
groupNameKey
dengan nama yang membantu Anda mengidentifikasi grup perangkat ini.Objek ini berisi informasi berikut:
selectionRule
-
Kueri yang menentukan perangkat klien mana yang menjadi anggota grup perangkat ini. Saat 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 klausa aturan pemilihan, yang merupakan kueri ekspresi tunggal yang dapat mencocokkan perangkat klien. Aturan pemilihan 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 Pengembang.AWS IoT Core
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 sepertiJSON, Anda harus melarikan diri dari karakter garis miring terbalik, sehingga Anda memasukkan dua karakter garis miring terbalik sebelum karakter titik dua. Sebagai contoh, tentukanthingName: MyTeam\\\\:ClientDevice1
untuk 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
MyClientDevice1
atauMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
contoh 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
policyNameKey
dengan 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
statementNameKey
dengan 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 MQTT broker perangkat inti. GantideviceClientId
deviceClientId
dengan ID klien yang akan digunakan.
-
-
mqtt:publish
— Memberikan izin untuk mempublikasikan MQTT pesan ke topik.Operasi ini mendukung sumber daya berikut:
-
mqtt:topic:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. GantimqttTopic
mqttTopic
dengan topik yang akan digunakan.Sumber daya ini tidak mendukung wildcard MQTT topik.
-
-
mqtt:subscribe
— Memberikan izin untuk berlangganan filter MQTT topik untuk menerima pesan.Operasi ini mendukung sumber daya berikut:
-
mqtt:topicfilter:
— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. GantimqttTopicFilter
mqttTopicFilter
dengan filter topik yang akan digunakan.Sumber daya ini mendukung wildcard
+
dan#
MQTT topik. Untuk informasi selengkapnya, lihat MQTTtopik di Panduan AWS IoT Core Pengembang.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/+/status
tetapi 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 resource MQTT topik (
mqtt:topic:
) dalam kebijakan yang menentukanmqttTopic
mqtt:publish
operasi.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)
Contoh konfigurasi berikut menentukan untuk memungkinkan perangkat klien yang namanya dimulai dengan
MyClientDevice
untuk menyambung dan mempublikasikan/berlangganan 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 memungkinkan semua perangkat klien untuk terhubung dan mempublikasikan/berlangganan 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": [ "*" ] } } } } }
Berkas 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/v2
C:\greengrass\v2
dengan jalur ke folder AWS IoT Greengrass root.- Linux
-
sudo tail -f
/logs/greengrass.log/greengrass/v2
- Windows (PowerShell)
-
Get-Content
C:\greengrass\v2
\logs\greengrass.log -Tail 10 -Wait
Changelog
Tabel berikut menjelaskan perubahan dalam setiap versi komponen.
Versi |
Perubahan |
---|---|
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 yang lebih baru dari komponen ini. 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. |