permitio/pdp-v2Permit.io PDP(Policy Decision Point,策略决策点)是Permit.io权限管理平台的核心组件,作为独立部署的轻量级服务,负责接收授权请求、评估预定义的访问控制策略,并返回决策结果(允许/拒绝)。该镜像封装了PDP的运行环境,支持快速部署和集成,适用于各类需要细粒度权限控制的应用场景。
bashdocker run -d \ --name permit-pdp \ -p 7766:7766 \ -e PERMIT_API_KEY="your-api-key" \ -e PERMIT_POLICY_REPO="[***]" \ permitio/pdp:latest
-p 7766:7766:映射PDP服务端口(默认HTTP API端口为7766)PERMIT_API_KEY:(可选)Permit.io平台API密钥,用于从云端同步策略PERMIT_POLICY_REPO:(可选)本地或远程策略仓库地址,用于加载静态策略| 环境变量名 | 描述 | 默认值 |
|---|---|---|
PERMIT_API_KEY | Permit.io平台API密钥,用于与云端策略管理系统通信 | 无 |
PERMIT_POLICY_REPO | 策略仓库URL(支持Git、HTTP或本地文件路径) | 无 |
PERMIT_LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
PERMIT_LISTEN_ADDRESS | 服务监听地址 | 0.0.0.0 |
PERMIT_LISTEN_PORT | 服务监听端口 | 7766 |
PERMIT_CACHE_TTL | 策略评估结果缓存超时时间(秒),0表示禁用缓存 | 30 |
PERMIT_OFFLINE_MODE | 是否启用离线模式(true/false),离线模式下仅使用本地策略 | false |
yamlversion: '3.8' services: permit-pdp: image: permitio/pdp:latest container_name: permit-pdp ports: - "7766:7766" environment: - PERMIT_API_KEY=your-api-key - PERMIT_LOG_LEVEL=info - PERMIT_CACHE_TTL=60 volumes: - ./local-policies:/policies # 挂载本地策略目录(离线模式使用) restart: unless-stopped
PDP启动后,可通过HTTP API提交授权请求:
bashcurl -X POST http://localhost:7766/v1/allowed \ -H "Content-Type: application/json" \ -d '{ "subject": { "id": "user-123", "roles": ["editor"] }, "resource": { "type": "document", "id": "doc-456" }, "action": "edit" }'
响应示例(允许访问):
json{ "allowed": true }
PERMIT_POLICY_POLL_INTERVAL环境变量调整)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务