# 授权

授权是指对 MQTT 客户端的发布和订阅操作进行权限控制。EMQX 的授权机制基本原理是：当客户端尝试发布或订阅时，EMQX 会根据特定流程或用户定义的查询语句，从数据源中获取该客户端的权限数据，将权限与要执行的操作进行匹配，根据匹配结果来允许或拒绝本次操作。

单条客户端权限数据由以下部分组成：
| **权限**        | **客户端** | **操作**  | **操作详情** |
| --------------- | -------------------- | ------------- | ------------- |
| 允许/拒绝 |  客户端 ID/用户名/IP 地址   | 发布/订阅/发布订阅   | 主题/QoS/保留消息    |

## [默认授权](./default_authz.md)

EMQX Cloud 提供默认授权方式，将基于内置数据库存储规则进行授权检查。

## [扩展授权](./custom_authz.md)
除了基于内置数据库的默认授权，还支持通过与多类后端数据库的集成提供授权认证，包括 MySQL、PostgreSQL、Redis 和 HTTP。

- [使用 HTTP 进行授权](./http_auth.md)
- [使用 MySQL 进行授权](./mysql_auth.md)
- [使用 PostgreSQL 进行授权](./pgsql_auth.md)
- [使用 Redis 进行授权](./redis_auth.md)

## 不同版本授权方式支持

| **版本**        | **默认授权** | **扩展授权**  |
| --------------- | -------------------- | ------------------------------ |
| Serverless |  ✓   | ✗         |
| 专有版 | ✓     |  ✓    |