Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan variabel kebijakan sertifikat X.509

Mode fokus
Menggunakan variabel kebijakan sertifikat X.509 - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Topik ini memberikan rincian tentang cara menggunakan variabel kebijakan sertifikat. Variabel kebijakan sertifikat X.509 sangat penting saat Anda membuat AWS IoT Core kebijakan yang memberikan izin berdasarkan atribut sertifikat X.509. Jika sertifikat X.509 Anda tidak menyertakan atribut sertifikat tertentu tetapi variabel kebijakan sertifikat terkait digunakan dalam dokumen kebijakan Anda, evaluasi kebijakan dapat menyebabkan perilaku yang tidak terduga. Ini karena variabel kebijakan yang hilang tidak dievaluasi dalam pernyataan kebijakan.

Contoh sertifikat X.509

Sertifikat X.509 yang khas mungkin muncul sebagai berikut. Sertifikat contoh ini mencakup atribut sertifikat. Selama evaluasi AWS IoT Core kebijakan, atribut sertifikat berikut akan diisi sebagai variabel kebijakan sertifikat:Serial Number,,Issuer, SubjectX509v3 Issuer Alternative Name, danX509v3 Subject Alternative Name.

Certificate: Data: Version: 3 (0x2) Serial Number: 92:12:85:cb:b7:a5:e0:86 Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, O=IoT Devices, OU=SmartHome, ST=WA, CN=IoT Devices Primary CA, GN=Primary CA1/initials=XY/dnQualifier=Example corp, SN=SmartHome/ title=CA1/pseudonym=Primary_CA/generationQualifier=2/serialNumber=987 Validity Not Before: Mar 26 03:25:40 2024 GMT Not After : Apr 28 03:25:40 2025 GMT Subject: C=US, O=IoT Devices, OU=LightBulb, ST=NY, CN=LightBulb Device Cert, GN=Bulb/initials=ZZ/dnQualifier=Bulb001, SN=Multi Color/title=RGB/pseudonym=RGB Device/generationQualifier=4/serialNumber=123 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) Modulus: << REDACTED >> Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment X509v3 Subject Alternative Name: DNS:example.com, IP Address:1.2.3.4, URI:ResourceIdentifier001, email:device1@example.com, DirName:/C=US/O=IoT/OU=SmartHome/CN=LightBulbCert X509v3 Issuer Alternative Name: DNS:issuer.com, IP Address:5.6.7.8, URI:PrimarySignerCA, email:primary@issuer.com, DirName:/C=US/O=Issuer/OU=IoT Devices/CN=Primary Issuer CA Signature Algorithm: sha256WithRSAEncryption << REDACTED >>

Menggunakan atribut penerbit sertifikat sebagai variabel kebijakan sertifikat

Tabel berikut memberikan rincian tentang bagaimana atribut penerbit sertifikat akan diisi dalam kebijakan. AWS IoT Core

Atribut penerbit yang akan diisi dalam kebijakan
Atribut penerbit sertifikat Variabel kebijakan sertifikat
  • C = KAMI

  • O = Perangkat IoT

  • OU = SmartHome

  • ST=WA

  • CN = Perangkat IoT CA Utama

  • GN = primer CA1

  • inisiasi = XY

  • dnQualifier=Contoh corp

  • SN= SmartHome

  • judul = CA1

  • pseudonym=Primary_CA

  • generationQualifier=2

  • serialNumber=987

  • iot:Certificate.Issuer.Country = US

  • iot:Certificate.Issuer.Organization = IoT Devices

  • iot:Certificate.Issuer.OrganizationalUnit = SmartHome

  • iot:Certificate.Issuer.State = WA

  • iot:Certificate.Issuer.CommonName = IoT Devices Primary CA

  • iot:Certificate.Issuer.GivenName = Primary CA1

  • iot:Certificate.Issuer.initials = XY

  • iot:Certificate.Issuer.DistinguishedNameQualifier = Example corp

  • iot:Certificate.Issuer.Surname = SmartHome

  • iot:Certificate.Issuer.Title = CA1

  • iot:Certificate.Issuer.Pseudonym = Primary_CA

  • iot:Certificate.Issuer.GenerationQualifier = 2

  • iot:Certificate.Issuer.SerialNumber = 987

