本地账户
使用 Semaphore 用户名和密码登录。
在团队设置中分配项目角色,让工程师根据职责执行任务、查看结果或管理配置。
为特定职责创建角色。如果访问应仅限于选定作业,请不要启用覆盖整个项目的权限。
将角色分配给任务模板,允许执行,但不允许修改配置。
在 Enterprise 中将身份提供程序的组映射到项目角色。Semaphore 会在下次登录时刷新映射的访问权限。
打开“账户 → 安全”,为本地登录设置身份验证器应用。同一页面也可关联外部身份。
连接现有身份系统用于登录。Semaphore 项目角色决定每个人可以访问的资源和操作。
使用 Semaphore 用户名和密码登录。
让成员使用现有目录凭据登录。
连接 Keycloak、Okta、Microsoft Entra ID、Authentik 或其他 OIDC 提供程序。
接受来自可信身份验证代理的已签名身份令牌。
为本地账户启用身份验证器应用验证码,配置恢复方式和会话有效期。用户自行绑定第二重验证。
登录时,身份验证器应用生成的验证码可增加第二重验证。
验证器不可用时,允许使用恢复方式。
达到配置的最长有效期后,要求重新登录。
为项目成员分配内置角色,无需从头配置每一项权限。一名成员可以拥有多个角色,其权限会合并生效。


在 Enterprise 中围绕团队职责定义自定义角色。选择其可以执行的操作,而不是向所有人授予相同的宽泛权限。
让自定义角色访问指定任务模板,而不是项目中的所有作业。允许执行任务,同时单独管理模板编辑权限。
工作流也采用相同方式,运行、编辑和审批具有独立权限。

可委派的作业是已保存仓库、清单和凭据引用的任务模板。先创建并测试任务,再创建允许执行它的角色。使用具有代表性的账户登录,确认预期任务能够启动,同时另一个任务不可用。
工作流权限涵盖查看、运行、编辑和审批。审批独立于运行,您可以决定启动操作的人是否也能放行等待中的步骤。应有意识地分配这两项权限,而不是默认同时授予。
Enterprise 组映射利用身份提供程序发送的 groups 声明,将 OIDC 组关联到 Semaphore 项目中的角色。Semaphore 会在用户登录时刷新映射角色。从目录组中移除成员并不会结束其已持有的会话,因此应将这一时间差纳入权限撤销计划。
如果日常登录依赖外部提供程序,请同时保留一个经过测试的本地管理员账户。记录负责人和凭据保管位置,并在故障发生前实际演练。恢复后,审查期间授予的访问权限,防止临时变更成为永久权限。
选定对象的权限适用于这两类对象。单个清单、仓库、变量组或 Key Store 条目不按这种方式管理,它们受项目级权限和项目边界本身约束。在基于更细粒度资源控制建立流程之前,请先核实相应要求。
团队成员可以同时拥有多个角色,包括内置角色、自定义角色,以及全局和项目级角色。其有效权限是所有角色权限的并集,因此其他地方授予的宽泛角色可能抵消精心设置的限制。在依赖某项限制之前,请检查完整的角色集合。
身份验证通过本地账户或受支持的外部身份系统确认登录用户是谁。授权决定该 Semaphore 用户可以访问哪些项目和操作。启用 SSO 并不会自动分配正确的运维角色。请将两者一并设计:确认身份关联、添加预期的项目成员关系,并在委派运维任务之前,用具有代表性的账户测试实际可用的操作。
内置 Task Runner 角色可以运行其项目中的每个模板。如需仅委派选定作业,应使用 Enterprise 自定义角色,只对选定任务模板和工作流授予权限,不授予项目级运行权限。所有已分配角色的权限会合并,因此同时持有更宽泛角色,仍可能让该成员执行其他模板。
可以。Enterprise 自定义角色将项目级权限与单个对象授权结合起来。如果只需特定对象,应关闭项目级权限,仅添加角色所需的任务模板和工作流,并分别选择查看、运行、编辑,以及工作流的审批权限。全局角色只需定义一次,即可跨项目重用;项目角色仅在创建它的项目中使用。用户可以拥有多个角色,且权限累加,因此限制敏感自动化访问时,应检查完整角色集合。
单个对象级别的权限粒度适用于任务模板和工作流。不要假定管理清单、仓库、变量组或 Key Store 条目的项目级权限,也能缩小到其中单个对象。划分运维职责时,请有意识地使用项目边界和现有角色模型。如果访问设计依赖其他类型的资源级限制,请在生产依赖它之前核实具体要求。
文档中的身份验证选项包括本地账户、LDAP 与 Active Directory、OpenID Connect,以及可信反向代理传入的 JWT,具体方案范围见当前对比表。通过外部身份验证的用户仍拥有 Semaphore 用户记录,并需要适当的项目访问权限。修改现有配置前,请检查提供程序标识符和账户关联行为。不要假定启用身份提供程序就会自动将所有目录组映射到授权设计要求的角色。
在外部身份验证配置之外,保留经过测试的本地管理员恢复通道。记录负责人、必要凭据的保管位置,以及故障期间如何使用。应在事故发生前测试流程,避免到时才发现所有管理员都依赖同一个不可用的提供程序。恢复后检查相关账户与项目访问权限,防止临时运维变更成为非预期的永久权限。
可以。内置 Task Runner 角色可运行项目模板,同时对其他资源保持只读。若只需访问选定作业,请使用对这些任务模板和工作流授权的 Enterprise 自定义角色。权限会叠加,因此应检查成员被分配的全部角色。准备好的任务模板让团队随时可使用执行设置。
Guest 角色提供项目只读访问。访客可以查看项目信息和任务结果,但不能执行任务或修改设置。将成员添加到合适的项目团队,同时检查其其他角色。与 Guest 一起分配的更宽泛角色可能授予额外权限。
Enterprise 组映射将 OIDC 提供程序中的组与 Semaphore 项目角色关联。请在提供程序中配置 groups 声明,并为预期项目和角色添加映射。Semaphore 会在用户通过该提供程序登录时刷新角色分配,因此变更在下次登录生效,而不是立即影响现有会话。
可以。在服务器配置中启用 TOTP,用户即可为本地账户绑定身份验证器应用,在密码之后输入基于时间的验证码。绑定时会生成恢复码,供验证器不可用时登录。启用该选项并不会强制每个账户绑定,因此应将推广使用纳入流程。同一配置区域可设置绝对会话时限,无论用户是否活跃,会话都会在固定有效期后结束。