

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Imposta le regole di autorizzazione per AWS IoT SiteWise Edge in EMQX
<a name="authorization-rules-emqx-broker"></a>

EMQX supporta l'aggiunta di regole di autorizzazione basate su identificatori come nome utente, indirizzo IP o ID client. Ciò è utile se si desidera limitare il numero di applicazioni esterne che si connettono a varie operazioni o argomenti.

**Topics**
+ [Configura l'autorizzazione utilizzando il database integrato con Linux](add-auth-rules-database-emqx-broker-linux.md)
+ [Configura l'autorizzazione utilizzando il database integrato con Windows](add-auth-rules-database-emqx-broker-windows.md)
+ [Aggiornare la configurazione di distribuzione EMQX per l'autorizzazione](update-emqx-broker-authorization.md)
+ [Aggiungi regole di autorizzazione tramite il pannello di controllo EMQX per gli utenti](add-rules-emqx-broker.md)

# Configura l'autorizzazione utilizzando il database integrato con Linux
<a name="add-auth-rules-database-emqx-broker-linux"></a>

Quando si configurano le regole di autorizzazione, sono disponibili due scelte di configurazione che dipendono dalla configurazione di distribuzione.
+ **Docker**— Se stai eseguendo un'Dockerinstallazione standard senzaLitmus Edge, usa la configurazione del **gateway Docker bridge**. Questo è in genere il caso in cui sono stati distribuiti solo componenti AWS IoT SiteWise .
+ **Litmus Edge**— Se l'avete Litmus Edge installato sul gateway, utilizzate la configurazione della **Litmus Edgesottorete di rete**.

**Nota**  
Se configurate inizialmente il Docker bridge gateway e successivamente lo installateLitmus Edge, riconfigurate le regole di autorizzazione utilizzando l'opzione di Litmus Edge sottorete di rete per garantire una comunicazione corretta tra tutti i componenti.

**Per aggiungere regole di autorizzazione di base**

1. Verificare che il broker EMQX sia distribuito e funzionante.

1. Avvia una sessione di shell sul tuo host gateway.

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

   Per Docker un'installazione standard senzaLitmus Edge, esegui:

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

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

   Se utilizziLitmus Edge, determina l'IP della sottorete di rete Litmus Edge:

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

   Annota il valore di sottorete dall'output ed esegui il comando seguente. Sostituisci `litmus_subnet_ip` con il valore Subnet del passaggio precedente.

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

------

   Lo strumento crea e applica automaticamente le regole di autorizzazione per consentire le connessioni dall'indirizzo IP fornito al broker. Consente l'accesso a tutti gli argomenti. Ciò include il raccoglitore IoT SiteWise OPC UA e l'editore SiteWise IoT.

1. Passa a [Aggiornare la configurazione di distribuzione EMQX per l'autorizzazione](update-emqx-broker-authorization.md).

# Configura l'autorizzazione utilizzando il database integrato con Windows
<a name="add-auth-rules-database-emqx-broker-windows"></a>

Questa sezione descrive la configurazione delle regole di autorizzazione utilizzando il database integrato per le distribuzioni Windows.

**Per aggiungere regole di autorizzazione di base**

1. Verificare che il broker EMQX sia distribuito e funzionante.

1. Esegui lo strumento AWS IoT SiteWise CLI EMQX: 

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

   Lo strumento crea e applica automaticamente le regole ACL che consentono le connessioni da localhost (127.0.0.1) al broker. Consente l'accesso a tutti gli argomenti. Ciò include il raccoglitore IoT SiteWise OPC UA e l'editore SiteWise IoT.

1. Passa a [Aggiornare la configurazione di distribuzione EMQX per l'autorizzazione](update-emqx-broker-authorization.md).

# Aggiornare la configurazione di distribuzione EMQX per l'autorizzazione
<a name="update-emqx-broker-authorization"></a>

**Per aggiornare la configurazione di distribuzione EMQX per l'autorizzazione**

1. <a name="sitewise-open-console"></a>Passare alla [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. **Nella barra di navigazione a sinistra, scegli **Edge gateway nella sezione** Edge.**

1. Scegli il gateway da configurare.

1. Nella sezione di **configurazione del gateway Edge**, copia il valore del **dispositivo principale Greengrass**. Salvalo per un uso successivo.

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

1. **Nella barra di navigazione a sinistra, nella sezione **Gestisci**, scegli **Dispositivi Greengrass**, quindi Implementazioni.**

1. Trova il valore principale del dispositivo che hai salvato in precedenza e scegli quel link per aprire la distribuzione.

1. Scegli il pulsante a discesa **Azioni**, quindi **Rivedi**.

1. Leggi il messaggio che appare, quindi scegli **Revise** deployment. Viene visualizzata la pagina **Specificare la destinazione**.

1. Scegli **Avanti** fino a raggiungere il passaggio **Configura componenti**.

1. Seleziona il pulsante `aws.greengrass.clientdevices.mqtt.EMQX` radio.

1. Scegli il pulsante **Configura componente**. Viene visualizzata una pagina di configurazione per il componente.

1. In **Aggiornamento della configurazione**, scegli **Ripristina la configurazione predefinita per la versione del componente: 2.\$1. **\$1.

1. Incolla il seguente contenuto nella sezione **Configurazione da unire** in base al tuo sistema operativo.

------
#### [ 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. Scegli **Conferma**.

1. Scegli **Avanti** fino a raggiungere la fase di **revisione**.

1. Seleziona **Implementa**.

**Nota**  
Da questo momento in poi, non puoi modificare il file ACL per aggiornare le regole di autorizzazione. In alternativa, è possibile procedere a [Aggiungi regole di autorizzazione tramite il pannello di controllo EMQX per gli utenti](add-rules-emqx-broker.md) dopo una distribuzione riuscita.

# Aggiungi regole di autorizzazione tramite il pannello di controllo EMQX per gli utenti
<a name="add-rules-emqx-broker"></a>

È possibile aggiungere o aggiornare le regole di autorizzazione utilizzando il dashboard EMQX o lo strumento AWS IoT SiteWise EMQX CLI. Lo strumento AWS IoT SiteWise CLI EMQX gestisce l'autorizzazione utilizzando il database integrato di EMQX.

**Nota**  
L'aggiunta di regole di autorizzazione è una fase di configurazione avanzata che richiede la comprensione dei pattern tematici di MQTT e del controllo degli accessi. *Per ulteriori informazioni sulla creazione di regole di autorizzazione utilizzando il database integrato di EMQX, vedere [Use](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) Built-in Database in the EMQX Docs.*

**Nota**  
Le istruzioni relative a EMQX fornite sono solo di riferimento. Poiché la documentazione e le funzionalità di EMQX possono cambiare nel tempo e non conserviamo tale documentazione, consigliamo di consultare la documentazione [ufficiale di EMQX per le informazioni più](https://docs.emqx.com/en/emqx/latest/) aggiornate.

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

Questa procedura mostra come aggiungere regole di autorizzazione al dashboard EMQX.

Il dashboard EMQX è accessibile solo dall'host del gateway. Se tenti di connetterti dall'esterno dell'host del gateway, non puoi accedere alla dashboard.

**Per aggiungere regole di autorizzazione utilizzando il dashboard EMQX**

1. Assicurati di trovarti all'interno dell'host del gateway.

1. Apri una finestra del browser e visita [http://localhost:18083/](http://localhost:18083/).

1. Accedi al pannello di controllo EMQX. Questa procedura presuppone che tu abbia cambiato le credenziali di accesso predefinite con qualcosa di tua scelta. Per ulteriori informazioni sulla configurazione iniziale, vedere. [Abilita l'autenticazione con nome utente e password](configure-emqx-broker.md#emqx-broker-username-password-auth)

1. Scegli l'icona a forma di scudo, quindi **Autorizzazione** dal menu a discesa.

1. Scegli il pulsante **Autorizzazioni** nella riga **Database integrato**. 

1. Nella sezione Autorizzazione del database integrato, aggiungi o aggiorna le regole di autorizzazione degli utenti per le tue esigenze aziendali. Per ulteriori indicazioni sulla creazione di regole, vedere la sezione [Utilizzo del database integrato](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) nei documenti *EMQX*.

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

**Per gestire le regole di autorizzazione utilizzando lo strumento AWS IoT SiteWise CLI EMQX in Linux:**
+ Aggiungi regole di autorizzazione per un utente utilizzando il seguente formato:

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

**Example Aggiungere regole di autorizzazione per un utente**  
Questo esempio mostra come aggiungere regole per un utente denominato`system1`:  

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

**Example : Visualizza le regole di autorizzazione per un utente**  
Per visualizzare le regole di autorizzazione per gli `system1` utenti, esegui il comando seguente:  

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

**Example : Visualizza tutte le regole di autorizzazione esistenti**  
Per visualizzare tutte le regole di autorizzazione attualmente in uso, esegui il comando seguente:  

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

**Example : elimina tutte le regole di autorizzazione per un utente**  
Per eliminare tutte le regole di autorizzazione applicate a un determinato utente, esegui il comando seguente:  

```
/greengrass/v2/bin/swe-emqx-cli auth delete system1
```
Ti viene richiesto di confermare l'eliminazione.

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

**Per gestire le regole di autorizzazione utilizzando lo strumento AWS IoT SiteWise CLI EMQX in: Windows PowerShell**
+ Aggiungere regole di autorizzazione per un utente utilizzando il seguente formato:

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

**Example : aggiungi regole di autorizzazione per un utente**  
Questo esempio mostra come aggiungere regole per un utente denominato`system1`:  

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

**Example : Visualizza le regole di autorizzazione per un utente**  
Per visualizzare le regole di autorizzazione per gli `system1` utenti, esegui il comando seguente:  

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

**Example : Visualizza tutte le regole di autorizzazione esistenti**  
Per visualizzare tutte le regole di autorizzazione attualmente in uso, esegui il comando seguente:  

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

**Example : elimina tutte le regole di autorizzazione per un utente**  
Per eliminare tutte le regole di autorizzazione applicate a un determinato utente, esegui il comando seguente:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth delete system1
```
Ti viene richiesto di confermare l'eliminazione.

------