jitsudo-dev/jitsudo
GitHub: jitsudo-dev/jitsudo
跨云 Just-In-Time 特权访问管理 CLI 工具,通过策略驱动和审批流程实现临时权限提升与审计追踪。
Stars: 0 | Forks: 0
# jitsudo
**云端的 sudo。** 通过单一的 CLI 跨所有云平台,请求临时的 AWS、Azure、GCP 或 Kubernetes 管理员级访问权限——具备审批流程、审计日志和自动过期机制。
[](https://github.com/jitsudo-dev/jitsudo/actions/workflows/ci.yml)
[](https://goreportcard.com/report/github.com/jitsudo-dev/jitsudo)
[](#license)
## 什么是 jitsudo?
jitsudo 是一个开源、云无关、CLI 优先的基础设施管理员和 SRE 专用的 Just-In-Time (JIT) 特权访问管理工具。
该名称结合了 **JIT** (Just-In-Time) 和 **sudo**——Unix 权限提升工具。jitsudo 允许工程师通过经过审计、策略驱动、基于审批的流程,临时提升其云权限。权限在规定的持续时间内授予,并在时间窗口到期后自动撤销。
## 快速入门(5 分钟)
**前置条件:** Docker 或 Podman,以及一个终端。
```
# 1. Clone 并启动本地 dev environment
git clone https://github.com/jitsudo-dev/jitsudo
cd jitsudo
make docker-up
# 2. 安装 CLI (macOS/Linux)
curl -fsSL https://jitsudo.dev/install.sh | sh
# 3. 登录 (使用本地 dev OIDC provider)
jitsudo login --provider http://localhost:5556/dex
# 4. 请求临时提升权限
jitsudo request \
--provider aws \
--role prod-infra-admin \
--scope 123456789012 \
--duration 1h \
--reason "Investigating ECS crash - INC-4421"
# 5. 使用提升的 credentials 执行命令
jitsudo exec -- aws ecs describe-tasks --cluster prod
```
## 核心特性
- **云无关** — 通过单一 CLI 支持 AWS、Azure、GCP 和 Kubernetes
- **三层审批模型** — 第一层 OPA 自动审批,第二层 AI 辅助审查,第三层人工审批
- **AI 原生** — MCP 审批接口允许 AI Agent 评估并审批第二层请求,审计日志中包含完整推理过程
- **Principal 信任分级** — 为每个 Principal 分配信任级别(0–4);策略基于 `input.context.trust_tier` 控制自动审批
- **CLI 优先** — 为常驻终端的 SRE 设计
- **防篡改审计日志** — 每个操作均通过 SHA-256 哈希链记录
- **Break-glass 模式** — 紧急访问,伴随即时警报和强制审查
- **自托管** — 凭证永远不会离开您的基础设施
- **OIDC 原生** — 集成 Okta、Entra ID、Google Workspace、Keycloak
## CLI 参考
```
jitsudo login Authenticate via OIDC device flow
jitsudo request Submit a new elevation request
jitsudo status Check request status
jitsudo approve / deny Approve or deny a pending request
jitsudo exec -- Run a command with elevated credentials
jitsudo shell Open an elevated interactive shell
jitsudo revoke Revoke an active elevation early
jitsudo audit Query the audit log
jitsudo policy Manage OPA/Rego policies (admin)
jitsudo server init Bootstrap a new control plane instance
jitsudo server status Check control plane health
jitsudo server version Print server version and API compatibility
jitsudo server reload-policies Trigger OPA policy engine reload
```
## 架构
jitsudo 遵循 Kubernetes 模式:一个版本化的 API 服务器(控制平面),所有客户端通过稳定、经过认证的 API 与其交互。CLI 是一个一等公民但非特权客户端。
```
jitsudo CLI ──gRPC/REST──> jitsudod Control Plane
├── Auth (OIDC/JWKS)
├── Policy Engine (OPA embedded)
│ Three-tier routing: auto / ai_review / human
├── Request State Machine
├── Provider Adapter Layer
│ AWS / Azure / GCP / Kubernetes
├── Audit Log (append-only, hash chain)
├── Notification Dispatcher
│ Slack / email
└── MCP Approver Interface (POST /mcp)
Tier 2 AI agent connect here
```
请参阅 [docs/adr/](docs/adr/) 查看架构决策记录 (ADR)。
## 部署
| 方法 | 目标环境 | 命令 |
|--------|--------|---------|
| Docker Compose | 本地 / 评估 | `make docker-up` |
| Bootstrap 命令 | 单虚拟机 / 物理机 | `jitsudo server init` |
| Helm chart | Kubernetes (生产环境) | `helm install jitsudo jitsudo/jitsudo` |
## 许可证
jitsudo 采用混合开源核心许可模式:
- **CLI, Provider SDK, OPA 库** — [Apache License 2.0](LICENSE-APACHE)
- **控制平面服务器 (`jitsudod`)** — [Elastic License 2.0](LICENSE-ELV2)
供您自己组织使用的自托管不受限制。有关详细信息,请参阅 [LICENSE](LICENSE)。
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。所有贡献者必须签署开发者原创证书 (DCO)。
## 安全
如需报告漏洞,请参阅 [SECURITY.md](SECURITY.md)。
标签:AWS, Azure, DPI, EVTX分析, GCP, Go语言, IAM, JIT, JSONLines, OPA, PAM, Python工具, SRE, 临时权限提升, 人工智能安全, 偏差过滤, 即时特权访问, 合规性, 多云管理, 子域名突变, 审批工作流, 审计日志, 日志审计, 特权访问管理, 程序破解, 策略驱动, 结构化提示词, 自动过期, 请求拦截, 身份与访问管理, 零信任, 靶场