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.
Les variables de politique d'objet vous permettent d'écrire des AWS IoT Core politiques qui accordent ou refusent des autorisations en fonction des propriétés des objets, telles que les noms des objets, les types d'objets et les valeurs des attributs des objets. Vous pouvez utiliser les variables de politique des objets pour appliquer la même politique afin de contrôler de nombreux AWS IoT Core appareils. Pour plus d'informations sur la mise en service des appareils, veuillez consulter Mise en service des appareils.
Si vous utilisez une association d'objets non exclusive, le même certificat peut être associé à plusieurs objets. Pour maintenir une association claire et éviter les conflits potentiels, vous devez associer votre identifiant client au nom de l'objet. Dans ce cas, vous obtenez le nom de l'objet à partir de l'ID du client dans le Connect
message MQTT envoyé lorsqu'un objet se connecte à AWS IoT Core.
Gardez ce qui suit à l'esprit lorsque vous utilisez des variables de stratégie d'objet dans les stratégies AWS IoT Core .
-
Utilisez l'AttachThingPrincipalAPI pour associer des certificats ou des principaux (identités Amazon Cognito authentifiées) à un objet.
-
Si une association d'objets non exclusive est en place, lorsque vous remplacez des noms d'objets par des variables de politique d'objets, la valeur de
clientId
dans le message de connexion MQTT ou dans la connexion TLS doit correspondre exactement au nom de l'objet.
Les variables de stratégie d'objet suivantes sont disponibles :
-
iot:Connection.Thing.ThingName
Cela correspond au nom de l'objet dans le AWS IoT Core registre pour lequel la politique est évaluée. AWS IoT Core utilise le certificat présenté par l'appareil lorsqu'il s'authentifie pour déterminer quel élément utiliser pour vérifier la connexion. Cette variable de politique n'est disponible que lorsqu'un appareil se connecte via MQTT ou MQTT via le WebSocket protocole.
-
iot:Connection.Thing.ThingTypeName
Cette variable est résolue en type d'objet associé à l'objet pour lequel la stratégie est évaluée. L'ID client de la WebSocket connexion MQTT/ doit être identique au nom de l'objet. Cette variable de politique n'est disponible que lors de la connexion via MQTT ou MQTT via le WebSocket protocole.
-
iot:Connection.Thing.Attributes[
attributeName
]Cette variable est résolue en valeur d'attribut spécifié associé à l'objet pour lequel la stratégie est évaluée. Un objet peut posséder jusqu'à 50 attributs. Chaque attribut est disponible en tant que variable de politique :
iot:Connection.Thing.Attributes[
oùattributeName
]attributeName
est le nom de l'attribut ? L'ID client de la WebSocket connexion MQTT/ doit être identique au nom de l'objet. Cette variable de politique n'est disponible que lors de la connexion via MQTT ou MQTT via le WebSocket protocole. -
iot:Connection.Thing.IsAttached
iot:Connection.Thing.IsAttached: ["true"]
impose que seuls les appareils enregistrés AWS IoT et attachés au principal puissent accéder aux autorisations définies dans la politique. Vous pouvez utiliser cette variable pour empêcher un appareil de se connecter AWS IoT Core s'il présente un certificat qui n'est pas associé à un objet IoT dans le AWS IoT Core registre. Cette variable contient des valeurstrue
oufalse
indique que l'objet de connexion est attaché au certificat ou à l'identité Amazon Cognito dans le registre à l'aide de l'API. AttachThingPrincipal Le nom de l'objet est pris comme identifiant client.
Si votre ID client correspond au nom de votre objet, ou si vous attachez votre certificat à un objet exclusivement, l'utilisation de variables de stratégie dans la définition de la stratégie peut simplifier la gestion des politiques. Au lieu de créer des politiques individuelles pour chaque objet IoT, vous pouvez définir une politique unique à l'aide des variables de politique de l'objet. Cette politique peut être appliquée de manière dynamique à tous les appareils. Voici un exemple de politique illustrant son fonctionnement. Pour de plus amples informations, veuillez consulter Associer un AWS IoT objet à une connexion client 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/*
"
}
]
}
Cet exemple de politique permet aux objets de se connecter AWS IoT Core si leur ID client se termine par la valeur de leur envType
attribut. Seuls les objets présentant un modèle d'ID client correspondant seront autorisés à se connecter.