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.
Authentification de l'appareil client
Le composant d'authentification du dispositif client (aws.greengrass.clientdevices.Auth) authentifie les dispositifs clients et autorise les actions des dispositifs clients.
Note
Les appareils clients sont des appareils IoT locaux qui se connectent à un appareil central Greengrass pour envoyer des messages MQTT et des données à traiter. Pour de plus amples informations, veuillez consulter Interagissez avec les appareils IoT locaux.
Rubriques
Versions
Note
La version 2.3.0 d'authentification des appareils clients n'est plus disponible. Nous vous recommandons vivement de passer à la version 2.3.1 ou ultérieure d'authentification des appareils clients.
Les versions de ce composant sont les suivantes :
-
2.5.x
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
Type
Ce composant est un composant de plug-in (aws.greengrass.plugin). Le noyau Greengrass exécute ce composant dans la même machine virtuelle Java (JVM) que le noyau. Le noyau redémarre lorsque vous modifiez la version de ce composant sur le périphérique principal.
Ce composant utilise le même fichier journal que le noyau Greengrass. Pour de plus amples informations, veuillez consulter AWS IoT Greengrass Journaux de surveillance.
Pour de plus amples informations, veuillez consulter Types de composant.
Système d’exploitation
Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
Linux
Windows
Exigences
Ce composant répond aux exigences suivantes :
-
Le rôle de service Greengrass doit être associé à votre rôle de service Compte AWS et autoriser cette
iot:DescribeCertificateautorisation. -
La AWS IoT politique de l'appareil principal doit autoriser les autorisations suivantes :
-
greengrass:GetConnectivityInfo, où les ressources incluent l'ARN du périphérique principal qui exécute ce composant -
greengrass:VerifyClientDeviceIoTCertificateAssociation, où les ressources incluent le nom de ressource Amazon (ARN) de chaque appareil client qui se connecte à l'appareil principal -
greengrass:VerifyClientDeviceIdentity -
greengrass:PutCertificateAuthorities -
iot:Publish, où les ressources incluent l'ARN de la rubrique MQTT suivante :-
$aws/things/coreDeviceThingName*-gci/shadow/get
-
-
iot:Subscribe, où les ressources incluent les ARN des filtres thématiques MQTT suivants :-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
-
iot:Receive, où les ressources incluent les ARN des sujets MQTT suivants :-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
Pour plus d’informations, consultez AWS IoT politiques relatives aux opérations du plan de données et AWS IoT Politique minimale de prise en charge des appareils clients.
-
-
(Facultatif) Pour utiliser l'authentification hors ligne, le rôle Gestion des identités et des accès AWS (IAM) utilisé par le AWS IoT Greengrass service doit contenir l'autorisation suivante :
-
greengrass:ListClientDevicesAssociatedWithCoreDevicepour permettre au périphérique principal de répertorier les clients pour une authentification hors ligne.
-
-
Le composant d'authentification de l'appareil client est pris en charge pour fonctionner dans un VPC. Pour déployer ce composant dans un VPC, les conditions suivantes sont requises.
-
Le composant d'authentification de l'appareil client doit être connecté à Amazon S3 AWS IoT data, à des AWS IoT informations d'identification et à Amazon S3.
-
Points de terminaison et ports
Ce composant doit être capable d'effectuer des requêtes sortantes vers les terminaux et les ports suivants, en plus des points de terminaison et des ports requis pour le fonctionnement de base. Pour de plus amples informations, veuillez consulter Autoriser le trafic des appareils via un proxy ou un pare-feu.
| Endpoint | Port | Obligatoire | Description |
|---|---|---|---|
|
|
443 | Oui |
Utilisé pour obtenir des informations sur les AWS IoT certificats d'objets. |
Dépendances
Lorsque vous déployez un composant, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances pour chaque version du composant dans la AWS IoT Greengrass console
- 2.5.5
-
Le tableau suivant répertorie les dépendances pour la version 2.5.5 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,17,0 Flexible - 2.5.4
-
Le tableau suivant répertorie les dépendances pour la version 2.5.4 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,16,0 Flexible - 2.5.2 – 2.5.3
-
Le tableau suivant répertorie les dépendances pour les versions 2.5.2 et 2.5.3 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,15,0 Flexible - 2.5.1
-
Le tableau suivant répertorie les dépendances pour la version 2.5.1 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,14,0 Flexible - 2.4.4 - 2.5.0
-
Le tableau suivant répertorie les dépendances pour la version 2.4.4 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,13,0 Flexible - 2.4.3
-
Le tableau suivant répertorie les dépendances pour la version 2.4.3 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,12,0 Flexible - 2.4.1 and 2.4.2
-
Le tableau suivant répertorie les dépendances pour les versions 2.4.1 et 2.4.2 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,11,0 Flexible - 2.3.0 – 2.4.0
-
Le tableau suivant répertorie les dépendances pour les versions 2.3.0 à 2.4.0 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,10,0 Flexible - 2.3.0
-
Le tableau suivant répertorie les dépendances pour la version 2.3.0 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,10,0 Flexible - 2.2.3
-
Le tableau suivant répertorie les dépendances pour la version 2.2.3 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > =2,6,0 <=2,9,0 Flexible - 2.2.2
-
Le tableau suivant répertorie les dépendances pour la version 2.2.2 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > =2,6,0 <=2,8,0 Flexible - 2.2.1
-
Le tableau suivant répertorie les dépendances pour la version 2.2.1 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,8,0 Flexible - 2.2.0
-
Le tableau suivant répertorie les dépendances pour la version 2.2.0 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,6,0 < 2,7,0 Flexible - 2.1.0
-
Le tableau suivant répertorie les dépendances pour la version 2.1.0 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,2,0 < 2,7,0 Flexible - 2.0.4
-
Le tableau suivant répertorie les dépendances de la version 2.0.4 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,2,0 < 2,6,0 Flexible - 2.0.2 and 2.0.3
-
Le tableau suivant répertorie les dépendances pour les versions 2.0.2 et 2.0.3 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,2,0 < 2,5,0 Flexible - 2.0.1
-
Le tableau suivant répertorie les dépendances pour la version 2.0.1 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,2,0 < 2,4,0 Flexible - 2.0.0
-
Le tableau suivant répertorie les dépendances pour la version 2.0.0 de ce composant.
Dépendance Versions compatibles Type de dépendance Noyau Greengrass > = 2,2,0 < 2,3,0 Flexible
Pour plus d'informations sur les dépendances des composants, consultez la référence des recettes des composants.
Configuration
Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.
Note
L'autorisation d'abonnement est évaluée lors d'une demande d'abonnement du client auprès du courtier MQTT local. Si l'autorisation d'abonnement existante du client est révoquée, le client ne pourra plus s'abonner à une rubrique. Il continuera toutefois à recevoir des messages provenant de sujets précédemment abonnés. Pour éviter ce comportement, le courtier MQTT local doit être redémarré après avoir révoqué l'autorisation d'abonnement afin de forcer la réautorisation des clients.
Pour le composant MQTT 5 broker (EMQX), mettez à jour la restartIdentifier configuration pour redémarrer le broker MQTT 5.
Pour le composant MQTT 3.1.1 broker (Moquette), il redémarre chaque semaine par défaut lorsque le certificat du serveur change, obligeant les clients à effectuer une nouvelle autorisation. Vous pouvez forcer un redémarrage soit en modifiant les informations de connectivité (adresses IP) du périphérique principal, soit en effectuant un déploiement pour supprimer le composant broker, puis le déployer à nouveau ultérieurement.
- v2.5.0 – 2.5.4
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client fait partie de ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique au début et à la fin du nom de l'objet pour faire correspondre les appareils clients dont les noms commencent ou se terminent par la chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom se termine par
MyClientDevice.thingName: *MyClientDeviceExemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
resources-
La liste des ressources permettant les opérations prévues dans cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique n'importe où dans la variable de ressource pour permettre l'accès à toutes les ressources. Par exemple, vous pouvez spécifiermqtt:topic:my*d'autoriser l'accès aux ressources correspondant à cette entrée.La variable de ressource suivante est prise en charge :
-
mqtt:topic:${iot:Connection.Thing.ThingName}Cela correspond au nom de l'élément du AWS IoT Core registre pour lequel la politique est évaluée. AWS IoT Core utilise le certificat présenté par l'appareil lors de son authentification pour déterminer l'é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.
-
statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique principal, sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
certificateAuthority-
(Facultatif) Options de configuration de l'autorité de certification pour remplacer l'autorité intermédiaire du périphérique principal par votre propre autorité de certification intermédiaire.
Note
Si vous configurez votre appareil principal Greengrass avec une autorité de certification (CA) personnalisée et que vous utilisez la même autorité de certification pour émettre des certificats d'appareil client, Greengrass contourne les contrôles de politique d'autorisation pour les opérations MQTT des appareils clients. Le composant d'authentification de l'appareil client fait entièrement confiance aux clients utilisant des certificats signés par l'autorité de certification pour laquelle il est configuré.
Pour limiter ce comportement lors de l'utilisation d'une autorité de certification personnalisée, créez et signez des appareils clients à l'aide d'une autorité de certification intermédiaire ou d'une autorité de certification différente, puis ajustez les
certificateChainUrichampscertificateUriet pour qu'ils pointent vers l'autorité de certification intermédiaire appropriée.Cet objet contient les informations suivantes.
- URI du certificat
-
Emplacement du certificat. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers un certificat stocké dans un module de sécurité matériel.
certificateChainUri-
Emplacement de la chaîne de certificats pour le périphérique principal CA. Il doit s'agir de la chaîne de certificats complète remontant à votre autorité de certification racine. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une chaîne de certificats stockée dans un module de sécurité matériel.
privateKeyUri-
Emplacement de la clé privée de l'appareil principal. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une clé privée de certificat stockée dans un module de sécurité matériel.
security-
(Facultatif) Options de configuration de sécurité pour ce périphérique principal. Cet objet contient les informations suivantes.
clientDeviceTrustDurationMinutes-
Durée en minutes pendant laquelle les informations d'authentification d'un appareil client peuvent être fiables avant qu'il ne soit nécessaire de s'authentifier à nouveau auprès de l'appareil principal. La valeur par défaut est 1.
metrics-
(Facultatif) Les options de métriques pour cet appareil principal. Les mesures d'erreur ne s'afficheront qu'en cas d'erreur lors de l'authentification de l'appareil client. Cet objet contient les informations suivantes :
disableMetrics-
Si le
disableMetricschamp est défini comme suittrue, l'authentification de l'appareil client ne collectera pas de métriques.Valeur par défaut :
false aggregatePeriodSeconds-
Période d'agrégation en secondes qui détermine la fréquence à laquelle l'authentification de l'appareil client regroupe les métriques et les envoie à l'agent de télémétrie. Cela ne change pas la fréquence de publication des métriques, car l'agent de télémétrie les publie toujours une fois par jour.
Valeur par défaut :
3600
- démarrage TimeoutSeconds
-
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un
ERROREDétat supérieur à ce délai.Valeur par défaut :
120
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique de nom d'objet)
L'exemple de configuration suivant permet aux appareils clients de publier sur des sujets commençant par le nom de l'objet de l'appareil client et se terminant par une chaîne
topic.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "myThing": { "selectionRule": "thingName: *", "policyName": "MyThingNamePolicy" } }, "policies": { "MyThingNamePolicy": { "policyStatement": { "statementDescription": "mqtt publish", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic" ] } } } } } - v2.4.5
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique au début et à la fin du nom de l'objet pour faire correspondre les appareils clients dont les noms commencent ou se terminent par la chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom se termine par
MyClientDevice.thingName: *MyClientDeviceExemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique principal, sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
certificateAuthority-
(Facultatif) Options de configuration de l'autorité de certification pour remplacer l'autorité intermédiaire du périphérique principal par votre propre autorité de certification intermédiaire.
Note
Si vous configurez votre appareil principal Greengrass avec une autorité de certification (CA) personnalisée et que vous utilisez la même autorité de certification pour émettre des certificats d'appareil client, Greengrass contourne les contrôles de politique d'autorisation pour les opérations MQTT des appareils clients. Le composant d'authentification de l'appareil client fait entièrement confiance aux clients utilisant des certificats signés par l'autorité de certification pour laquelle il est configuré.
Pour limiter ce comportement lors de l'utilisation d'une autorité de certification personnalisée, créez et signez des appareils clients à l'aide d'une autorité de certification intermédiaire ou d'une autorité de certification différente, puis ajustez les
certificateChainUrichampscertificateUriet pour qu'ils pointent vers l'autorité de certification intermédiaire appropriée.Cet objet contient les informations suivantes.
- URI du certificat
-
Emplacement du certificat. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers un certificat stocké dans un module de sécurité matériel.
certificateChainUri-
Emplacement de la chaîne de certificats pour le périphérique principal CA. Il doit s'agir de la chaîne de certificats complète remontant à votre autorité de certification racine. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une chaîne de certificats stockée dans un module de sécurité matériel.
privateKeyUri-
Emplacement de la clé privée de l'appareil principal. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une clé privée de certificat stockée dans un module de sécurité matériel.
security-
(Facultatif) Options de configuration de sécurité pour ce périphérique principal. Cet objet contient les informations suivantes.
clientDeviceTrustDurationMinutes-
Durée en minutes pendant laquelle les informations d'authentification d'un appareil client peuvent être fiables avant qu'il ne soit nécessaire de s'authentifier à nouveau auprès de l'appareil principal. La valeur par défaut est 1.
metrics-
(Facultatif) Les options de métriques pour cet appareil principal. Les mesures d'erreur ne s'afficheront qu'en cas d'erreur lors de l'authentification de l'appareil client. Cet objet contient les informations suivantes :
disableMetrics-
Si le
disableMetricschamp est défini comme suittrue, l'authentification de l'appareil client ne collectera pas de métriques.Valeur par défaut :
false aggregatePeriodSeconds-
Période d'agrégation en secondes qui détermine la fréquence à laquelle l'authentification de l'appareil client regroupe les métriques et les envoie à l'agent de télémétrie. Cela ne change pas la fréquence de publication des métriques, car l'agent de télémétrie les publie toujours une fois par jour.
Valeur par défaut :
3600
- démarrage TimeoutSeconds
-
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un
ERROREDétat supérieur à ce délai.Valeur par défaut :
120
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.2 - v2.4.4
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client fait partie de ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après un court laps de temps.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique principal, sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
certificateAuthority-
(Facultatif) Options de configuration de l'autorité de certification pour remplacer l'autorité intermédiaire du périphérique principal par votre propre autorité de certification intermédiaire.
Note
Si vous configurez votre appareil principal Greengrass avec une autorité de certification (CA) personnalisée et que vous utilisez la même autorité de certification pour émettre des certificats d'appareil client, Greengrass contourne les contrôles de politique d'autorisation pour les opérations MQTT des appareils clients. Le composant d'authentification de l'appareil client fait entièrement confiance aux clients utilisant des certificats signés par l'autorité de certification pour laquelle il est configuré.
Pour limiter ce comportement lors de l'utilisation d'une autorité de certification personnalisée, créez et signez des appareils clients à l'aide d'une autorité de certification intermédiaire ou d'une autorité de certification différente, puis ajustez les
certificateChainUrichampscertificateUriet pour qu'ils pointent vers l'autorité de certification intermédiaire appropriée.Cet objet contient les informations suivantes.
- URI du certificat
-
Emplacement du certificat. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers un certificat stocké dans un module de sécurité matériel.
certificateChainUri-
Emplacement de la chaîne de certificats pour le périphérique principal CA. Il doit s'agir de la chaîne de certificats complète remontant à votre autorité de certification racine. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une chaîne de certificats stockée dans un module de sécurité matériel.
privateKeyUri-
Emplacement de la clé privée de l'appareil principal. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une clé privée de certificat stockée dans un module de sécurité matériel.
security-
(Facultatif) Options de configuration de sécurité pour ce périphérique principal. Cet objet contient les informations suivantes.
clientDeviceTrustDurationMinutes-
Durée en minutes pendant laquelle les informations d'authentification d'un appareil client peuvent être fiables avant qu'il ne soit nécessaire de s'authentifier à nouveau auprès de l'appareil principal. La valeur par défaut est 1.
metrics-
(Facultatif) Les options de métriques pour cet appareil principal. Les mesures d'erreur ne s'afficheront qu'en cas d'erreur lors de l'authentification de l'appareil client. Cet objet contient les informations suivantes :
disableMetrics-
Si le
disableMetricschamp est défini comme suittrue, l'authentification de l'appareil client ne collectera pas de métriques.Valeur par défaut :
false aggregatePeriodSeconds-
Période d'agrégation en secondes qui détermine la fréquence à laquelle l'authentification de l'appareil client regroupe les métriques et les envoie à l'agent de télémétrie. Cela ne change pas la fréquence de publication des métriques, car l'agent de télémétrie les publie toujours une fois par jour.
Valeur par défaut :
3600
- démarrage TimeoutSeconds
-
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un
ERROREDétat supérieur à ce délai.Valeur par défaut :
120
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.0 - v2.4.1
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique principal, sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
certificateAuthority-
(Facultatif) Options de configuration de l'autorité de certification pour remplacer l'autorité intermédiaire du périphérique principal par votre propre autorité de certification intermédiaire. Cet objet contient les informations suivantes.
Cet objet contient les informations suivantes :
- URI du certificat
-
Emplacement du certificat. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers un certificat stocké dans un module de sécurité matériel.
certificateChainUri-
Emplacement de la chaîne de certificats pour le périphérique principal CA. Il doit s'agir de la chaîne de certificats complète remontant à votre autorité de certification racine. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une chaîne de certificats stockée dans un module de sécurité matériel.
privateKeyUri-
Emplacement de la clé privée de l'appareil principal. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une clé privée de certificat stockée dans un module de sécurité matériel.
security-
(Facultatif) Options de configuration de sécurité pour ce périphérique principal. Cet objet contient les informations suivantes.
clientDeviceTrustDurationMinutes-
Durée en minutes pendant laquelle les informations d'authentification d'un appareil client peuvent être fiables avant qu'il ne soit nécessaire de s'authentifier à nouveau auprès de l'appareil principal. La valeur par défaut est 1.
metrics-
(Facultatif) Les options de métriques pour cet appareil principal. Les mesures d'erreur ne s'afficheront qu'en cas d'erreur lors de l'authentification de l'appareil client. Cet objet contient les informations suivantes :
disableMetrics-
Si le
disableMetricschamp est défini comme suittrue, l'authentification de l'appareil client ne collectera pas de métriques.Valeur par défaut :
false aggregatePeriodSeconds-
Période d'agrégation en secondes qui détermine la fréquence à laquelle l'authentification de l'appareil client regroupe les métriques et les envoie à l'agent de télémétrie. Cela ne change pas la fréquence de publication des métriques, car l'agent de télémétrie les publie toujours une fois par jour.
Valeur par défaut :
3600
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.3.x
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique cœur sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
certificateAuthority-
(Facultatif) Options de configuration de l'autorité de certification pour remplacer l'autorité intermédiaire du périphérique principal par votre propre autorité de certification intermédiaire. Cet objet contient les informations suivantes.
- URI du certificat
-
Emplacement du certificat. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers un certificat stocké dans un module de sécurité matériel.
certificateChainUri-
Emplacement de la chaîne de certificats pour le périphérique principal CA. Il doit s'agir de la chaîne de certificats complète remontant à votre autorité de certification racine. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une chaîne de certificats stockée dans un module de sécurité matériel.
privateKeyUri-
Emplacement de la clé privée de l'appareil principal. Il peut s'agir d'un URI de système de fichiers ou d'un URI qui pointe vers une clé privée de certificat stockée dans un module de sécurité matériel.
security-
(Facultatif) Options de configuration de sécurité pour ce périphérique principal. Cet objet contient les informations suivantes.
clientDeviceTrustDurationMinutes-
Durée en minutes pendant laquelle les informations d'authentification d'un appareil client peuvent être fiables avant qu'il ne soit nécessaire de s'authentifier à nouveau auprès du périphérique principal. La valeur par défaut est 1.
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.2.x
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
performance-
(Facultatif) Les options de configuration des performances pour ce périphérique principal. Cet objet contient les informations suivantes :
maxActiveAuthTokens-
(Facultatif) Le nombre maximum de jetons d'autorisation actifs sur l'appareil client. Vous pouvez augmenter ce nombre pour permettre à un plus grand nombre d'appareils clients de se connecter à un seul périphérique cœur sans les réauthentifier.
Valeur par défaut :
2500 cloudRequestQueueSize-
(Facultatif) Le nombre maximum de AWS Cloud demandes à mettre en file d'attente avant que ce composant ne rejette les demandes.
Valeur par défaut :
100 maxConcurrentCloudRequests-
(Facultatif) Le nombre maximum de demandes simultanées à envoyer au AWS Cloud. Vous pouvez augmenter ce nombre pour améliorer les performances d'authentification sur les appareils principaux auxquels vous connectez un grand nombre d'appareils clients.
Valeur par défaut :
1
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.1.x
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
certificates-
(Facultatif) Les options de configuration du certificat pour ce périphérique principal. Cet objet contient les informations suivantes :
serverCertificateValiditySeconds-
(Facultatif) Durée (en secondes) après laquelle le certificat du serveur MQTT local expire. Vous pouvez configurer cette option pour personnaliser la fréquence à laquelle les appareils clients se déconnectent et se reconnectent au périphérique principal.
Ce composant effectue une rotation du certificat du serveur MQTT local 24 heures avant son expiration. Le courtier MQTT, tel que le composant de courtier Moquette MQTT, génère un nouveau certificat et redémarre. Dans ce cas, tous les appareils clients connectés à cet appareil principal sont déconnectés. Les appareils clients peuvent se reconnecter à l'appareil principal après une courte période.
Par défaut :
604800(7 jours)Valeur minimale :
172800(2 jours)Valeur maximale :
864000(10 jours)
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.0.x
-
deviceGroups-
Les groupes d'appareils sont des groupes d'appareils clients autorisés à se connecter et à communiquer avec un appareil principal. Utilisez des règles de sélection pour identifier des groupes d'appareils clients et définissez des politiques d'autorisation des appareils clients qui spécifient les autorisations pour chaque groupe d'appareils.
Cet objet contient les informations suivantes :
formatVersion-
Version du format pour cet objet de configuration.
Sélectionnez l’une des options suivantes :
-
2021-03-05
-
definitions-
Les groupes de périphériques pour ce périphérique principal. Chaque définition spécifie une règle de sélection pour évaluer si un appareil client fait partie du groupe. Chaque définition spécifie également la politique d'autorisations à appliquer aux appareils clients qui correspondent à la règle de sélection. Si un appareil client est membre de plusieurs groupes d'appareils, les autorisations de l'appareil sont composées de la politique d'autorisations de chaque groupe.
Cet objet contient les informations suivantes :
groupNameKey-
Le nom de ce groupe d'appareils.
groupNameKeyRemplacez-le par un nom qui vous aide à identifier ce groupe d'appareils.Cet objet contient les informations suivantes :
selectionRule-
Requête qui spécifie quels appareils clients font partie de ce groupe d'appareils. Lorsqu'un dispositif client se connecte, le dispositif principal évalue cette règle de sélection pour déterminer si le dispositif client appartient à ce groupe d'appareils. Si l'appareil client est membre, le périphérique principal utilise la politique de ce groupe d'appareils pour autoriser les actions de l'appareil client.
Chaque règle de sélection comprend au moins une clause de règle de sélection, qui est une requête à expression unique pouvant correspondre à des dispositifs clients. Les règles de sélection utilisent la même syntaxe de requête que l'indexation des AWS IoT flottes. Pour plus d'informations sur la syntaxe des règles de sélection, consultez la section Syntaxe des requêtes d'indexation de AWS IoT flotte dans le Guide du AWS IoT Core développeur.
Utilisez le
*caractère générique pour associer plusieurs appareils clients à une clause de règle de sélection. Vous pouvez utiliser ce caractère générique à la fin du nom de l'objet pour faire correspondre les appareils clients dont le nom commence par une chaîne que vous avez spécifiée. Vous pouvez également utiliser ce caractère générique pour faire correspondre tous les appareils clients.Note
Pour sélectionner une valeur contenant deux points (
:), remplacez les deux points par une barre oblique inverse ()\\. Dans les formats tels que JSON, vous devez éviter les barres obliques inverses. Vous devez donc saisir deux barres obliques inverses avant le caractère deux-points. Par exemple, spécifiezthingName: MyTeam\\\\:ClientDevice1de sélectionner un objet dont le nom estMyTeam:ClientDevice1.Vous pouvez spécifier le sélecteur suivant :
-
thingName— Le nom de l'appareil d'un AWS IoT client.
Exemple Exemple de règle de sélection
La règle de sélection suivante correspond aux appareils clients dont le nom est
MyClientDevice1ouMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Exemple Exemple de règle de sélection (utiliser des caractères génériques)
La règle de sélection suivante correspond aux appareils clients dont le nom commence par
MyClientDevice.thingName: MyClientDevice*Exemple Exemple de règle de sélection (correspond à tous les appareils)
La règle de sélection suivante correspond à tous les appareils clients.
thingName: * -
policyName-
La politique d'autorisations qui s'applique aux appareils clients de ce groupe d'appareils. Spécifiez le nom d'une politique que vous définissez dans l'
policiesobjet.
policies-
Les politiques d'autorisation des appareils clients pour les appareils clients qui se connectent au périphérique principal. Chaque politique d'autorisation spécifie un ensemble d'actions et les ressources sur lesquelles un appareil client peut effectuer ces actions.
Cet objet contient les informations suivantes :
policyNameKey-
Le nom de cette politique d'autorisation.
policyNameKeyRemplacez-la par un nom qui vous aide à identifier cette politique d'autorisation. Vous utilisez ce nom de stratégie pour définir la stratégie qui s'applique à un groupe d'appareils.Cet objet contient les informations suivantes :
statementNameKey-
Le nom de cette déclaration de politique.
statementNameKeyRemplacez-le par un nom qui vous aide à identifier cette déclaration de politique.Cet objet contient les informations suivantes :
operations-
La liste des opérations permettant d'utiliser les ressources prévues dans cette politique.
Vous pouvez inclure l'une des opérations suivantes :
-
mqtt:connect— Autorise la connexion à l'appareil principal. Les appareils clients doivent disposer de cette autorisation pour se connecter à un appareil principal.Cette opération prend en charge les ressources suivantes :
-
mqtt:clientId:— Restreignez l'accès en fonction de l'ID client qu'un appareil client utilise pour se connecter au broker MQTT de l'appareil principal.deviceClientIddeviceClientIdRemplacez-le par l'ID client à utiliser.
-
-
mqtt:publish— Autorise la publication de messages MQTT sur des sujets.Cette opération prend en charge les ressources suivantes :
-
mqtt:topic:— Restreignez l'accès en fonction de la rubrique MQTT dans laquelle un appareil client publie un message.mqttTopicmqttTopicRemplacez-le par le sujet à utiliser.Cette ressource ne prend pas en charge les caractères génériques de rubrique MQTT.
-
-
mqtt:subscribe— Permet de s'abonner aux filtres thématiques MQTT pour recevoir des messages.Cette opération prend en charge les ressources suivantes :
-
mqtt:topicfilter:— Restreignez l'accès en fonction des sujets MQTT auxquels un appareil client peut s'abonner à des messages.mqttTopicFiltermqttTopicFilterRemplacez-le par le filtre thématique à utiliser.Cette ressource prend en charge les caractères génériques
+des#rubriques et MQTT. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.L'appareil client peut s'abonner exactement aux filtres thématiques que vous autorisez. Par exemple, si vous autorisez l'appareil client à s'abonner à la
mqtt:topicfilter:client/+/statusressource, il peut s'y abonnerclient/+/statusmais pasclient/client1/status.
-
Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les actions. -
resources-
La liste des ressources permettant les opérations prévues par cette politique. Spécifiez les ressources qui correspondent aux opérations de cette politique. Par exemple, vous pouvez spécifier une liste de ressources thématiques MQTT (
mqtt:topic:) dans une politique qui spécifie l'mqttTopicmqtt:publishopération.Vous pouvez spécifier le
*caractère générique pour autoriser l'accès à toutes les ressources. Vous ne pouvez pas utiliser le*caractère générique pour faire correspondre des identifiants de ressources partiels. Par exemple, vous pouvez spécifier"resources": "*", mais vous ne pouvez pas spécifier"resources": "mqtt:clientId:*". statementDescription-
(Facultatif) Description de cette déclaration de politique.
Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique restrictive)
L'exemple de configuration suivant spécifie d'autoriser les appareils clients dont le nom commence par
MyClientDeviceà se connecter et ce, publish/subscribe sur tous les sujets.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Exemple Exemple : mise à jour de la fusion de configurations (à l'aide d'une politique permissive)
L'exemple de configuration suivant spécifie d'autoriser tous les appareils clients à se connecter et ce, publish/subscribe sur tous les sujets.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
Fichier journal local
Ce composant utilise le même fichier journal que le composant Greengrass Nucleus.
- Linux
-
/logs/greengrass.log/greengrass/v2 - Windows
-
C:\greengrass\v2\logs\greengrass.log
Pour afficher les journaux de ce composant
-
Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez
ou/greengrass/v2C:\greengrass\v2par le chemin du dossier AWS IoT Greengrass racine.- Linux
-
sudo tail -f/logs/greengrass.log/greengrass/v2 - Windows (PowerShell)
-
Get-ContentC:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
|
Version |
Modifications |
|---|---|
|
2.5.7 |
Met à jour la version du composant pour la version 2.18.0 de Greengrass Nucleus. |
|
2.5.6 |
Met à jour la version du composant pour la version 2.17.0 de Greengrass Nucleus. |
|
2.5.5 |
Version mise à jour pour la version 2.16.0 de Greengrass Nucleus. |
|
2,5.4 |
Version mise à jour pour la version 2.15.0 de Greengrass Nucleus. |
|
2.5.3 |
|
|
2.5.2 |
Version mise à jour pour la version 2.14.0 de Greengrass Nucleus. |
|
2.5.1 |
|
|
2.5.0 |
|
|
2.4.5 |
|
|
2.4.4 |
Version mise à jour pour la version 2.12.0 de Greengrass Nucleus. |
|
2.4.3 |
Version mise à jour pour la version 2.11.0 de Greengrass Nucleus. |
|
2.4.2 |
|
|
2.4.1 |
Version mise à jour pour la version 2.10.0 de Greengrass Nucleus. |
|
2.4.0 |
|
|
2.3.2 |
|
|
2.3.1 |
|
|
2.3.0 |
AvertissementCette version n'est plus disponible. Les améliorations apportées à cette version sont disponibles dans les versions ultérieures de ce composant. Nouvelles fonctionnalités
|
|
2.2.3 |
Version mise à jour pour la version 2.8.0 de Greengrass Nucleus. |
|
2.2.2 |
|
|
2.2.1 |
Version mise à jour pour la version 2.7.0 de Greengrass Nucleus. |
|
2.2.0 |
|
|
2.1.0 |
|
|
2.0.4 |
Version mise à jour pour la version 2.5.0 de Greengrass Nucleus. |
|
2.0.3 |
|
|
2.0.2 |
Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. |
|
2.0.1 |
Version mise à jour pour la version 2.3.0 de Greengrass Nucleus. |
|
2.0.0 |
Première version. |