云服务器内容精选
-
配置VPN连接云下数据中心与云上VPC(可选操作) 本地网络无法访问公网时需要配置。 图1 方案架构 参考创建虚拟私有云和子网创建“华北-北京四”的VPC。 参考创建VPN网关,购买并创建“华北-北京四”的VPN网关。 购买后可在 虚拟专用网络 VPN页中查看到已创建的VPN网关,如下图所示。 图2 VPN网关 参考创建VPN连接,购买并创建“华北-北京四”的VPN连接。 购买后可在虚拟专用网络VPN页中查看到已创建的VPN连接,如下图所示。 图3 VPN连接 其中“本端网关”和“本端子网”填写的是2中的网关和子网,“远端网关”和“远端子网”填写的是本地网络的网关和子网。 参考创建VPN连接,购买并创建本地网络的VPN连接。 其中“本端网关”和“本端子网”填写的是本地网络的网关和子网,“远端网关”和“远端子网”填写的是2中华为云的网关和子网。 在终端节点控制台页面,按照表2购买“华北-北京四”的 VPC终端节点 VPCEP。其他参数保持默认即可。 表2 终端节点购买信息 区域 华北-北京四 服务类别 按名称查找服务 服务名称 依次购买以下节点。 如果是华北-北京四: APIG:com.myhuaweicloud.cn-north-4.api Octopus:cn-north-4.octopus-customer.240cf05d-34cb-48a7-a8a3-443cd496de27 SWR:com.myhuaweicloud.cn-north-4.swr OBS:cn-north-4.com.myhuaweicloud.v4.obsv2.OBSCluster9 Mirror:repo2.myhuaweicloud.com 如果是广州: APIG:com.myhuaweicloud.cn-south-1.api Octopus:cn-south-1.octopus-customer.3da50262-7b47-45c0-b26c-9e19dc155f5d SWR:swr.cn-south-1.myhuaweicloud.com OBS:cn-south-1.com.myhuaweicloud.v4.obsv2 Mirror:repo.myhuaweicloud.com 虚拟私有云 选择1中购买的VPC。 购买后可在终端节点列表页查看已购买的终端节点,如下图所示。 图4 终端节点 在本地的执行机中执行ping命令,对5中购买的任意一个终端节点IP进行连通性测试。出现以下相似结果,表示本地执行机可以访问终端节点。 图5 连通性测试结果 在用户本地执行机上执行以下命令,确认OBS的 域名 解析IP。 确认“华北-北京四”的OBS: dig secdev-codecheck-cn-north-4-01.obs.cn-north-4.myhuaweicloud.com dig op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com 确认“广州”的OBS: dig cn-south-1-obs-codecheck-v2.obs.cn-south-1.myhuaweicloud.com dig op-svc-swr-b051-10-230-33-197-3az.obs.cn-south-1.myhuaweicloud.com 如果执行机未安装dig工具,可执行yum install bind-utils命令进行安装。 图6 “华北-北京四”域名解析结果一 图7 “华北-北京四”域名解析结果二 如图6和图7所示,解析到“华北-北京四”的OBS域名IP为“x.x.x194/31”和“122.x.x.x/31”网段。 分别在3VPN连接的“本端子网”和4VPN连接的“远端子网”中添加7的网段。 图8 修改VPN连接 图9 添加远端子网 在本地网络配置DNS域名解析。 方式一:(本地已安装DNS服务器) 参考创建内网域名(需要创建内网域名和添加记录集),创建表3的域名。 表3 DNS域名 服务 华北-北京四域名 广州域名 IP SWR swr.cn-north-4.myhuaweicloud.com swr.cn-south-1.myhuaweicloud.com 5中SWR对应的服务地址 Octopus agent.codearts.cn-north-4.myhuaweicloud.com agent.codearts.cn-south-1.myhuaweicloud.com 5中Octopus对应的服务地址 APIG cloudoctopus.cn-north-4.myhuaweicloud.com cloudoctopus.cn-south-1.myhuaweicloud.com 5中APIG对应的服务地址 Mirror mirrors.huaweicloud.com mirrors.huaweicloud.com 5中Mirror对应的服务地址 方式二:(本地未安装DNS服务器) 在本地执行机的“/etc/hosts/”文件中增加以下配置。 ${SWR对应的VPCEP IP} swr.cn-north-4.myhuaweicloud.com ${Octopus对应的VPCEP IP} agent.codearts.cn-north-4.myhuaweicloud.com ${APIG对应的VPCEP IP} cloudoctopus.cn-north-4.myhuaweicloud.com ${Mirror对应的VPCEP IP} mirrors.huaweicloud.com 在本地的执行机中执行以下命令,进行连通性测试。 “华北-北京四”的OBS: ping swr.cn-north-4.myhuaweicloud.com ping agent.codearts.cn-north-4.myhuaweicloud.com ping cloudoctopus.cn-north-4.myhuaweicloud.com ping mirrors.huaweicloud.com ping secdev-codecheck-cn-north-4-01.obs.cn-north-4.myhuaweicloud.com ping cloud-octopus-agent.obs.cn-north-4.myhuaweicloud.com ping op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com “广州”的OBS: ping swr.cn-south-1.myhuaweicloud.com ping agent.codearts.cn-south-1.myhuaweicloud.com ping cloudoctopus.cn-south-1.myhuaweicloud.com ping mirrors.huaweicloud.com ping cn-south-1-obs-codecheck-v2.obs.cn-south-1.myhuaweicloud.com ping cloud-octopus-agent.obs.cn-south-1.myhuaweicloud.com ping op-svc-swr-b051-10-230-33-197-3az.obs.cn-south-1.myhuaweicloud.com 参考挂载云硬盘。其中挂载目录为“/devcloud”。
-
操作流程 表1 操作流程 流程 说明 配置VPN连接云下数据中心与云上VPC(可选) 可选操作。本地网络无法访问公网时需要配置。 配置本地网络可以访问云上VPC。 新建项目 为本实践新建项目。 新建自定义执行机资源池 为本实践新建所需的自定义执行机资源池。 新建通用Git服务扩展点 创建服务扩展点,可访问用户使用的第三方代码仓。 创建并执行代码检查任务 创建代码检查任务并配置使用自定义执行机执行检查。通过该实践的方案进行的扫描,不会将代码上传至云服务。
-
前提准备 已在私有网络创建自定义执行机。执行机规格为CentOS 7及以上,推荐配置为CPU:8U,内存:32G,系统盘:100G,数据盘:250G。 需确保本地执行机yum源可用,详情可参考使用自动化工具配置华为云镜像源。 接入的自定义执行机中已安装Git-lfs,若未安装,可参考以下示例安装Git-lfs。本示例以使用命令的方式安装为例。 在执行机上执行以下命令。 # 下载 wget -O git-lfs.tar.gz https://github.com/git-lfs/git-lfs/releases/download/v3.4.1/git-lfs-linux-amd64-v3.4.1.tar.gz # 解压 tar -zxvf git-lfs.tar.gz # 进入解压后的目录 cd git-lfs-3.4.1 # 执行安装脚本 sh install.sh # 验证 git lfs version
-
CodeArts Check最佳实践汇总 本文汇总了基于代码检查服务(CodeArts Check)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松检查代码。 表1 CodeArts Check最佳实践一览表 最佳实践 说明 使用预置规则检查GitCode代码仓中的代码质量 如果您的代码存放在GitCode代码仓中,可参考本实践的操作指导完成检查代码质量。本实践为您介绍如何使用系统预置规则检查GitCode代码仓中的Java语言代码质量。 使用预置规则检查通用Git代码仓中的代码质量 如果您的代码存放在通用Git代码仓中,可参考本实践的操作指导完成检查代码质量。本实践为您介绍如何使用系统预置规则检查通用Git代码仓中的Java语言代码质量。 使用自定义规则检查CodeArts Repo代码仓中的代码质量 随着现在项目的代码量越来越大,以及现有开发框架的增加,静态分析所需要覆盖的场景也日益增多,存在的问题如下: 传统静态分析引擎靠工具提供通用规则来对常见安全,风格和质量场景下的编码问题进行扫描分析,难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。 不同用户之间的代码差异大,研发无法实时掌握不同用户的具体需求,在开发规则过程中难以针对不同用户的业务代码场景来制定全面有效的工具规则。 本示例为您介绍如何使用自定义规则检查代码中存在调试代码的问题。 不上传代码到云服务的情况下使用代码检查服务 部分用户的代码有严格的保密机制,不允许将代码上传到外部网络,用户希望仅在信任的自有执行机上完成代码扫描服务。华为云CodeArts Check为此提供本实践的扫描方案,在不上传代码到云服务的情况下使用代码检查服务检查代码问题。 使用自定义执行机执行代码检查任务 当CodeArts Check提供的内置执行机不满足业务要求时,您可接入自行提供的执行机,通过注册的方式托管到CodeArts Check服务中,委托CodeArts Check服务进行调度并执行代码检查任务。本实践我们通过检查CodeArts Repo代码仓的代码问题来演示使用自定义执行机执行代码检查任务。 CodeArts Check通过调用API执行MR增量检查 本示例介绍如何通过调用CodeArtsCheck API方式,执行MR增量代码检查并获取检查结果。通过调用CodeArtsCheck API可以不使用华为云前端,从而构建自己的全流程代码质量管控平台,同时也可以实现对非Codearts Repo代码仓的门禁级检查。本示例将以通用Git为例,进行方案介绍。 使用Jenkins插件集成CodeArts Check执行代码检查 利用Jenkins工具现有能力,实现代码检查服务的快速集成,包含执行检查、状态查询、报告输出等基本扫描流程。用户可根据基础方案进行自定义开发。 本文介绍如何通过Jenkins工具及CodeArtsCheck API,实现代码检查服务集成与调度。本示例将以通用Git为例,进行方案介绍。 HE2E DevOps实践之代码检查 本文以“DevOps全流程示例项目”为例,介绍如何在项目中进完成代码检查配置。
-
预置任务简介 样例项目中预置了以下4个代码检查任务。 表1 预置任务 预置任务 任务说明 phoenix-codecheck-worker 检查Worker功能对应代码的任务。 phoenix-codecheck-result 检查Result功能对应代码的任务。 phoenix-codecheck-vote 检查Vote功能对应代码的任务。 phoenix-sample-javas 检查整个代码仓库对应的JavaScript代码的任务。 本章节以任务“phoenix-codecheck-worker”为例进行讲解。
-
前提准备 已参考自定义购买E CS 购买本实践使用的弹性云服务器。 代码检查服务接入的自定义执行机只支持EulerOS2.5操作系统。 接入的自定义执行机中已安装Git-lfs,若未安装,可参考以下示例安装Git-lfs。本示例以使用命令的方式安装为例。 在执行机上执行以下命令。 # 下载 wget -O git-lfs.tar.gz https://github.com/git-lfs/git-lfs/releases/download/v3.4.1/git-lfs-linux-amd64-v3.4.1.tar.gz # 解压 tar -zxvf git-lfs.tar.gz # 进入解压后的目录 cd git-lfs-3.4.1 # 执行安装脚本 sh install.sh # 验证 git lfs version 已挂载云硬盘。
-
操作流程 表1 操作流程 序号 步骤 说明 1 创建代码检查任务所属项目 创建代码检查任务所属的项目。 2 创建CodeArts Repo代码仓 创建代码检查任务使用的代码仓。 3 创建规则文件 创建自定义规则时需要上传使用的规则文件。 4 创建自定义规则 在代码检查服务页面创建自定义规则。 5 创建自定义规则集 自定义规则无法直接使用,需要通过创建自定义规则集使用。 6 创建代码检查任务 创建使用自定义规则检查的代码检查任务。 7 使用自定义规则集执行检查任务 配置代码检查任务使用带有自定义规则的自定义规则集。 8 查看检查结果 查看检查结果,确认使用的规则是否生效。
-
应用场景 随着现在项目的代码量越来越大,以及现有开发框架的增加,静态分析所需要覆盖的场景也日益增多,存在的问题如下: 传统静态分析引擎靠工具提供通用规则来对常见安全,风格和质量场景下的编码问题进行扫描分析,难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。 不同用户之间的代码差异大,研发无法实时掌握不同用户的具体需求,在开发规则过程中难以针对不同用户的业务代码场景来制定全面有效的工具规则。 本示例为您介绍如何使用自定义规则检查代码中存在调试代码的问题。
-
创建代码检查任务 在代码检查任务列表页,单击“新建任务”,按照如下表格配置参数。 表3 代码检查任务参数说明 参数 说明 归属项目 创建代码检查任务所属项目中创建的项目名称“Scrum01”。默认填写,无需配置。 代码源 选择需要检查的代码来源。选择“Repo”。 任务名称 代码检查任务名称,可自定义。例如:CheckTask01。 仓库 选择创建CodeArts Repo代码仓中创建的代码仓“Repo01”。 分支 保持默认“master”即可。 检查语言 选择“Java”。 单击“确定”,完成代码检查任务的创建。
-
配置规则集执行检查任务 由于在创建代码仓时,已选择自动创建代码检查任务,因此在代码检查任务列表页,已展示对应的代码检查任务。在代码检查任务列表页单击代码检查任务名称,进入代码检查任务详情页。 单击“设置”。 单击“规则集”,在右侧区域单击选择“华为Java增强编程规则集”。 图1 选择规则集 单击“编译配置”,将“编译工具选项”开关设置为状态,“编译工具”选择“maven”。其他参数保持默认即可。 图2 编译配置 单击右上角“开始检查”。
-
全面 支持Java/C++/JavaScript/Go/Python/C#/TypeScript/ CSS /HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS/SQL等多种主流开发语言。 支持代码规范检查、安全检查、代码重复率和圈复杂度检查。 兼容CWE/HUAWEI/OWASP TOP 10/ISO 5055/SANS TOP 25/CERT/MISRA/PCI DSS/AUTOSAR/GJB安全标准。
-
支持代码安全检查 支持场景 软件开发阶段对代码质量和安全问题进行自动化检查,支持内置安全规范、要求到软件生产作业流,帮助企业软件生产安全。 提供深度代码安全检查能力,帮助政务云运营者和大企业管控ISV软件安全质量,构建供应链安全体系。 能力说明 提供跨函数、跨文件检查能力,提供污点分析检查能力。 支持注入类、信息泄露类(AccessKey)等TOP安全漏洞检查。 支持华为云编程规范,兼容支持CWE/HUAWEI/OWASP TOP 10/ISO 5055/SANS TOP 25/CERT/MISRA检查。
-
CodeArts Check IDE插件介绍 CodeArts Check IDE插件致力于守护开发人员代码质量,成为开发人员的助手和利器。 本IDE插件秉承极简、极速、即时看护的理念,提供业界规范(含华为云)检查、代码风格一键格式化及代码自动修复功能。 打造了代码检查“快车道”,实现精准、快速检查前移,与Check云端服务共同构筑了三层代码防护体系。 内置的轻量级扫描规则作为云端规则的子集,可以在云端查看到所有IDE端规则,实现安全扫描左移,并且覆盖了30多种缺陷分类。 当前CodeArts Check IDE插件支持Java、C、C++、Python,并已上线4个主流IDE平台:VSCode IDE、Intellij IDEA、CodeArts IDE、Cloud IDE。
-
代码安全检查增强包介绍 华为代码安全检查增强包里安全检查能力作为深度价值特性,能深度识别代码中安全风险和漏洞,提供了套餐包内规则不覆盖的安全类场景,比如数值错误、加密问题、数据验证问题等。针对业界的安全漏洞检测项提供了更深入的分析能力,比如,跨函数、跨文件、污点分析、语义分析等。 当前代码安全检查增强包一共有284条规则,涵盖Java语言61个, C++ 语言199个, Go语言8个, Python语言16个。 代码安全检查增强包里安全检查能力支持的检查项如下: 覆盖符合污点分析传播模型的漏洞检查,如命令注入、SQL注入、路径遍历、信息泄露等。 覆盖业界常见的安全漏洞检测项,如命令注入、LDAP注入、SQL注入、开放重定向漏洞、数值处理、信息泄露等。 支持密码、API秘钥和访问令牌硬编码检查能力。 支持AcessKey泄露检查。 如果某租户购买了1个增强包,该租户账号及其所有 IAM 账号均可使用所有增强包相关的规则。 代码安全检查增强包对于扫描次数和扫描的代码行数没有任何限制,仅对代码检查任务并发数有限制,即,买1个增强包代表该租户账号可以扫描1个安全增强特性包规则的代码检查任务,其余任务需要排队等待;买2个增强包表示可同时扫描2个代码检查任务 ……买n个增强包表示可同时扫描n个代码检查任务。当前最多可以买100个。购买方法可参考购买增值特性。 增强包不可单独购买,需要在购买了专业版或企业版CodeArts之后才会生效,如果购买的CodeArts套餐过期,代码检查特性增强包会失效。
-
云服务代码检查功能列表 表1 云服务代码检查功能列表 功能 描述 编码问题检查 用编码问题检查规则集,对自己的代码进行编码问题缺陷检查。 代码安全检查 用代码安全检查规则集,对自己的代码进行代码安全风险和缺陷检查。 代码风格检查 用代码风格检查规则集,检查自己的代码是否匹配选定风格。 代码健康度评分 一个综合性统一指标,与告警影响度、告警数量、代码量都有关系。自动计算代码健康度分数。 问题管理 通过问题管理中的问题描述、问题状态、检查规则、文件路径、源码以及修改建议等,对检查出来的问题进行处理。 代码圈复杂度 通过代码圈复杂度报表评估代码质量风险。 NBNC代码行 代码检查支持扫描的文件代码行,不包括空行和注释行。 代码重复率 通过代码重复率报表评估代码质量风险。 定时执行检查 提供每周、每日定时检查代码功能,让用户休息编译两不误。 检查结果通知 检查完成后,通过邮件通知和 消息通知 相关人员检查结果,便于进行及时处理。 多种语言的代码检查 包括Java/C++/JavaScript/Go/Python/C#/TypeScript/CSS/HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS/SQL。