在Checkmarx One中,项目访问已经不再只依赖简单的用户角色,而是同时受到用户或用户组的资源分配范围和角色权限影响。Checkmarx怎么设置项目访问权限,Checkmarx项目成员看不到扫描结果如何排查,需要先确认成员是否真正被分配到目标项目,再检查其角色是否具备查看项目、扫描和结果的权限。当前新版Access Management支持Tenant、Application和Project多个资源层级,不同层级会直接影响成员能够看到哪些项目。
一、Checkmarx怎么设置项目访问权限
如果只希望成员访问某一个项目,可以直接在项目级别进行授权;需要管理同一应用下多个项目时,则可以在应用级别分配权限。
1、把成员分配到指定项目
①进入【Projects】,找到需要授权的项目。
②点击项目右侧的操作菜单,进入【Project Settings】。
③切换到【Authorization】。
④点击【Add Users/Groups/Clients】,搜索需要加入的用户或用户组。
⑤选中目标成员并点击【Done】,再为其分配合适的角色并保存。
项目级授权只允许成员访问当前指定项目;如果成员在Application级别获得授权,则会继承该应用下关联项目的访问范围。
2、根据工作职责选择角色
只给成员加入项目还不够,角色中还要包含实际需要的查看权限。
①普通开发人员只需要查看项目和漏洞结果时,可以优先使用【ast-viewer】一类只读角色。
②需要启动扫描时,可根据职责分配包含扫描权限的角色,例如【ast-scanner】。
③自定义角色时,至少检查是否包含【View Project】【View Scan】和【View Results】。
④需要修改漏洞状态或严重等级时,再额外增加相应的结果修改权限。
⑤不要为了方便直接给普通成员分配管理员角色。
当前Checkmarx One把项目、扫描和结果查看拆分为独立权限,【ast-viewer】包含项目、扫描及结果查看能力,因此成员能够看到项目,并不必然表示也能查看扫描结果。
3、使用用户组统一管理多人权限
①进入【Settings】中的身份与访问管理区域。
②建立或找到对应的用户组,将同一项目团队成员加入该组。
③返回项目的【Authorization】,把整个用户组分配到项目。
④给用户组设置统一角色。
⑤后续人员变化时,只调整组成员,不必逐个修改项目权限。
这种方式更适合开发团队、测试团队和安全团队长期维护,可以减少项目之间出现权限配置不一致。
二、Checkmarx项目成员看不到扫描结果如何排查
成员能够登录Checkmarx,但进入后看不到扫描结果,应先判断他是【看不到项目】、【能看到项目但没有扫描】还是【能看到扫描但无法打开结果】。
1、先确认项目本身是否可见
①让成员进入【Projects】,搜索目标项目名称。
②完全搜索不到项目时,管理员进入该项目的【Authorization】。
③检查成员本人或所属用户组是否已经被明确分配到该项目。
④如果权限配置在Application层级,确认目标项目确实关联到对应Application。
⑤修正后让成员重新登录,再检查项目列表。
新版Access Management迁移后,过去依赖旧组逻辑获得访问权的用户,可能因为没有显式资源分配而看不到项目。官方排查建议也是重新把用户或用户组直接分配到对应资源。
2、项目可见但扫描列表为空
①确认目标项目确实已经完成过扫描。
②让成员进入项目后打开扫描列表。
③检查当前角色中是否包含【View Scan】或对应的扫描查看权限。
④管理员可以临时为该成员分配【ast-viewer】,重新测试是否能够看到扫描。
⑤如果恢复正常,再回头检查原自定义角色缺少了哪项权限。
Checkmarx将【View Project】与【View Scan】分别管理,因此只给项目查看权限时,成员可能能够进入项目,却无法继续查看扫描记录。
3、能看到扫描但没有漏洞结果
①打开该成员当前使用的角色。
②检查是否包含【View Results】。
③确认SAST、SCA或其他扫描引擎本次确实生成了对应结果。
④进入【All Scans】,选择目标扫描,确认管理员账号能够正常打开结果。
⑤管理员正常、普通成员无法查看时,优先调整成员的结果查看权限。
Checkmarx的结果查看权限与扫描查看权限是分开的;正常查看一套扫描结果,通常需要同时具备对应项目、扫描和结果的访问能力。
三、权限已经调整但成员仍然看不到怎么办
权限配置表面正常时,还要继续检查授权层级和成员实际身份,特别是企业环境中使用SSO和用户组同步时。
1、检查成员实际所属用户组
①进入身份与访问管理,找到目标用户。
②检查该用户当前所属组是否与预期一致。
③如果使用身份提供商同步用户组,确认组同步已经完成。
④检查成员是否同时存在多个账号或不同邮箱身份。
⑤确认后重新登录,避免继续使用旧会话中的权限信息。
2、检查权限分配层级是否冲突
①查看成员当前是在【Tenant】【Application】还是【Project】层级获得访问。
②确认目标项目是否处于该授权层级覆盖范围。
③项目只需要少量人员访问时,优先使用项目级分配。
④同一应用下多个项目需要共享权限时,再使用应用级分配。
⑤调整后重新检查项目、扫描和结果三个层级是否都能打开。
总结
Checkmarx的项目权限问题通常不是单一“角色不够”造成的,而是资源分配范围和角色权限没有同时满足。Checkmarx怎么设置项目访问权限,Checkmarx项目成员看不到扫描结果如何排查,实际管理中应尽量让用户组、项目范围和工作职责保持清晰对应,这样既能避免成员看不到必要的安全结果,也能减少过度授权带来的访问风险。希望本文对大家管理Checkmarx项目成员权限有所帮助,如需进一步了解Checkmarx项目访问权限配置与扫描结果不可见问题排查,欢迎联系咨询。