
此仓库是商业开源项目 CZERTAINLY 的一部分。有关该项目的更多信息,请访问 https://github.com/CZERTAINLY/CZERTAINLY 仓库,包括贡献指南。
Auth 服务设计为中央服务,用于管理对不同资源及相关操作和对象的访问控制,并基于身份令牌识别用户。
Auth 服务提供以下功能:
用户可属于多个角色,此时权限将从所有已分配角色中合并。
注意 授权由 OPA(Open Policy Agent)执行。
Auth服务负责管理用户、角色以及可分配给用户的关联权限。
用户可基于以下顺序提供的身份令牌进行识别:
成功识别后,将返回包含合并角色权限的用户详情。若未提供上述任何数据,用户将被识别为权限有限的*******用户。
使用证书识别用户时,将解码并解析证书内容字符串,验证其有效性和可信度。然后,基于证书指纹从数据库映射到用户并返回认证响应。一个证书最多可分配给 1 个用户。
使用 JSON ID 识别用户时,将解码并验证其是否符合要求的结构。JSON ID 中指定的用户名用作识别用户的唯一信息。Auth 服务可进一步配置为在用户或角色不存在时创建它们。
用户名仅用于系统用户的内部识别,以提升权限并执行其他需要授权的操作,不对外暴露给外部系统。
本服务不评估权限。授权由 Open Policy Agent 控制。有关更多信息,请参阅 CZERTAINLY 文档。
Auth 服务以 Docker 容器形式提供。使用 czertainly/czertainly-auth:tagname 从仓库拉取所需镜像。可通过以下环境变量进行配置:
| 变量名 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
AUTH_DB_CONNECTION_STRING | 数据库访问连接字符串 | 是 | N/A |
AUTH_CREATE_UNKNOWN_USERS | 当使用 JSON 身份令牌识别未知用户时,是否创建该用户 | 否 | false |
AUTH_CREATE_UNKNOWN_ROLES | 当使用 JSON 身份令牌识别未知角色时,是否创建该角色并分配给用户 | 否 | false |
SYNC_POLICY | create-only - 基于上述变量创建用户和角色,令牌中的变更不影响已存在用户;sync-data - 用户属性和角色与令牌中的用户数据同步 | 否 | create-only |
使用以下命令启动 Auth 服务容器:
bashdocker run -d \ --name czertainly-auth \ -e AUTH_DB_CONNECTION_STRING="jdbc:postgresql://db-host:5432/authdb?user=authuser&password=authpass" \ -e AUTH_CREATE_UNKNOWN_USERS=true \ -e SYNC_POLICY="sync-data" \ czertainly/czertainly-auth:latest
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务