JFrog Access 技能用于在 JFrog 平台中管理访问控制相关操作,涵盖令牌、用户、组、权限、项目与认证。
用途 该技能面向需要以编程方式管理 JFrog Access 服务的场景,例如创建和管理访问令牌、维护用户与组、配置权限目标、管理项目及其成员,以及通过 Access Federation 在多个 JPD 之间同步访问实体。
主要能力
- 令牌管理:创建、列出、撤销访问令牌。创建时支持指定 subject、scope(如 applied-permissions/groups:readers,deployers)、expires_in、refreshable、description 等字段。文档建议优先使用短生命周期、最小权限的令牌,避免在生产中使用 admin 作用域或永不过期(expires_in: 0)的令牌。
- 用户管理:创建、获取、列出、删除用户。创建用户时可设置 username、email、password、admin 等字段,密码应通过环境变量或密钥传入,不应提交到代码库。
- 组管理:创建组、向组添加成员。组用于批量分配权限。
- 权限管理:创建权限目标,将 read、write、deploy、manage、annotate 等操作映射到仓库等资源,并分配给用户或组。
- 项目管理:创建项目、列出项目、向项目添加成员、获取项目环境。项目是多租户隔离单元,用于分组仓库、构建、环境和成员。
- 环境:SDLC 阶段(DEV、STAGE、PROD),用于发布生命周期推进。
- Access Federation:在多个 JPD 之间同步用户、组、权限和令牌,需要 JPD 之间建立 Circle of Trust,支持单向或双向联邦,每个 JPD 维护自己的 Access 服务。
使用方式 API 传输优先使用 jf api(JFrog CLI 2.100.0+),参考 jf-api-patterns.md(仅路径 URL,认证来自 jf config)。当 CLI 缺失或版本低于 2.100.0 时,回退到使用 curl 配合 $JFROG_URL 和 bearer token 的示例。 所有请求需要访问令牌,通过 Authorization 头传递:Authorization: Bearer $JFROG_ACCESS_TOKEN。基础 URL 为 https://$JFROG_URL/access/api/...。 当需要认证时,遵循 login-flow.md 流程解析当前 JFrog 环境。jf CLI 为必需项,缺失时会自动安装。代理通过 jf config show 检查已保存的凭据,若存在多个环境则询问使用哪一个;若不存在,则驱动网页登录流程并通过 jf config add 保存凭据。 在创建多个用户、组或权限目标时,可并行执行这些相互独立的调用。
适用场景
- CI 流水线中签发短生命周期、最小权限的令牌。
- 团队权限分配与批量成员管理。
- 多租户项目隔离与项目成员管理。
- 多 JPD 环境下的访问实体同步(Access Federation)。
- 与仓库设置、多站点模式等流程配合使用。
限制
- 所有请求必须提供有效的访问令牌。
- 优先使用 jf CLI 2.100.0+;低于该版本或缺失时使用 curl 回退方案。
- Access Federation 需要 JPD 之间建立 Circle of Trust。
- 文档建议避免在生产中使用 admin 作用域或永不过期令牌,如确需使用应进行轮换。
- 创建用户时密码应通过环境变量或密钥传入,不应提交到代码库。
参考文件与相关模式
- api-reference.md:完整的 Access REST API 端点目录。
- 相关模式:repositories-setup-for-cross-team-collaboration(多团队仓库的权限控制)、multi-site-*(使用 Access Federation 的多 JPD 模式)。
- 完成操作后,检查 skills/jfrog-patterns/flow-suggestions.md 的 Artifactory Actions 部分,Access 任务(权限、联邦)属于其中映射的 Repository Setup 和 Multi-Site 流程。
- 相关技能:完整项目入门(仓库、成员、OIDC、CI)参见 onboarding-workflows(jfrog-project-onboarding、jfrog-provision-project、jfrog-manage-members)。
官方文档
- Access Tokens
- Permissions
- Projects
- Access Federation