# ACL 控制
## 说明
通常在信任域内,微服务之间的调用不会做鉴权。
但是对于某些关键的微服务,我们需要对其做保护,限定指定的微服务才有权限做调用。
Zebra 微服务框架提供了微服务 ACL 功能来满足上述需求。
## 服务端配置
### 说明
需要在服务端配置哪些微服务可调用其接口。
### 配置样例
假设
客户端的微服务全名为:com.guosen.zebra.sample.ClientService
要求调用的服务端的微服务全面为:com.guosen.zebra.sample.ServerService
那么,服务端微服务的配置为:
```text
zebra.acl.client.clientName[0]=com.guosen.zebra.sample.ClientService
zebra.acl.client.clientlicense[0]=7e070a88-d9f3-4bbb-a65b-1bc9acaa233f
```
### 配置说明
| 配置项 | 类型 | 说明 |
| :--- | :--- | :--- |
| zebra.acl.client.clientName\[k\] | String | 允许的客户端微服务全称。 |
| zebra.acl.client.clientlicense\[k\] | String | 授予客户端的认证串,请设置为较复杂的字符串(比如UUID) |
## 客户端配置
需要在客户端配置要调用的服务端微的鉴权服务信息。
### 配置样例
假设
客户端的微服务全名为:com.guosen.zebra.sample.ClientService
要求调用的服务端的微服务全面为:com.guosen.zebra.sample.ServerService
那么,客户端微服务的配置为:
```text
zebra.acl.client.serviceName[0]=com.guosen.zebra.sample.ServerService
zebra.acl.client.servicelicense[0]=7e070a88-d9f3-4bbb-a65b-1bc9acaa233f
```
### 配置说明
| 配置项 | 类型 | 说明 |
| :--- | :--- | :--- |
| zebra.acl.client.serviceName\[k\] | String | 要调用的需鉴权的服务端微服务全称。 |
| zebra.acl.client.servicelicense\[k\] | String | 服务端授予本客户端的认证串,和服务端的zebra.acl.client.clientlicense需保持一致。 |
- 简介
- 入门
- Docker方式
- 手工方式
- 环境搭建
- 简述
- 初始化服务器
- 安装 Etcd
- 初始化数据库
- 安装配置中心
- 安装服务中心
- 安装监控中心
- 安装API网关
- 开发第一个微服务
- 简述
- 准备工作
- 接口定义
- 实现
- 配置
- 部署
- 验证
- 微服务开发
- 服务调用
- 服务上下文
- 日志
- 高级特性
- 范化调用
- 异步调用
- ACL 控制
- 慢启动
- 消息大小
- 组件使用
- 简述
- 缓存
- MyBatis
- RocketMQ
- 分库分表
- 读写分离
- 分布式事务
- 分布式锁
- 运维管理
- 服务依赖
- 服务查询
- 服务方法查询
- 配置中心
- API网关配置
- 流量控制
- 简述
- 限流
- 熔断
- 系统保护
- 白名单
- 黑名单
- 监控
- 主动探测
- 调用链
- 日志开关
- 最佳实践
- 常见问题
- 深入 Zebra
- 架构
- 通信协议
- 路标