用途:为 senhasegura(Segura)特权访问管理平台提供实用集成指南,属于库/API 参考与数据获取类技能。
主要能力:覆盖 A2A OAuth 2.0 认证、PAM Core 凭据与 SSH 密钥 API、DevOps Secret Manager(DSM)用于 CI/CD、Kubernetes External Secrets Operator、MySafe,以及可选的 MCP 服务器集成。工作流路由包括 A2A 设置、同步密钥到 Kubernetes、轮换密码、在流水线中获取密钥、注册 SSH 密钥。
使用方式:通过环境变量配置 SENHASEGURA_URL、SENHASEGURA_CLIENT_ID、SENHASEGURA_CLIENT_SECRET。获取令牌使用 POST $SENHASEGURA_URL/iso/oauth2/token(grant_type=client_credentials),令牌 TTL 为 3600 秒,需缓存并在到期前 60 秒刷新。列出凭据使用 GET /api/pam/credential。获取密码使用 GET /iso/coe/senha?credentialId=N,该操作会自动锁定凭据托管,必须随后执行 DELETE /iso/pam/credential/custody/N 释放。DSM 密钥获取使用 dsm runb --tool-name github --application my-app --system production --environment prod,然后 source .runb.vars && rm -f .runb.vars。
适用场景:CI/CD 流水线密钥注入、Kubernetes 密钥同步、密码轮换、SSH 密钥管理、企业特权凭据管理。
限制与注意事项:A2A 授权 IP 限制基于 senhasegura 看到的 HTTP 源 IP,Kubernetes 场景需白名单集群出口 NAT。DSM runb 将密钥写入当前工作目录的 .runb.vars,需在临时目录运行或设置 SENHASEGURA_SECRETS_FILE。External Secrets Operator 的 provider 键为小写 senhasegura,module 为大写 DSM。dsm runb --tool-name 接受 github、azure-devops、gitlab、linux,在非 Linux 容器使用 linux 会阻止密钥值在 CI 日志中掩码。Python 和 TypeScript 客户端在原始 getPassword 时不自动释放托管,需使用 withPassword(...) / password_context(...) 辅助函数。令牌端点为 /iso/oauth2/token,注意是 /iso/ 而非 /api/。企业安装多使用内部 CA,ignoreSslCertificate: true / SENHASEGURA_INSECURE: true 仅用于本地调试,生产环境应通过 ca 字段挂载 CA 证书包。
官方文档、A2A 模块、DSM 模块、PAM Core API 参考、DSM CLI、External Secrets Operator 等链接暂未提供具体地址。