Beispiel für die Verbinden-Richtlinie - 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.

Beispiel für die Verbinden-Richtlinie

Die folgende Richtlinie verweigert den Zugriff auf Client-IDs client1 und das Herstellen einer Verbindung client2 zu Client-IDs AWS IoT Core, ermöglicht aber Geräten, eine Verbindung über eine Client-ID herzustellen. Die Client-ID entspricht dem Namen einer Sache, die in der AWS IoT Core Registrierung registriert und dem Prinzipal zugeordnet ist, der für die Verbindung verwendet wird:

Anmerkung

Für registrierte Geräte empfehlen wir, Objektrichtlinienvariablen für Connect-Aktionen zu verwenden und das Objekt an den Prinzipal anzuhängen, der für die Verbindung verwendet wird.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2" ] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } } ] }

Die folgende Richtlinie erteilt die Erlaubnis, eine Verbindung AWS IoT Core mit der Client-ID herzustellenclient1. Dieses Richtlinienbeispiel bezieht sich auf nicht registrierte Geräte.

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

Richtlinienbeispiele für persistente MQTT-Sitzungen

connectAttributes ermöglichen es Ihnen, in Ihren IAM-Richtlinien PersistentConnect und LastWill anzugeben, welche Attribute Sie in Ihrer Connect-Meldung verwenden möchten. Weitere Informationen finden Sie unter ConnectAttributes verwenden.

Die folgende Richtlinie ermöglicht, eine Verbindung mit dem PersistentConnect-Feature herzustellen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

Die folgende Richtlinie untersagt PersistentConnect, andere Features hingegen sind erlaubt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringNotEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

Die oben genannte Richtlinie kann auch mit StringEquals ausgedrückt werden, sodass alle anderen Features, einschließlich neuer Features, zulässig sind:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

Die folgende Richtlinie erlaubt das Herstellen einer Verbindung über beide Methoden, PersistentConnect und LastWill. Alle anderen neue Features sind nicht erlaubt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect", "LastWill" ] } } } ] }

Die folgende Richtlinie ermöglicht eine nahtlose Verbindung von Clients mit oder ohne LastWill. Andere anderen Features sind nicht zulässig:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } } ] }

Die folgende Richtlinie erlaubt nur Verbindungen unter Verwendung von Standardfeatures:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [] } } } ] }

Die folgende Richtlinie erlaubt nur die Verbindung mit PersistentConnect. Jedes neue Feature ist zulässig, solange die Verbindung PersistentConnect verwendet:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

Die folgende Richtlinie besagt, dass die Verbindung sowohl PersistentConnect als auch LastWill verwendet werden muss. Neue Features sind nicht zulässig:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect", "LastWill" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [] } } } ] }

Die folgende Richtlinie darf PersistentConnect nicht verwenden, kann aber LastWill verwenden; alle anderen neuen Features sind nicht erlaubt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } } ] }

Die folgende Richtlinie erlaubt Verbindungen nur für Clients, die einen LastWill mit dem Topic "my/lastwill/topicName" haben; alle anderen Features sind erlaubt, solange sie das Topic LastWill verwenden:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ArnEquals": { "iot:LastWillTopic": "arn:aws:iot:region:account-id:topic/my/lastwill/topicName" } } } ] }

Die folgende Richtlinie erlaubt nur die Verbindung mit einem spezifischen LastWillTopic; andere Features sind zulässig, solange es das LastWillTopic verwendet:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "arn:aws:iot:us-east-1:123456789012:client/client1", "Condition": { "ArnEquals": { "iot:LastWillTopic": "arn:aws:iot:region:account-id:topic/my/lastwill/topicName" } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }