Auth perangkat klien - AWS IoT Greengrass

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:ListClientDevicesAssociatedWithCoreDeviceuntuk 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

iot.region.amazonaws.com

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 tersebut. Pada halaman detail komponen, cari daftar Dependensi.

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, tentukan thingName: MyTeam\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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 denganMyClientDevice.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan mqtt:publish operasi.

Anda dapat menentukan * wildcard di mana saja dalam variabel sumber daya untuk memungkinkan akses ke semua sumber daya. Misalnya, Anda dapat menentukan mqtt: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 bidang certificateUri 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 stringtopic.

{ "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, tentukan thingName: MyTeam\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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 denganMyClientDevice.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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 bidang certificateUri 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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 bidang certificateUri 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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, tentukan thingName: MyTeam\\\\:ClientDevice1 untuk memilih objek yang namanya MyTeam: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 atau MyClientDevice2.

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:deviceClientId— Batasi akses berdasarkan ID klien yang digunakan perangkat klien untuk terhubung ke MQTT broker perangkat inti. Ganti 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:mqttTopic— Batasi akses berdasarkan MQTT topik di mana perangkat klien menerbitkan pesan. Ganti 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:mqttTopicFilter— Batasi akses berdasarkan MQTT topik di mana perangkat klien dapat berlangganan pesan. Ganti 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 berlangganan client/+/status tetapi bukan client/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:mqttTopic) dalam kebijakan yang menentukan 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
/greengrass/v2/logs/greengrass.log
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 /greengrass/v2 atau C:\greengrass\v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    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

Perbaikan bug dan peningkatan
  • Mendukung FIPS titik akhir.

2.5.0

Fitur baru
  • Memungkinkan substitusi ${iot:Connection.Thing.ThingName} variabel untuk sumber daya kebijakan.

  • Mengizinkan sumber daya kebijakan dengan wildcard sepertimqtt:topic:my*.

2.4.5

Fitur baru

Menambahkan dukungan untuk awalan wildcard untuk memilih nama benda dengan parameter. selectionRule

Perbaikan bug dan peningkatan

Memperbaiki masalah saat sertifikat tidak diperbarui dengan informasi konektivitas baru dalam kasus tertentu.

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

Fitur baru

Menambahkan opsi startupTimeoutSeconds konfigurasi baru.

2.4.1

Versi diperbarui untuk Greengrass nucleus versi 2.10.0 rilis.

2.4.0

Fitur baru
  • Menambahkan dukungan untuk autentikasi perangkat klien untuk memancarkan metrik operasional yang akan diterbitkan oleh agen telemetri.

Perbaikan bug dan peningkatan
  • Memperbaiki masalah saat autentikasi perangkat klien membutuhkan waktu lebih dari 10 detik untuk memverifikasi identitas perangkat klien.

  • Peningkatan dan perbaikan kecil tambahan.

2.3.2

Perbaikan bug dan peningkatan
  • Menambahkan dukungan untuk caching informasi nama host sehingga komponen menghasilkan subjek sertifikat dengan benar saat di-restart saat offline.

2.3.1

Perbaikan bug dan peningkatan
  • Memperbaiki kebocoran memori.

2.3.0

Awas

Versi ini tidak lagi tersedia. Perbaikan dalam versi ini tersedia di versi yang lebih baru dari komponen ini.

Fitur baru

  • Menambahkan dukungan untuk otentikasi offline perangkat klien sehingga mereka dapat terus terhubung ke perangkat inti ketika perangkat inti tidak terhubung ke Internet.

  • Menambahkan dukungan untuk otoritas sertifikat yang disediakan pelanggan yang digunakan perangkat inti sebagai sertifikat root untuk menghasilkan sertifikat MQTT broker.

2.2.3

Versi diperbarui untuk Greengrass nucleus versi 2.8.0 rilis.

2.2.2

Perbaikan bug dan peningkatan
  • Memperbaiki masalah di mana sertifikat MQTT server lokal berputar lebih sering daripada yang dimaksudkan dalam skenario tertentu.

2.2.1

Versi diperbarui untuk Greengrass nucleus versi 2.7.0 rilis.

2.2.0

Fitur baru
  • Menambahkan dukungan untuk komponen kustom untuk memanggil operasi komunikasi interproses (IPC) untuk mengautentikasi dan mengotorisasi perangkat klien. Anda dapat menggunakan operasi ini dalam komponen MQTT broker khusus, misalnya. Untuk informasi selengkapnya, lihat IPC: Mengautentikasi dan mengotorisasi perangkat klien.

  • MenambahkanmaxActiveAuthTokens,cloudQueueSize, dan threadPoolSize opsi yang dapat Anda konfigurasikan untuk menyesuaikan kinerja komponen ini.

2.1.0

Fitur baru
  • Menambahkan serverCertificateValiditySeconds opsi yang dapat Anda konfigurasi untuk menyesuaikan ketika sertifikat server MQTT broker kedaluwarsa. Anda dapat mengonfigurasi sertifikat server untuk kedaluwarsa setelah 2 hingga 10 hari.

Perbaikan bug dan peningkatan
  • Memperbaiki masalah dengan cara komponen ini menangani pembaruan pengaturan ulang konfigurasi.

  • Memperbaiki masalah di mana sertifikat MQTT server lokal berputar lebih sering daripada yang dimaksudkan dalam skenario tertentu.

    Untuk menerapkan perbaikan ini, Anda juga harus menggunakan v2.1.0 atau yang lebih baru dari komponen broker Moquette MQTT.

  • Meningkatkan pesan yang dicatat oleh komponen ini saat memutar sertifikat.

  • Versi diperbarui untuk Greengrass nucleus versi 2.6.0 rilis.

2.0.4

Versi diperbarui untuk Greengrass nucleus versi 2.5.0 rilis.

2.0.3

Perbaikan bug dan peningkatan
  • Kredensi sekarang disegarkan jika Anda memutar kunci pribadi perangkat inti.

  • Pembaruan untuk membuat pesan log lebih jelas.

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.