本文将深入讲解 OpenZiti 的核心操作:如何创建身份、定义服务、配置策略,实现精细化的零信任访问控制。
一、身份管理(Identity)
身份(Identity) 是 OpenZiti 中访问网络的主体:每个用户、设备或服务都需要一个身份,身份由证书标识,身份可以关联角色属性。
创建身份
# 登录控制器
ziti edge login --username admin --password admin --url https://127.0.0.1:1280
# 创建用户身份
ziti edge create identity user "alice" \
--role-attributes "developers,backend-team" \
--jwt-output-file alice.jwt
# 查看所有身份
ziti edge list identities
管理身份
# 查看身份详情
ziti edge show identity alice
# 更新身份属性
ziti edge update identity alice --role-attributes "developers,senior"
# 禁用身份
ziti edge update identity alice --disabled true
二、服务定义(Service)
服务(Service) 是可通过 OpenZiti 网络访问的资源:可以是 HTTP API、SSH、数据库等。
创建服务
# 创建服务
ziti edge create service "web-api" \
--role-attributes "api-services" \
--configs "web-api-host.v1"
# 配置服务地址
ziti edge create config "web-api-host.v1" "host.v1" \
'{"address": "192.168.1.100", "port": 8080, "protocol": "tcp"}'
三、策略配置(Policy)
服务策略
# 允许 developers 角色访问 api-services 服务
ziti edge create service-policy "dev-access-api" \
--service-roles "@api-services" \
--identity-roles "#developers" \
--type Bind
# 允许用户访问服务
ziti edge create service-policy "users-dial-api" \
--service-roles "@api-services" \
--identity-roles "#users" \
--type Dial
边缘路由策略
# 允许所有用户通过公共路由器接入
ziti edge create edge-router-policy "all-users-public" \
--edge-router-roles "@public-routers" \
--identity-roles "#all"
四、常用命令速查
# 身份管理
ziti edge list identities
ziti edge create identity user <name>
ziti edge update identity <name>
ziti edge delete identity <name>
# 服务管理
ziti edge list services
ziti edge create service <name>
ziti edge delete service <name>
# 策略管理
ziti edge list service-policies
ziti edge create service-policy <name>
总结
本文详细介绍了:身份管理、服务定义、策略配置。
相关资源
官方文档:https://openziti.io/docs/
GitHub 仓库:https://github.com/openziti/ziti
OpenZiti 中文社区:https://www.openziti.cn