Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Variabel kebijakan hal
Variabel kebijakan hal memungkinkan Anda menulis AWS IoT Core kebijakan yang memberikan atau menolak izin berdasarkan properti benda seperti nama benda, tipe benda, dan nilai atribut benda. Anda dapat menggunakan variabel kebijakan sesuatu untuk menerapkan kebijakan yang sama untuk mengontrol banyak AWS IoT Core perangkat. Untuk informasi selengkapnya tentang penyediaan perangkat, lihat Penyedi aan Perangkat.
Jika Anda menggunakan asosiasi benda non-eksklusif, sertifikat yang sama dapat dilampirkan ke beberapa hal. Untuk menjaga hubungan yang jelas dan untuk menghindari potensi konflik, Anda harus mencocokkan ID klien Anda dengan nama benda. Dalam hal ini, Anda mendapatkan nama benda dari ID klien dalam Connect pesan MQTT yang dikirim ketika sesuatu terhubung ke AWS IoT Core.
Ingatlah hal berikut saat menggunakan variabel kebijakan sesuatu dalam AWS IoT Core kebijakan.
-
Gunakan AttachThingPrincipal API untuk melampirkan sertifikat atau prinsipal (identitas Amazon Cognito yang diautentikasi) ke sesuatu.
-
Jika asosiasi benda non-eksklusif ada, saat Anda mengganti nama benda dengan variabel kebijakan benda, nilai
clientIddalam pesan koneksi MQTT atau koneksi TLS harus sama persis dengan nama benda.
Variabel kebijakan berikut tersedia:
-
iot:Connection.Thing.ThingNameIni menyelesaikan nama hal dalam AWS IoT Core registri yang kebijakan sedang dievaluasi. AWS IoT Core menggunakan sertifikat yang disajikan perangkat saat mengotentikasi untuk menentukan hal mana yang akan digunakan untuk memverifikasi koneksi. Variabel kebijakan ini hanya tersedia ketika perangkat terhubung melalui MQTT atau MQTT melalui protokol. WebSocket
-
iot:Connection.Thing.ThingTypeNameIni menyelesaikan jenis hal yang terkait dengan hal yang kebijakan sedang dievaluasi. ID klien MQTT/WebSocket koneksi harus sama dengan nama benda. Variabel kebijakan ini hanya tersedia saat menghubungkan melalui MQTT atau MQTT melalui protokol. WebSocket
-
iot:Connection.Thing.Attributes[attributeName]Ini menyelesaikan nilai atribut tertentu yang terkait dengan hal yang kebijakan sedang dievaluasi. Suatu hal dapat memiliki hingga 50 atribut. Setiap atribut tersedia sebagai variabel kebijakan:
iot:Connection.Thing.Attributes[attributeName]attributeNamedimana nama atribut. ID klien MQTT/WebSocket koneksi harus sama dengan nama benda. Variabel kebijakan ini hanya tersedia saat menghubungkan melalui MQTT atau MQTT melalui protokol. WebSocket -
iot:Connection.Thing.IsAttachediot:Connection.Thing.IsAttached: ["true"]menegakkan bahwa hanya perangkat yang terdaftar AWS IoT dan dilampirkan ke prinsipal yang dapat mengakses izin di dalam kebijakan. Anda dapat menggunakan variabel ini untuk mencegah perangkat terhubung AWS IoT Core jika menampilkan sertifikat yang tidak dilampirkan ke benda IoT di AWS IoT Core registri. Variabel ini memiliki nilaitrueataufalsemenunjukkan bahwa benda penghubung dilampirkan ke sertifikat atau identitas Amazon Cognito di registri menggunakan API. AttachThingPrincipal Nama benda diambil sebagai Id klien.
Jika ID klien Anda cocok dengan nama benda Anda, atau jika Anda melampirkan sertifikat ke sesuatu secara eksklusif, menggunakan variabel kebijakan dalam definisi kebijakan dapat menyederhanakan pengelolaan kebijakan. Alih-alih membuat kebijakan individual untuk setiap hal IoT, Anda dapat menentukan kebijakan tunggal menggunakan variabel kebijakan hal. Kebijakan ini dapat diterapkan ke semua perangkat secara dinamis. Berikut ini adalah contoh kebijakan untuk menunjukkan cara kerjanya. Untuk informasi selengkapnya, lihat Mengaitkan AWS IoT sesuatu dengan koneksi klien MQTT.
-
{ "Version":"2012-10-17", "Statement": [ { "Condition": { "StringLike": { "iot:ClientId": "*${iot:Connection.Thing.Attributes[envType]}" } }, "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:us-east-1:123456789012:client/*" } ] }
Contoh kebijakan ini memungkinkan hal-hal untuk terhubung AWS IoT Core jika ID klien mereka diakhiri dengan nilai envType atributnya. Hanya hal-hal dengan pola ID klien yang cocok yang diizinkan untuk terhubung.