

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar regras de autorização para o AWS IoT SiteWise Edge no EMQX
<a name="authorization-rules-emqx-broker"></a>

O EMQX suporta a adição de regras de autorização com base em identificadores como nome de usuário, endereço IP ou ID do cliente. Isso é útil se você quiser limitar o número de aplicativos externos conectados a várias operações ou tópicos.

**Topics**
+ [

# Configure a autorização usando o banco de dados integrado com Linux
](add-auth-rules-database-emqx-broker-linux.md)
+ [

# Configure a autorização usando o banco de dados integrado com o Windows
](add-auth-rules-database-emqx-broker-windows.md)
+ [

# Atualize a configuração de implantação do EMQX para autorização
](update-emqx-broker-authorization.md)
+ [

# Adicione regras de autorização por meio do painel EMQX para usuários
](add-rules-emqx-broker.md)

# Configure a autorização usando o banco de dados integrado com Linux
<a name="add-auth-rules-database-emqx-broker-linux"></a>

Quando você configura as regras de autorização, há duas opções de configuração que dependem da sua configuração de implantação.
+ **Docker**— Se você estiver executando uma Docker instalação padrão semLitmus Edge, use a configuração do **Docker bridge gateway**. Normalmente, esse é o caso quando você implementa apenas AWS IoT SiteWise componentes.
+ **Litmus Edge**— Se você Litmus Edge instalou no seu gateway, use a configuração de **Litmus Edgesub-rede da rede**.

**nota**  
Se você configurar inicialmente o Docker bridge gateway e depois instalarLitmus Edge, reconfigure as regras de autorização usando a opção de Litmus Edge sub-rede de rede para garantir a comunicação adequada entre todos os componentes.

**Para adicionar regras básicas de autorização**

1. Verifique se o agente EMQX está implantado e em execução.

1. Inicie uma sessão de shell em seu host de gateway.

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

   Para Docker instalação padrão semLitmus Edge, execute:

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

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

   Se você estiver usandoLitmus Edge, determine o IP da sub-rede da rede Litmus Edge:

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

   Observe o valor da sub-rede na saída e execute o comando a seguir. `litmus_subnet_ip`Substitua pelo valor da sub-rede da etapa anterior.

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

------

   A ferramenta cria e aplica automaticamente regras de autorização para permitir conexões do endereço IP fornecido ao agente. Ele permite o acesso a todos os tópicos. Isso inclui o coletor IoT SiteWise OPC UA e o editor de IoT. SiteWise 

1. Vá para [Atualize a configuração de implantação do EMQX para autorização](update-emqx-broker-authorization.md).

# Configure a autorização usando o banco de dados integrado com o Windows
<a name="add-auth-rules-database-emqx-broker-windows"></a>

Esta seção aborda a configuração de regras de autorização usando o banco de dados incorporado para implantações do Windows.

**Para adicionar regras básicas de autorização**

1. Verifique se o agente EMQX está implantado e em execução.

1. Execute a ferramenta AWS IoT SiteWise EMQX CLI: 

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

   A ferramenta cria e aplica automaticamente regras de ACL, permitindo conexões do localhost (127.0.0.1) com o broker. Ele permite o acesso a todos os tópicos. Isso inclui o coletor IoT SiteWise OPC UA e o editor de IoT. SiteWise 

1. Vá para [Atualize a configuração de implantação do EMQX para autorização](update-emqx-broker-authorization.md).

# Atualize a configuração de implantação do EMQX para autorização
<a name="update-emqx-broker-authorization"></a>

**Para atualizar a configuração de implantação do EMQX para autorização**

