View a markdown version of this page

Beispiele für die Zertifikatrichtlinie - AWS IoT Core

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele für die Zertifikatrichtlinie

Für Geräte, die in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis, AWS IoT Core mit einer Client-ID, die einem Objektnamen entspricht, eine Verbindung herzustellen und zu einem Thema zu veröffentlichen, dessen Name dem certificateId Zertifikat entspricht, mit dem sich das Gerät selbst authentifiziert hat:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }

Für Geräte, die nicht in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis, eine Verbindung AWS IoT Core mit Client-IDsclient1,client2, und herzustellen client3 und Beiträge zu einem Thema zu veröffentlichen, dessen Name dem certificateId Zertifikat entspricht, mit dem sich das Gerät authentifiziert hat:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }

Für Geräte, die in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis, eine Verbindung AWS IoT Core mit einer Client-ID herzustellen, die dem Objektnamen entspricht, und zu einem Thema zu veröffentlichen, dessen Name dem CommonName Feld des Antragstellers des Zertifikats entspricht, mit dem sich das Gerät authentifiziert hat:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }
Anmerkung

In diesem Beispiel wird der Subject Common Name des Zertifikats als Topic-ID verwendet, mit der Annahme, dass der Subject Common Name für jedes registrierte Zertifikat eindeutig ist. Wenn die Zertifikate für mehrere Geräte gemeinsam genutzt werden, ist der gemeinsame Betreff-Name für alle Geräte, die dieses Zertifikat gemeinsam nutzen, identisch, sodass Veröffentlichungsrechte für dasselbe Thema von mehreren Geräten aus möglich sind (nicht empfohlen).

Für Geräte, die nicht in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis, eine Verbindung AWS IoT Core mit den Client-IDs client1client2,, client3 und herzustellen und zu einem Thema zu veröffentlichen, dessen Name dem CommonName Feld des Antragstellers des Zertifikats entspricht, mit dem sich das Gerät authentifiziert hat:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }
Anmerkung

In diesem Beispiel wird der Subject Common Name des Zertifikats als Topic-ID verwendet, mit der Annahme, dass der Subject Common Name für jedes registrierte Zertifikat eindeutig ist. Wenn die Zertifikate für mehrere Geräte gemeinsam genutzt werden, ist der gemeinsame Betreff-Name für alle Geräte, die dieses Zertifikat gemeinsam nutzen, identisch, sodass Veröffentlichungsrechte für dasselbe Thema von mehreren Geräten aus möglich sind (nicht empfohlen).

Für Geräte, die in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis, eine Verbindung AWS IoT Core mit einer Client-ID herzustellen, die dem Dingnamen entspricht, und zu einem Thema zu veröffentlichen, dessen Name vorangestellt ist, admin/ wenn das Subject.CommonName.2 Feld des Zertifikats, das zur Authentifizierung des Geräts verwendet wird, auf Folgendes gesetzt istAdministrator:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

Für Geräte, die nicht in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis client1client2, sich AWS IoT Core mit Client-IDs zu verbinden client3 und zu einem Thema zu veröffentlichen, dessen Name vorangestellt ist, admin/ wenn das Subject.CommonName.2 Feld des Zertifikats, das zur Authentifizierung des Geräts verwendet wird, auf Folgendes gesetzt istAdministrator:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

Für Geräte, die in der AWS IoT Core Registrierung registriert sind, ermöglicht die folgende Richtlinie einem Gerät, seinen Ding-Namen zu verwenden, um zu einem bestimmten Thema zu veröffentlichen, das aus dem admin/ folgenden besteht, ThingName wenn für das Zertifikat, das zur Authentifizierung des Geräts verwendet wird, eines der Subject.CommonName Felder auf gesetzt istAdministrator:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/${iot:Connection.Thing.ThingName}"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }

Für Geräte, die nicht in der AWS IoT Core Registrierung registriert sind, gewährt die folgende Richtlinie die Erlaubnis client1client2, sich AWS IoT Core mit Client-IDs zu verbinden client3 und das Thema zu veröffentlichen, admin wenn das zur Authentifizierung des Geräts verwendete Zertifikat auf eines der Subject.CommonName Felder gesetzt ist: Administrator

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }