

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.

# Configurer des règles d'autorisation pour AWS IoT SiteWise Edge dans EMQX
<a name="authorization-rules-emqx-broker"></a>

EMQX prend en charge l'ajout de règles d'autorisation basées sur des identifiants tels que le nom d'utilisateur, l'adresse IP ou l'identifiant client. Cela est utile si vous souhaitez limiter le nombre d'applications externes se connectant à différentes opérations ou sujets.

**Topics**
+ [Configuration de l'autorisation à l'aide de la base de données intégrée sous Linux](add-auth-rules-database-emqx-broker-linux.md)
+ [Configuration de l'autorisation à l'aide de la base de données intégrée avec Windows](add-auth-rules-database-emqx-broker-windows.md)
+ [Mettre à jour la configuration de déploiement d'EMQX pour obtenir une autorisation](update-emqx-broker-authorization.md)
+ [Ajoutez des règles d'autorisation via le tableau de bord EMQX pour les utilisateurs](add-rules-emqx-broker.md)

# Configuration de l'autorisation à l'aide de la base de données intégrée sous Linux
<a name="add-auth-rules-database-emqx-broker-linux"></a>

Lorsque vous configurez des règles d'autorisation, il existe deux choix de configuration qui dépendent de la configuration de votre déploiement.
+ **Docker**— Si vous exécutez une Docker installation standard sansLitmus Edge, utilisez la configuration de la **passerelle Docker Bridge**. C'est généralement le cas lorsque vous n'avez déployé que AWS IoT SiteWise des composants.
+ **Litmus Edge**— Si vous l'avez Litmus Edge installé sur votre passerelle, utilisez la configuration du **Litmus Edgesous-réseau**.

**Note**  
Si vous configurez initialement la passerelle de Docker pont et que vous l'installez ultérieurementLitmus Edge, reconfigurez les règles d'autorisation à l'aide de l'option de Litmus Edge sous-réseau pour garantir une communication correcte entre tous les composants.

**Pour ajouter des règles d'autorisation de base**

1. Vérifiez que le broker EMQX est déployé et en cours d'exécution.

1. Démarrez une session shell sur votre hôte de passerelle.

------
#### [ Docker without Litmus Edge ]

   Pour une Docker installation standard sansLitmus Edge, exécutez :

   ```
   /greengrass/v2/bin/swe-emqx-cli acl init
   ```

------
#### [ Litmus Edge network subnet ]

   Si vous utilisezLitmus Edge, déterminez l'adresse IP du sous-réseau Litmus Edge :

   ```
   docker network inspect LitmusNetwork | grep IPAM -A9
   ```

   Notez la valeur du sous-réseau à partir de la sortie et exécutez la commande suivante. Remplacez `litmus_subnet_ip` par la valeur du sous-réseau de l'étape précédente.

   ```
   /greengrass/v2/bin/swe-emqx-cli acl init litmus_subnet_ip
   ```

------

   L'outil crée et applique automatiquement des règles d'autorisation pour autoriser les connexions entre l'adresse IP fournie et le courtier. Il permet d'accéder à tous les sujets. Cela inclut le collecteur IoT SiteWise OPC UA et l' SiteWise éditeur IoT.

1. Passez à [Mettre à jour la configuration de déploiement d'EMQX pour obtenir une autorisation](update-emqx-broker-authorization.md).

# Configuration de l'autorisation à l'aide de la base de données intégrée avec Windows
<a name="add-auth-rules-database-emqx-broker-windows"></a>

Cette section décrit la configuration des règles d'autorisation à l'aide de la base de données intégrée pour les déploiements Windows.

**Pour ajouter des règles d'autorisation de base**

1. Vérifiez que le broker EMQX est déployé et en cours d'exécution.

1. Exécutez l'outil AWS IoT SiteWise CLI EMQX : 

   ```
   C:\greengrass\v2\bin\swe-emqx-cli.ps1 acl init
   ```

   L'outil crée et applique automatiquement des règles ACL autorisant les connexions entre localhost (127.0.0.1) et le broker. Il permet d'accéder à tous les sujets. Cela inclut le collecteur IoT SiteWise OPC UA et l' SiteWise éditeur IoT.

1. Passez à [Mettre à jour la configuration de déploiement d'EMQX pour obtenir une autorisation](update-emqx-broker-authorization.md).

# Mettre à jour la configuration de déploiement d'EMQX pour obtenir une autorisation
<a name="update-emqx-broker-authorization"></a>

**Pour mettre à jour la configuration de déploiement d'EMQX à des fins d'autorisation**

1. <a name="sitewise-open-console"></a>Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dans le volet de navigation de gauche, choisissez **Edge gateway** dans la section **Edge**.

1. Choisissez la passerelle à configurer.

1. Dans la section **Configuration de la passerelle Edge**, copiez la valeur **principale de votre appareil Greengrass**. Conservez-le pour une utilisation ultérieure.

1. Ouvrez la [AWS IoT console](https://console.aws.amazon.com/iot/).

1. **Dans le menu de navigation de gauche, dans la section **Gérer**, choisissez **Greengrass devices**, puis Deployments.**

1. Recherchez la valeur principale de l'appareil que vous avez enregistrée précédemment et cliquez sur ce lien pour ouvrir le déploiement.

1. Cliquez sur le bouton déroulant **Actions**, puis sur **Réviser**.

1. Lisez le message qui s'affiche, puis choisissez **Revise le déploiement**. La page **Spécifier la cible** apparaît.

1. Choisissez **Next** jusqu'à ce que vous atteigniez l'étape **Configurer les composants**.

1. Sélectionnez le bouton `aws.greengrass.clientdevices.mqtt.EMQX` radio.

1. Cliquez sur le bouton **Configurer le composant**. Une page de configuration s'affiche pour le composant.

1. Sous **Mise à jour de la configuration**, choisissez **Rétablir la configuration par défaut pour la version du composant : 2.\$1. **\$1.

1. Collez le contenu suivant dans la section **Configuration pour fusionner** en fonction de votre système d'exploitation.

------
#### [ Linux ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "deny",
               "sources": [
                   {
                       "type": "built_in_database"
                   },
                   {
                       "type": "file",
                       "path": "data/authz/acl.conf"
                   }
               ]
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "dockerOptions": "-p 8883:8883 -p 127.0.0.1:1883:1883 -p 127.0.0.1:18083:18083 -v emqx-data:/opt/emqx/data -e EMQX_NODE__NAME=emqx@local",
       "requiresPrivilege": "true"
   }
   ```

------
#### [ Windows ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "deny",
               "sources": [
                   {
                       "type": "built_in_database"
                   },
                   {
                       "type": "file",
                       "path": "C:\\greengrass\\v2\\work\\aws.greengrass.clientdevices.mqtt.EMQX\\v2\\data\\authz\\acl.conf"
                   }
               ]
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "requiresPrivilege": "true"
   }
   ```

------

1. Choisissez **Confirmer**.

1. Choisissez **Next** jusqu'à ce que vous atteigniez l'étape de **révision**.

1. Choisissez **Déployer**.

**Note**  
À partir de ce moment, vous ne pouvez pas modifier le fichier ACL pour mettre à jour les règles d'autorisation. Vous pouvez également procéder [Ajoutez des règles d'autorisation via le tableau de bord EMQX pour les utilisateurs](add-rules-emqx-broker.md) après un déploiement réussi.

# Ajoutez des règles d'autorisation via le tableau de bord EMQX pour les utilisateurs
<a name="add-rules-emqx-broker"></a>

Vous pouvez ajouter ou mettre à jour des règles d'autorisation à l'aide du tableau de bord EMQX ou de l'outil AWS IoT SiteWise EMQX CLI. L'outil AWS IoT SiteWise EMQX CLI gère les autorisations à l'aide de la base de données intégrée d'EMQX.

**Note**  
L'ajout de règles d'autorisation est une étape de configuration avancée qui nécessite de comprendre les modèles de sujets MQTT et le contrôle d'accès. Pour plus d'informations sur la création de règles d'autorisation à l'aide de la base de données intégrée d'EMQX, consultez la section [Utiliser une base de données intégrée](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) dans la documentation *EMQX*.

**Note**  
Les instructions relatives à EMQX fournies sont fournies à titre de référence uniquement. Étant donné que la documentation et les fonctionnalités d'EMQX peuvent changer au fil du temps et que nous ne conservons pas leur documentation, nous vous recommandons de consulter la [documentation officielle d'EMQX](https://docs.emqx.com/en/emqx/latest/) pour obtenir les informations les plus récentes.

------
#### [ EMQX dashboard ]

Cette procédure montre comment ajouter des règles d'autorisation sur le tableau de bord EMQX.

Le tableau de bord EMQX n'est accessible que depuis l'hôte de la passerelle. Si vous essayez de vous connecter depuis l'extérieur de l'hôte de la passerelle, vous ne pouvez pas accéder au tableau de bord.

**Pour ajouter des règles d'autorisation à l'aide du tableau de bord EMQX**

1. Assurez-vous que vous vous trouvez dans l'hôte de la passerelle.

1. Ouvrez une fenêtre de navigateur et rendez-vous sur [http://localhost:18083/](http://localhost:18083/).

1. Connectez-vous au tableau de bord EMQX. Cette procédure suppose que vous avez remplacé vos informations de connexion par défaut par celles de votre choix. Pour plus d'informations sur la configuration initiale, consultez[Activer l'authentification par nom d'utilisateur et mot de passe](configure-emqx-broker.md#emqx-broker-username-password-auth).

1. Choisissez l'icône en forme de bouclier, puis **Autorisation** dans le menu déroulant.

1. Cliquez sur le bouton **Autorisations** sur la ligne de **base de données intégrée**. 

1. Dans la section Autorisation de base de données intégrée, ajoutez ou mettez à jour les règles d'autorisation utilisateur en fonction des besoins de votre entreprise. Pour plus d'informations sur la création de règles, consultez la section [Utiliser une base de données intégrée](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) dans la documentation *EMQX*.

------
#### [ AWS IoT SiteWise CLI tool using Linux ]

**Pour gérer les règles d'autorisation à l'aide de l'outil AWS IoT SiteWise CLI EMQX sous Linux :**
+ Ajoutez des règles d'autorisation pour un utilisateur en utilisant le format suivant :

  ```
  /greengrass/v2/bin/swe-emqx-cli auth add your-username your-action your-permission your-topic [your-action-permission-topic]
  ```

**Example Ajouter des règles d'autorisation pour un utilisateur**  
Cet exemple montre comment ajouter des règles pour un utilisateur nommé `system1` :  

```
/greengrass/v2/bin/swe-emqx-cli auth add system1 \
    publish allow "sensors/#" \
    subscribe allow "control/#" \
    all deny "#"
```

**Example : Afficher les règles d'autorisation d'un utilisateur**  
Pour consulter les règles d'autorisation des `system1` utilisateurs, exécutez la commande suivante :  

```
/greengrass/v2/bin/swe-emqx-cli auth list system1
```

**Example : Afficher toutes les règles d'autorisation existantes**  
Pour afficher toutes les règles d'autorisation dont vous disposez actuellement, exécutez la commande suivante :  

```
/greengrass/v2/bin/swe-emqx-cli auth list
```

**Example : Supprimer toutes les règles d'autorisation pour un utilisateur**  
Pour supprimer toutes les règles d'autorisation appliquées à un utilisateur en particulier, exécutez la commande suivante :  

```
/greengrass/v2/bin/swe-emqx-cli auth delete system1
```
Vous êtes invité à confirmer la suppression.

------
#### [ AWS IoT SiteWise CLI tool using Windows ]

**Pour gérer les règles d'autorisation à l'aide de l'outil AWS IoT SiteWise CLI EMQX dans : Windows PowerShell**
+ Ajoutez des règles d'autorisation pour un utilisateur en utilisant le format suivant :

  ```
  C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth add your-username your-action your-permission your-topic [your-action-permission-topic]
  ```

**Example : Ajouter des règles d'autorisation pour un utilisateur**  
Cet exemple montre comment ajouter des règles pour un utilisateur nommé `system1` :  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth add system1 `
    publish allow "sensors/#" `
    subscribe allow "control/#" `
    all deny "#"
```

**Example : Afficher les règles d'autorisation d'un utilisateur**  
Pour consulter les règles d'autorisation des `system1` utilisateurs, exécutez la commande suivante :  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth list system1
```

**Example : Afficher toutes les règles d'autorisation existantes**  
Pour afficher toutes les règles d'autorisation dont vous disposez actuellement, exécutez la commande suivante :  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth list
```

**Example : Supprimer toutes les règles d'autorisation pour un utilisateur**  
Pour supprimer toutes les règles d'autorisation appliquées à un utilisateur en particulier, exécutez la commande suivante :  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth delete system1
```
Vous êtes invité à confirmer la suppression.

------