jitsudo-dev/jitsudo

GitHub: jitsudo-dev/jitsudo

跨云 Just-In-Time 特权访问管理 CLI 工具,通过策略驱动和审批流程实现临时权限提升与审计追踪。

Stars: 0 | Forks: 0

# jitsudo **云端的 sudo。** 通过单一的 CLI 跨所有云平台,请求临时的 AWS、Azure、GCP 或 Kubernetes 管理员级访问权限——具备审批流程、审计日志和自动过期机制。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a53a5ea076091121.svg)](https://github.com/jitsudo-dev/jitsudo/actions/workflows/ci.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/jitsudo-dev/jitsudo)](https://goreportcard.com/report/github.com/jitsudo-dev/jitsudo) [![License: Apache 2.0 / ELv2](https://img.shields.io/badge/license-Apache%202.0%20%2F%20ELv2-blue)](#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, 临时权限提升, 人工智能安全, 偏差过滤, 即时特权访问, 合规性, 多云管理, 子域名突变, 审批工作流, 审计日志, 日志审计, 特权访问管理, 程序破解, 策略驱动, 结构化提示词, 自动过期, 请求拦截, 身份与访问管理, 零信任, 靶场