Exemples de stratégies de certificat - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de stratégies de certificat

Pour les appareils enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion à l' AWS IoT Core aide d'un ID client correspondant au nom d'un objet et la publication sur une rubrique dont le nom est égal à celui certificateId du certificat utilisé par l'appareil pour s'authentifier :

{ "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}"] } ] }

Pour les appareils non enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion AWS IoT Core avec le clientIDs, client1client2, client3 et la publication sur une rubrique dont le nom est égal à celui certificateId du certificat utilisé par l'appareil pour s'authentifier :

{ "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" ] } ] }

Pour les appareils enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion à l' AWS IoT Core aide d'un ID client correspondant au nom de l'objet et la publication dans une rubrique dont le nom est égal au CommonName champ du sujet du certificat utilisé par l'appareil pour s'authentifier :

{ "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}"] } ] }
Note

Dans cet exemple, le nom commun de l'objet du certificat est utilisé comme identifiant de rubrique, en supposant que le nom commun de l'objet est unique pour chaque certificat enregistré. Si les certificats sont partagés entre plusieurs appareils, le nom commun de l'objet est le même pour tous les appareils qui partagent ce certificat, ce qui autorise la publication dans la même rubrique à partir de plusieurs appareils (non recommandé).

Pour les appareils non enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion AWS IoT Core avec le client IDsclient1,client2, client3 et la publication sur une rubrique dont le nom est égal au CommonName champ du sujet du certificat utilisé par l'appareil pour s'authentifier :

{ "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" ] } ] }
Note

Dans cet exemple, le nom commun de l'objet du certificat est utilisé comme identifiant de rubrique, en supposant que le nom commun de l'objet est unique pour chaque certificat enregistré. Si les certificats sont partagés entre plusieurs appareils, le nom commun de l'objet est le même pour tous les appareils qui partagent ce certificat, ce qui autorise la publication dans la même rubrique à partir de plusieurs appareils (non recommandé).

Pour les appareils enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion à l' AWS IoT Core aide d'un ID client correspondant au nom de l'objet et la publication dans une rubrique dont le nom est préfixé admin/ lorsque le Subject.CommonName.2 champ du certificat utilisé pour authentifier l'appareil est défini sur : Administrator

{ "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" } } } ] }

Pour les appareils non enregistrés dans le AWS IoT Core registre, la politique suivante accorde l'autorisation de se connecter au AWS IoT Core client IDs client1 client3 et de publier sur une rubrique dont le nom est préfixé admin/ lorsque le Subject.CommonName.2 champ du certificat utilisé pour authentifier l'appareil est défini sur : client2 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": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

Pour les appareils enregistrés dans le AWS IoT Core registre, la politique suivante permet à un appareil d'utiliser son nom d'objet pour publier sur un sujet spécifique, admin/ suivi du ThingName moment où l'un des Subject.CommonName champs du certificat utilisé pour authentifier l'appareil est défini sur : Administrator

{ "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" } } } ] }

Pour les appareils non enregistrés dans le AWS IoT Core registre, la politique suivante autorise la connexion AWS IoT Core au client IDs client1 client3 et la publication dans la rubrique admin lorsque l'un des Subject.CommonName champs du certificat utilisé pour authentifier l'appareil est défini sur : client2 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" } } } ] }