Menggunakan atribut subjek sertifikat sebagai variabel kebijakan sertifikat

Tabel berikut memberikan rincian tentang bagaimana atribut subjek sertifikat akan diisi dalam AWS IoT Core kebijakan.

Atribut subjek yang akan diisi dalam kebijakan
Atribut subjek sertifikat Variabel kebijakan sertifikat
  • C = KAMI

  • O = Perangkat IoT

  • ST=NY

  • CN = LightBulb Sertifikat Perangkat

  • GN = bohlam

  • inisial=Zz

  • dnQualifier=Bulb001

  • sn=Multi Warna

  • judul=RGB

  • Pseudonym=Perangkat RGB

  • generationQualifier=4

  • serialNumber=123

  • iot:Certificate.Subject.Country = US

  • iot:Certificate.Subject.Organization = IoT Devices

  • iot:Certificate.Subject.State = NY

  • iot:Certificate.Subject.CommonName = LightBulb Device Cert

  • iot:Certificate.Subject.GivenName = Bulb

  • iot:Certificate.Subject.initials = ZZ

  • iot:Certificate.Subject.DistinguishedNameQualifier = Bulb001

  • iot:Certificate.Subject.Surname = Multi Color

  • iot:Certificate.Subject.Title = RGB

  • iot:Certificate.Subject.Pseudonym = RGB Device

  • iot:Certificate.Subject.GenerationQualifier = 4

  • iot:Certificate.Subject.SerialNumber = 123

Menggunakan atribut nama alternatif Penerbit sertifikat sebagai variabel kebijakan sertifikat

Tabel berikut memberikan rincian tentang bagaimana atribut nama alternatif penerbit sertifikat akan diisi dalam kebijakan. AWS IoT Core

Atribut nama alternatif penerbit yang akan diisi dalam kebijakan
Nama Alternatif Penerbit X509v3 Atribut dalam kebijakan
  • DNS:issuer.com

  • Alamat IP:5.6.7.8

  • JENIS: PrimarySigner CA

  • E-mail: primary@issuer.com

  • DirName:/C=US/O=Issuer/OU=IoT Devices/CN=Emiten Utama CA

  • iot:Certificate.Issuer.AlternativeName.DNSName = issuer.com

  • iot:Certificate.Issuer.AlternativeName.IPAddress = 5.6.7.8

  • iot:Certificate.Issuer.AlternativeName.UniformResourceIdentifier = PrimarySignerCA

  • iot:Certificate.Issuer.AlternativeName.RFC822Name = primary@issuer.com

  • iot:Certificate.Issuer.AlternativeName.DirectoryName = cn=Primary Issuer CA,ou=IoT Devices,o=Issuer,c=US

Menggunakan atribut nama alternatif subjek sertifikat sebagai variabel kebijakan sertifikat

Tabel berikut memberikan rincian tentang bagaimana atribut nama alternatif subjek sertifikat akan diisi dalam AWS IoT Core kebijakan.

Atribut nama alternatif subjek yang akan diisi dalam kebijakan
X509v3 Nama Alternatif Subjek Atribut dalam kebijakan
  • DNS:example.com

  • Alamat IP:1.2.3.4

  • JENIS: ResourceIdentifier 001

  • E-mail: device1@example.com

  • DirName:/C=US/O=IoT/OU=SmartHome/CN=LightBulbCert

  • iot:Certificate.Subject.AlternativeName.DNSName = example.com

  • iot:Certificate.Subject.AlternativeName.IPAddress = 1.2.3.4

  • iot:Certificate.Subject.AlternativeName.UniformResourceIdentifier = ResourceIdentifier001

  • iot:Certificate.Subject.AlternativeName.RFC822Name = device1@example.com

  • iot:Certificate.Subject.AlternativeName.DirectoryName = cn=LightBulbCert,ou=SmartHome,o=IoT,c=US

Menggunakan atribut sertifikat lain sebagai variabel kebijakan sertifikat

Tabel berikut memberikan rincian tentang bagaimana atribut sertifikat lainnya akan diisi dalam AWS IoT Core kebijakan.

Atribut lain yang akan diisi dalam kebijakan
Atribut sertifikat lainnya Variabel kebijakan sertifikat

Serial Number: 92:12:85:cb:b7:a5:e0:86

iot:Certificate.SerialNumber = 10525622389124227206

X.509 Keterbatasan variabel kebijakan sertifikat

Batasan berikut berlaku untuk variabel kebijakan sertifikat X.509:

Variabel kebijakan yang hilang

Jika sertifikat X.509 Anda tidak menyertakan atribut sertifikat tertentu tetapi variabel kebijakan sertifikat terkait digunakan dalam dokumen kebijakan Anda, evaluasi kebijakan dapat menyebabkan perilaku yang tidak terduga. Ini karena variabel kebijakan yang hilang tidak dievaluasi dalam pernyataan kebijakan.

SerialNumber Format sertifikat

AWS IoT Core memperlakukan nomor seri sertifikat sebagai representasi string dari bilangan bulat desimal. Misalnya, jika kebijakan hanya mengizinkan koneksi dengan ID Klien yang cocok dengan nomor seri sertifikat, ID klien harus berupa nomor seri dalam format desimal.

Wildcard

Jika karakter wildcard hadir dalam atribut sertifikat, variabel kebijakan tidak diganti dengan nilai atribut sertifikat. Ini akan meninggalkan ${policy-variable} teks dalam dokumen kebijakan. Hal ini dapat menyebabkan kegagalan otorisasi. Karakter wildcard berikut dapat digunakan:*,,$, +?, dan#.

Bidang array

Atribut sertifikat yang berisi array dibatasi hingga lima item. Item tambahan diabaikan.

Panjang tali

Semua nilai string dibatasi hingga 1024 karakter. Jika atribut sertifikat berisi string yang lebih panjang dari 1024 karakter, variabel kebijakan tidak diganti dengan nilai atribut sertifikat. Ini akan meninggalkan ${policy-variable} dokumen kebijakan. Hal ini dapat menyebabkan kegagalan otorisasi.

Karakter khusus

Setiap karakter khusus, seperti,,,",\,+, =<, > dan ; harus diawali dengan garis miring terbalik (\) bila digunakan dalam variabel kebijakan. Misalnya, Amazon Web Services O=Amazon.com Inc. L=Seattle ST=Washington C=US menjadi Amazon Web Service O\=Amazon.com Inc. L\=Seattle ST\=Washington C\=US.

Contoh kebijakan menggunakan variabel kebijakan sertifikat

Dokumen kebijakan berikut memungkinkan koneksi dengan ID klien yang cocok dengan nomor seri sertifikat dan penerbitan ke topik yang cocok dengan pola:${iot:Certificate.Subject.Organization}/device-stats/${iot:ClientId}/*.

penting

Jika sertifikat X.509 Anda tidak menyertakan atribut sertifikat tertentu tetapi variabel kebijakan sertifikat terkait digunakan dalam dokumen kebijakan Anda, evaluasi kebijakan dapat menyebabkan perilaku yang tidak terduga. Ini karena variabel kebijakan yang hilang tidak dievaluasi dalam pernyataan kebijakan. Misalnya, jika Anda melampirkan dokumen kebijakan berikut ke sertifikat yang tidak berisi iot:Certificate.Subject.Organization atribut, variabel kebijakan iot:Certificate.Subject.Organization sertifikat tidak akan diisi selama evaluasi kebijakan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Certificate.SerialNumber}" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.Organization}/device-stats/${iot:ClientId}/*" ] } ] }

Anda juga dapat menggunakan operator kondisi Null untuk memastikan bahwa variabel kebijakan sertifikat yang digunakan dalam kebijakan diisi selama evaluasi kebijakan. Dokumen kebijakan berikut mengizinkan iot:Connect sertifikat hanya jika terdapat atribut Nama umum Sertifikat Sertifikat dan Subjek Sertifikat.

Semua variabel kebijakan sertifikat memiliki nilai String, sehingga semua operator kondisi String didukung.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/*" ], "Condition": { "Null": { "iot:Certificate.SerialNumber": "false", "iot:Certificate.Subject.CommonName": "false" } } } ] }
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.