

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过 EMQX 控制面板为用户添加授权规则
<a name="add-rules-emqx-broker"></a>

您可以使用 EMQX 控制面板或 EMQX CLI 工具添加或更新授权规则。 AWS IoT SiteWise AWS IoT SiteWise EMQX CLI 工具使用 EMQX 的内置数据库管理授权。

**注意**  
添加授权规则是一个高级配置步骤，需要了解 MQTT 主题模式和访问控制。*有关使用 EMQX 的内置数据库创建授权规则的更多信息，请参阅 EMQX 文档中的[使用内置数据库](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html)。*

**注意**  
所提供的 EMQX 相关说明仅供参考。由于 EMQX 的文档和功能可能会随着时间的推移而发生变化，并且我们不保留其文档，因此我们建议您查阅 [EMQX 的官方文档](https://docs.emqx.com/en/emqx/latest/)以获取最新信息。

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

此过程说明如何在 EMQX 控制面板上添加授权规则。

EMQX 控制面板只能从网关主机内部访问。如果您尝试从网关主机外部进行连接，则无法访问控制面板。

**使用 EMQX 控制面板添加授权规则**

1. 确保您在网关主机内。

1. 打开浏览器窗口并访问[http://localhost:18083/](http://localhost:18083/)。

1. 登录 EMQX 控制面板。此过程假设您已将默认登录凭证更改为自己选择的登录凭证。有关初始设置的更多信息，请参阅[启用用户名和密码认证](configure-emqx-broker.md#emqx-broker-username-password-auth)。

1. 选择盾牌图标，然后从下拉菜单中选择 “**授权**”。

1. 在 “**内置数据库**” 行上选择 “**权限**” 按钮。

1. 在 “内置数据库授权” 部分，根据您的业务需求添加或更新用户授权规则。有关创建规则的更多指导，请参阅 *EMQX* 文档中的[使用内置数据库](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html)部分。

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

**要在 Linux 中使用 AWS IoT SiteWise EMQX CLI 工具管理授权规则，请执行以下操作：**
+ 使用以下格式为用户添加授权规则：

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

**Example 为用户添加授权规则**  
此示例说明如何为名为`system1`：的用户添加规则：  

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

**Example ：查看用户的授权规则**  
要查看`system1`用户的授权规则，请运行以下命令：  

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

**Example : 查看所有现有的授权规则**  
要查看您当前拥有的所有授权规则，请运行以下命令：  

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

**Example : 删除用户的所有授权规则**  
要删除应用于特定用户的所有授权规则，请运行以下命令：  

```
/greengrass/v2/bin/swe-emqx-cli auth delete system1
```
系统将提示您确认删除。

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

**要使用 AWS IoT SiteWise EMQX CLI 工具管理授权规则，请执行以下操作：Windows PowerShell**
+ 使用以下格式为用户添加授权规则：

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

**Example : 为用户添加授权规则**  
此示例说明如何为名为`system1`：的用户添加规则：  

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

**Example ：查看用户的授权规则**  
要查看`system1`用户的授权规则，请运行以下命令：  

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

**Example : 查看所有现有的授权规则**  
要查看您当前拥有的所有授权规则，请运行以下命令：  

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

**Example : 删除用户的所有授权规则**  
要删除应用于特定用户的所有授权规则，请运行以下命令：  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth delete system1
```
系统将提示您确认删除。

------