检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
不上传代码到云服务的情况下使用代码检查服务 应用场景 部分用户的代码有严格的保密机制,不允许将代码上传到外部网络,用户希望仅在信任的自有执行机上完成代码扫描服务。华为云CodeArts Check为此提供本实践的扫描方案,在不上传代码到云服务的情况下使用代码检查服务检查代码问题。
Repo服务的操作权限,具体操作可参考授权使用CodeArts Repo服务。 前提准备 已参考自定义购买ECS购买本实践使用的弹性云服务器。 代码检查服务接入的自定义执行机只支持EulerOS2.5操作系统。 接入的自定义执行机中已安装Git-lfs,若未安装,可参考以下示例安装Git-lfs。本示例以使用命令的方式安装为例。
建议使用代码托管的代码导入功能,将代码导入到代码托管,实现安全、稳定、高效下载与构建。 基于项目入口访问CodeArts Check服务首页。 在代码检查页面,单击“新建任务”,在“新建任务”页面,参考表2配置参数。 表2 第三方代码源检查任务参数说明 参数 说明 所属项目 任务所属项目。 以项目入口方式访问CodeArts
请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时
CodeArts Check的通知设置支持系统项目级、服务项目级和任务级,您可以根据实际需求,设置代码检查任务事件类型的通知方式。入口分别如下: 服务项目级:进入项目详情页面,选择“代码 > 代码检查 > 配置中心 > 通知管理”。 任务级:进入代码检查详情页面,选择“设置 > 通知管理”。本节以任务级通知设置为例介绍操作步骤。
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
Token 填写GitCode上获取的Token,获取方法如下: 登录GitCode。 单击页面右上角账号名称,选择“个人设置”。 单击 “+访问令牌”,填写令牌名称以及到期时间。 单击“新建访问令牌”,生成“你的个人访问令牌”,即Token。 单击,即可复制生成的Token。 说明:
根据需要勾选规则名称、设置规则级别,单击右上角“保存”。 如果系统预置的规则不满足用户的使用要求,可自定义规则使用。 单击规则集名称,进入规则集详情页面可在线查看规则集中使用的规则详情。 单击规则集名称,进入规则集详情页面,单击“导出”按钮可导出该规则集中已启用的规则到本地查看规则详情。
已将自定义环境推送到镜像仓中,具体操作请参见制作镜像并推送到SWR仓库。 配置自定义镜像 基于项目入口访问CodeArts Check服务首页。 进入代码检查页面,在任务列表中,单击任务名称。 在代码检查详情页面,选择“设置 > 自定义环境”。 在“自定义镜像”中,输入以“域名称/组织名称/仓名称:ta
配置代码检查任务高级选项 配置新问题起始时间 在每个任务的基础上可以设置新问题起始时间。起始时间设置之后要重新扫描,问题的发现时间大于设置时间将被划分为新问题。如果没有设置起始时间,连续两次的检查结果对比,新增的就是新问题数。 基于项目入口访问CodeArts Check服务首页。 进入代码检查页面,在任务列表中,单击任务名称。
图1 代码检查任务ID 创建访问凭证AK和SK 登录管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 单击“访问密钥”。 单击“新增访问密钥”,弹出“新增访问密钥”页面。 输入该访问密钥的描述信息。 单击“确定”,下载访问密钥。 为防止访问密钥泄露,建议您将其保存到安全的位置。
Repo服务的代码质量,同时也可使用服务扩展点连接第三方代码仓库检查代码质量。 在项目下的CodeArts Check服务页面的导航栏选择“设置 > 通用设置 > 服务扩展点管理”。 单击“新建服务扩展点”,在下拉列表中选择“通用Git”。 在弹框中配置以下信息,单击“确定”。 表2 新建通用Git服务扩展点
配置代码检查任务定时执行 根据实际需要,设置代码检查任务的执行计划,定时执行默认分支的检查任务。 建议在非流水线使用情况下进行配置。 约束与限制 配置当天时间间隔必须在5分钟以上。 配置执行计划 基于项目入口访问CodeArts Check服务首页。 进入代码检查页面,在任务列表中,单击任务名称。
难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。 不同用户之间的代码差异大,研发无法实时掌握不同用户的具体需求,在开发规则过程中难以针对不同用户的业务代码场景来制定全面有效的工具规则。
身份认证与访问控制 身份认证 用户访问代码检查服务的方式有多种,包括代码检查用户界面、API、SDK,无论访问方式封装成何种形式,其本质都是通过代码检查提供的REST风格的API接口进行请求。 代码检查的接口需要经过认证请求后才可以访问成功。代码检查支持两种认证方式: Token
代码检查服务提供丰富的API接口、涵括任务新建、任务设置、任务扫描、任务报告解析等检查业务全流程,支持用户使用接口方式无缝集成到自建CI/CD或者CodeArts,作业数据灵活对接到客户看板,代码质量可视、可管理。 同时通过灵活的任务管理,支持排除目录设置避免无效扫描,并支持混合语言检查、简化部署、一次获取整个版本代码质量。
支持 攻击者利用在网站、电子邮件中的链接插入恶意代码,盗取用户信息。 不支持 支持 LDAP注入 支持 支持 利用用户输入的参数生成非法LDAP查询,盗取用户信息。 不支持 支持 不安全的反射 支持 支持 攻击者利用外部输入绕过身份验证等访问控制路径,执行非法操作。 不支持 支持
odeArts Check IDE插件。 方式二:通过华为云账号的AK/SK登录。 获取华为云账号的AK/SK。 登录华为云访问密钥界面。 单击“新增访问密钥”,在弹出的窗口中根据实际需要填写描述信息。 单击“确定”,弹出“身份验证”窗口,通过手机的验证方式进行身份验证。 输入验
案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录代码检查的管理事件和数据事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。
CodeArts Check通过调用API执行MR增量检查 应用场景 在用户实际的使用场景中,用户往往有构建自己的代码质量管控平台,集成代码检查及其他检查项的需求。并且在用户的应用场景中,MR合入过程中的质量监控是一个高频应用场景。 本示例介绍如何通过调用CodeArtsCheck