1. <a name="sitewise-open-console"></a>Navegue até o [console do AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Na navegação à esquerda, escolha **Edge gateways** na seção **Edge**.

1. Escolha o gateway a ser configurado.

1. Na seção de **configuração do gateway Edge**, copie o valor do seu **dispositivo principal do Greengrass**. Guarde-o para uso posterior.

1. Abra o [console do AWS IoT](https://console.aws.amazon.com/iot/).

1. **No painel de navegação à esquerda, na seção **Gerenciar**, escolha **dispositivos Greengrass e, em seguida, Implantações**.**

1. Encontre o valor do dispositivo principal que você salvou anteriormente e escolha esse link para abrir a implantação.

1. **Escolha o botão suspenso **Ações** e, em seguida, Revisar.**

1. Leia a mensagem que aparece e escolha **Revisar implantação**. A página **Especificar destino** é exibida.

1. Escolha **Avançar** até chegar à etapa **Configurar componentes**.

1. Selecione o botão `aws.greengrass.clientdevices.mqtt.EMQX` de rádio.

1. Escolha o botão **Configurar componente**. Uma página de configuração é exibida para o componente.

1. Em **Atualização de configuração**, escolha **Redefinir a configuração padrão para a versão do componente: 2.\$1. **\$1.

1. Cole o conteúdo a seguir na seção **Configuração para mesclar** com base no seu sistema operacional.

------
#### [ 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. Escolha **Confirmar**.

1. Escolha **Avançar** até chegar à etapa de **revisão**.

1. Escolha **Implantar**.

**nota**  
A partir desse momento, você não poderá editar o arquivo ACL para atualizar as regras de autorização. Como alternativa, você pode prosseguir [Adicione regras de autorização por meio do painel EMQX para usuários](add-rules-emqx-broker.md) após uma implantação bem-sucedida.

# Adicione regras de autorização por meio do painel EMQX para usuários
<a name="add-rules-emqx-broker"></a>

Você pode adicionar ou atualizar regras de autorização usando o painel do EMQX ou a ferramenta CLI do AWS IoT SiteWise EMQX. A ferramenta AWS IoT SiteWise CLI do EMQX gerencia a autorização usando o banco de dados integrado do EMQX.

**nota**  
Adicionar regras de autorização é uma etapa de configuração avançada que requer compreensão dos padrões de tópicos e controle de acesso do MQTT. Para obter mais informações sobre a criação de regras de autorização usando o banco de dados integrado do EMQX, consulte [Usar banco de dados integrado nos documentos](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) do *EMQX*.

**nota**  
As instruções relacionadas ao EMQX fornecidas são apenas para referência. Como a documentação e os recursos do EMQX podem mudar com o tempo e não mantemos sua documentação, recomendamos consultar a [documentação oficial do EMQX para obter](https://docs.emqx.com/en/emqx/latest/) as informações mais atuais.

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

Este procedimento mostra como você pode adicionar regras de autorização no painel do EMQX.

O painel do EMQX só pode ser acessado de dentro do host do gateway. Se você tentar se conectar de fora do host do gateway, não conseguirá acessar o painel.

**Para adicionar regras de autorização usando o painel EMQX**

1. Verifique se você está dentro do host do gateway.

1. Abra uma janela do navegador e acesse [http://localhost:18083/](http://localhost:18083/).

1. Faça login no painel do EMQX. Esse procedimento pressupõe que você alterou suas credenciais de login padrão para algo de sua escolha. Para obter mais informações sobre a configuração inicial, consulte[Ativar autenticação de nome de usuário e senha](configure-emqx-broker.md#emqx-broker-username-password-auth).

1. Escolha o ícone de escudo e, em seguida, **Autorização** no menu suspenso.

1. Escolha o botão **Permissões** na linha **Banco de dados incorporado**. 

1. Na seção Autorização de banco de dados integrada, adicione ou atualize as regras de autorização do usuário de acordo com suas necessidades comerciais. Para obter mais orientações sobre a criação de regras, consulte a seção [Usar banco de dados integrado](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) na documentação do *EMQX*.

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

**Para gerenciar as regras de autorização usando a ferramenta AWS IoT SiteWise CLI EMQX no Linux:**
+ Adicione regras de autorização para um usuário usando o seguinte formato:

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

**Example Adicionar regras de autorização para um usuário**  
Este exemplo mostra como adicionar regras para um usuário chamado`system1`:  

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

**Example : Exibir regras de autorização para um usuário**  
Para ver as regras de autorização para os `system1` usuários, execute o seguinte comando:  

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

**Example : Veja todas as regras de autorização existentes**  
Para ver todas as regras de autorização que você tem atualmente, execute o seguinte comando:  

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

**Example : exclua todas as regras de autorização de um usuário**  
Para excluir todas as regras de autorização aplicadas a um usuário específico, execute o seguinte comando:  

```
/greengrass/v2/bin/swe-emqx-cli auth delete system1
```
Você é solicitado a confirmar a exclusão.

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

**Para gerenciar as regras de autorização usando a ferramenta AWS IoT SiteWise CLI do EMQX em: Windows PowerShell**
+ Adicione regras de autorização para um usuário usando o seguinte formato:

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

**Example : Adicionar regras de autorização para um usuário**  
Este exemplo mostra como adicionar regras para um usuário chamado`system1`:  

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

**Example : Exibir regras de autorização para um usuário**  
Para ver as regras de autorização para os `system1` usuários, execute o seguinte comando:  

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

**Example : Veja todas as regras de autorização existentes**  
Para ver todas as regras de autorização que você tem atualmente, execute o seguinte comando:  

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

**Example : exclua todas as regras de autorização de um usuário**  
Para excluir todas as regras de autorização aplicadas a um usuário específico, execute o seguinte comando:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth delete system1
```
Você é solicitado a confirmar a exclusão.

------