CN117349848A - 软件资源请求的处理方法、装置、设备及存储介质 - Google Patents
软件资源请求的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117349848A CN117349848A CN202311540312.7A CN202311540312A CN117349848A CN 117349848 A CN117349848 A CN 117349848A CN 202311540312 A CN202311540312 A CN 202311540312A CN 117349848 A CN117349848 A CN 117349848A
- Authority
- CN
- China
- Prior art keywords
- software
- client
- resource
- registration
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000011217 control strategy Methods 0.000 claims abstract description 22
- 238000005192 partition Methods 0.000 claims description 28
- 238000012827 research and development Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 11
- 238000012502 risk assessment Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 64
- 238000011161 development Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000010276 construction Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种软件资源请求的处理方法、装置、设备及存储介质,涉及信息安全领域。该方法包括:获取客户端的IP地址和客户端所请求的目标软件;根据IP地址,确定资源管控策略,资源管控策略包括第一策略和第二策略;在资源管控策略为第一策略时,查询目标软件的引入状态,并根据引入状态,确定是否为客户端配置软件使用权限,软件使用权限用于客户端从软件仓库中下载并使用目标软件;在资源管控策略为第二策略时,查询目标软件的引入状态、目标软件的预登记情况,并根据引入状态、预登记情况中的至少一种,确定是否为客户端配置软件使用权限。本方案可以防止企业内部使用存在高危漏洞的开源软件资源或者不合规资源,减少安全隐患。
Description
技术领域
本申请涉及信息安全领域,尤其涉及一种软件资源请求的处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,各企业对软件产品(例如第三方软件、自研软件制品等)的统一管理需求日益增加,但是第三方软件和自研软件制品等有可能存在有漏洞等安全问题,为此需要配置相应的安全管理策略。
当前业界主流的开源制品管理平台为Nexus,通过开源Nexus管理软件、自研软件制品。
但是当前开源Nexus对仓库内所有软件制品均无安全管控方案,无法根据开源软件制品的漏洞等级进行下载和上传的控制,存在较大的安全风险。
发明内容
本申请提供一种软件资源请求的处理方法、装置、设备及存储介质,用以解决目前缺乏软件管控方案,存在漏洞等安全隐患的软件容易被企业工作人员使用,存在安全风险的技术问题。
第一方面,本申请提供一种软件资源请求的处理方法,应用于软件资源处理系统,所述软件资源处理系统至少包括网关和软件仓库,所述网关与所述软件仓库之间建立通信连接,所述方法包括:
响应于客户端向所述网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件;
根据所述IP地址,确定资源管控策略,所述资源管控策略包括第一策略和第二策略;
在所述资源管控策略为第一策略时,查询所述目标软件的引入状态,并根据所述引入状态,确定是否为所述客户端配置软件使用权限,所述软件使用权限用于所述客户端从所述软件仓库中下载并使用所述目标软件;
在所述资源管控策略为第二策略时,查询所述目标软件的引入状态、所述目标软件的预登记情况,并根据所述引入状态、预登记情况中的至少一种,确定是否为所述客户端配置软件使用权限。
第二方面,本申请提供一种一种软件资源请求的处理装置,包括:
请求获取模块,用于响应于客户端向所述网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件;
策略确定模块,用于根据所述IP地址,确定资源管控策略,所述资源管控策略包括第一策略和第二策略;
第一策略模块,用于在所述资源管控策略为第一策略时,查询所述目标软件的引入状态,并根据所述引入状态,确定是否为所述客户端配置软件使用权限,所述软件使用权限用于所述客户端从所述软件仓库中下载并使用所述目标软件;
第二策略模块,用于在所述资源管控策略为第二策略时,查询所述目标软件的引入状态、所述目标软件的预登记情况,并根据所述引入状态、预登记情况中的至少一种,确定是否为所述客户端配置软件使用权限。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述的方法。
本申请提供的软件资源请求的处理方法、装置、设备及存储介质,通过在企业内部实施软件管控策略,有效防止企业内部使用存在高危漏洞的开源软件资源或者不合规资源,给企业内部带来潜在安全隐患,而且能够做到根据不同场景进行管控区分,在保障生产安全的同时,注重研发效率,提高对软件管理的灵活性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的软件资源处理系统结构示意图。
图2为本申请实施例提供的软件资源请求方法的流程示意图;
图3为本申请实施例提供的流水线分区的软件请求示意图;
图4为本申请实施例提供的本地研发分区的软件请求示意图;
图5为本申请实施例提供的软件资源请求的整体框架示意图;
图6为本申请实施例提供的软件资源请求的处理装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请提供的软件资源请求的处理方法和装置可用于信息安全技术领域,也可用于除信息安全技术之外的任意领域,本申请提供的软件资源请求的处理方法和装置的应用领域不作限定。
随着企业目前对开源软件制品的安全和质量要求越来越高,现有开源产品(如Nexus平台)构建平台逐渐无法满足相关制度的安全管理要求,例如目前业界主流的开源软件制品管理平台为Nexus平台,Nexus平台对所有软件制品均无安全管控方案,当软件出现漏洞等情况时,无法根据开源软件制品的漏洞等级进行下载和上传的控制,仅能通过代码扫描,邮件提醒各应用进行整改,这为企业研发环境带来潜在研发安全威胁。
针对上述问题,本方案通过对接行内软件产品管理系统实现对开源软件制品的安全管控能力,保障生产运行的安全,同时,对于本地研发环境,建立预评估管理机制对新增开源软件进行试用评估,在维护研发安全的同时保障研发效率。
图1为本申请提供的软件资源处理系统结构示意图,如图1所示,客户端(例如计算机设备)通过向网关发起软件资源请求,请求获取下载和使用某个软件的权限,由网关对该软件的引入进行判断,确定是否可以引入该软件和给与客户端下载和使用该软件的权限,例如当判定该软件没有安全漏洞时,则引入该软件并响应客户端的请求,为客户端配置下载和使用该软件的权限,此时客户端可以从软件仓库或者外部资源仓库下载其中存放的软件。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例提供的软件资源请求方法的流程示意图,该方法可以应用于软件资源处理系统。其中,软件资源处理系统至少包括有网关和软件仓库,网关用于响应客户端发起的软件资源请求,软件仓库则用于存储引入的软件,网关与软件仓库之间建立通信连接。如图2所示,该方法具体可以包括如下步骤:
步骤S201,响应于客户端向网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件。
在本实施例中,对于企业而言,由于涉及到不同的业务、部门等情况,软件的使用环境会有所不同,例如软件可能是应用于流水线上的,也有可能是本地研发环境。在客户端向网关发起软件资源请求时,软件资源请求中会包含有其所需要下载和使用的目标软件和客户端的IP地址,网关通过获取该IP地址,可以区分出其具体属于流水线还是本地研发环境,基于不同的使用环境,对软件的管控策略会有所不同。
步骤S202,根据IP地址,确定资源管控策略。其中,资源管控策略包括第一策略和第二策略。
在本实施例中,不同的IP地址所表征的是目标软件的使用环境有所不同,例如当IP地址为本地研发环境的IP地址时,客户端所请求的目标软件后续将会应用于本地研发环境,而当IP地址为流水线上的IP地址时,客户端所请求的目标软件后续将应用于流水线上。对于不同的使用环境,网关对该目标软件的管控要求不同。
其中,可以构建IP地址与资源管控策略之间的对应关系表,例如当IP地址为本地研发环境的IP地址时,则对应第一策略,当IP地址为流水线环境的IP地址时,则对应第二策略。
需要说明的是,根据企业所涉及的业务和部门的不同,目标软件的使用环境可能多种多样,在此不一一举例,不同使用环境客户端的IP地址不同,在网关处不同的IP地址,配置的资源管控策略又不同。其中,不同的资源管控策略用于确定是否为客户端配置该目标软件的权限。
步骤S203,在资源管控策略为第一策略时,查询目标软件的引入状态,并根据引入状态,确定是否为客户端配置软件使用权限,软件使用权限用于客户端从软件仓库中下载并使用目标软件。
在本实施例中,网关具体可以分为负载均衡模块和扩展模块,负载均衡模块与软件仓库、扩展模块建立通信连接,扩展模块用于通过软件引入查询接口,从软件产品管理系统查询记目标软件的引入状态。示例性的,若网关为Nginx网关,则其包括有Nginx负载均衡模块和Nginx扩展模块。其中,Nginx可通过Lua语言进行功能增强和扩展,通过扩展出软件产品管理系统,可以实现由软件产品管理系统来管理每个软件的引入状态。
其中,对于企业当前提供业务项目,其中会涉及到需要使用到的软件,软件产品管理系统可以对这些软件的引入状态进行标记,将其引入状态标记为“已引入”或“未引入”。其中,软件在引入过程中需要进行漏洞扫描、安全风险分析等,在完成漏洞扫描和安全风险分析之后,软件的引入状态可以被标记为“已引入”。
在本实施例中,当目标软件的引入状态被标记为“已引入”时,则可以为该客户端配置软件使用权限,此时负载均衡模块可以对所有仓库(包括软件仓库和外部资源仓库)请求进行代理转发和负载均衡,由客户端从其中下载目标软件。
步骤S204,在资源管控策略为第二策略时,查询目标软件的引入状态、目标软件的预登记情况,并根据引入状态、预登记情况中的至少一种,确定是否为客户端配置软件使用权限。
在本实施例中,网关除了扩展出软件产品管理系统之外,还可以通过扩展出预登记平台来记录每个软件的预登记情况。其中,预登记情况用于避免复杂的软件引入流程降低本地测试环境研发效率。本地研发环境的开发人员可在该预登记平台对所需使用的开源软件进行信息登记,由应用管理员进行审批,审批通过后该开发人员可拥有一个月的软件试用期,在此期间,该开发人员可在本地研发测试环境使用该开源软件。一个月到期后,若该开源软件仍未在软件产品管理系统中引入登记,则禁止该开发人员下载使用。
本申请实施例通过利用网关对接软件产品管理系统和预登记平台,可以实现对开源软件制品的安全管控能力,保障生产运行的安全,避免客户端使用存在漏洞等存在安全风险的开源软件制品。同时,对于本地研发环境,建立预评估管理机制对新增开源软件进行试用评估,在维护研发安全的同时保障研发效率。
实施例二
在本实施例中,可以在网关中配置构建机清单,网关通过该构建机清单来区分客户端属于流水线分区或本地研发分区。具体的,可以通过如下步骤实现:获取在网关中预先配置的构建机清单;根据构建机清单和客户端的IP地址,确定客户端为流水线分区或本地研发分区;若客户端为流水线分区,则确定资源管控策略为第一策略;若客户端为本地研发分区,则确定资源管控策略为第二策略。其中,构建机清单中包括构建机的IP地址。
在本实施例中,用户的软件资源请求均会发送到Nexus网关(Nginx),网关侧维护一个构建机清单,清单中记录所有构建机的ip地址。当客户端发起软件资源请求时,Nexus网关通过识别ip地址,基于构建机清单来区分是使用第一策略或第二策略。
示例性的,下表1为本申请实施例提供的构建机清单:
IP地址 | 分区 | 资源管理策略 |
IP1111-IP2000 | 流水线分区 | 第一策略 |
IP2001-IP3000 | 本地研发分区 | 第二策略 |
表1
示例性的,在资源管控策略为第一策略时,可以通过如下方式确定是否为客户端配置软件使用权限:若引入状态为未引入,则返回第一结果,第一结果用于表征禁止客户端从软件仓库中下载目标软件;若引入状态为已引入,则返回第二结果,第二结果用于表征允许客户端从软件仓库中下载目标软件。
其中,在另一些实施方式中,软件资源处理系统还包括软件产品管理系统,软件产品管理系统中配置有每个软件的引入状态;可以通过网关从软件产品管理系统查询目标软件的引入状态。
在本实施例中,软件产品管理系统中记录了每个软件的引入状态。其中,引入状态包括有“已引入”和“未引入”两种,当软件经过漏洞扫描、风险评估、层层审批等操作后确定其使用较为安全,不存在安全风险时,将会被标记为“已引入”。
其中,流水线上所使用的软件通常有严格的管控需求,例如需要保证其没有安全风险且需要通过管理员的人工审批,而本地研发环境所使用的软件的管控相对宽松,其可能组要保证没有安全风险即可。为此,当确定客户端为流水线分区时,需要对客户端请求的目标软件进行检测,根据其引入状态再确定是否可以供客户端使用。
进一步的,在其他实施方式中,当目标软件的引入状态为“未引入”时,客户端可以发起软件资源的引入登记请求,由软件产品管理系统对软件资源进行审核操作,引入审核操作包括漏洞扫描、风险分析和人工审批;将完成审核操作的软件资源的引入状态记录为已引入;将未完成审核操作的软件资源记录为未引入。
在本实施例中,以客户端发起引入登记请求的软件资源为目标软件为例(即此时目标软件的引入状态为“未引入”),可以在软件产品管理系统侧研发开源软件引入情况的查询接口,供Nexus网关进行调用,通过开源软件的引入情况进行准入判断,当引入情况为“未引入”时,可以对当前的目标软件进行漏洞扫描、风险分析和人工审批等审核操作,来进一步争取引入该目标软件。
具体的,可以先对目标软件进行漏洞扫描,然后进行安全风险分析,在通过漏洞扫描确定目标软件没有漏洞,且通过安全风险风险确定目标软件不再存在安全风险之后,再发送给管理员进行人工审核,在人工审核通过之后,目标软件的引入状态被标记为“已引入”。
示例性的,图3为本申请实施例提供的流水线分区的软件请求示意图,如图3所示,客户端(例如计算机设备上搭载的客户端)可以向网关的扩展模块发起软件资源请求,同时会在软件产品管理系统侧研发开源软件引入情况的查询接口,供Nexus网关的扩展模块进行调用,通过开源软件的引入情况进行准入判断。
其中,仓库中的所有资源请求都可以通过Nginx网关。扩展模块用于对所有发送到Nexus的请求进行解析,根据解析内容针对性做请求管控。软件产品管理系统为开源软件信息管理系统,各软件会在该软件产品管理系统上对项目中使用到的开源软件进行引入登记,引入需进行漏洞扫描、风险分析等,提交引入申请后需各级管理人员进行审批,全部审批完成后才视为引入成功。软件仓库为基于开源Nexus搭建部署,项目构建时拉取和上传软件资源均通过软件仓库。外部资源仓库中存储一些第三方软件资源,如外部软件资源。
本申请实施例通过查询软件的引入状态,根据引入状态对流水线分区发起的软件请求进行审核,可以对流水线上使用的软件资源进行严格管控,避免流水线上所使用的软件资源存在漏洞、安全风险等情况,提高流水线上所使用软件的安全性。
实施例三
在本实施例中,由于对流水线分区所使用的软件管控较为严格,需要层层审批等操作,客户端在请求该目标软件时可能会耗费大量的时间等待(例如如果目标软件为“未引入”,就需要再发起引入申请,进行漏洞扫描、风险评估、层层审批等操作),而本地研发环境的开发人员为了研发需要,通常需要能够尽快的获得软件的使用权限,为此,软件资源处理系统还包括预登记平台,预登记平台均与网关通信连接,预登记平台用于记录目标软件的预登记情况,网关可以从预登记平台查询目标软件的预登记情况。
其中,当客户端为本地研发分区时,可以先确定其请求的目标软件的引入状态是否为“已引入”,若引入状态为已引入,则为客户端配置软件使用权限;若引入状态为未引入,则根据预登记情况,确定是否为客户端配置软件使用权限。
在本实施例中,为了避免复杂的开源软件引入流程降低本地研发环境的工作人员的效率,当本地研发环境的工作人员使用客户端发起目标软件请求时,如果目标软件的引入状态为“未引入”,此时可以采取补救措施,即从预登记平台获取目标软件的预登记情况,基于其预登记情况再确定是否为客户端配置使用权限,如此可以更加灵活的应对需要急需使用软件资源的工作人员。
其中,预登记情况可以分为“已登记”、“未登记”和“登记到期时间”三种,可以由工作人员发起登记请求,以变更预登记情况。
具体的,在另一些实施方式中,开发人员可在该预登记平台对所需使用的开源软件进行信息登记,由应用管理员进行审批,审批通过后可以更新预登记情况。当预登记情况更新之后,可以通过如下方式确定是否为客户端配置软件使用权限:确定预登记情况是否为已登记;若预登记情况为已登记,则为客户端配置软件使用权限,获取客户端使用目标软件的使用时长;确定使用时长是否大于登记到期时间;若使用时长大于登记到期时间且引入状态未变更,则取消为客户端配置的软件使用权限。其中,预登记情况包括未登记、已登记和登记到期时间。
在本实施例中,当本地研发环境的开发人员请求获取某个目标软件的权限时,若其引入状态为“未引入”,则可以再通过预登记平台调取其登记情况,对于“未登记”的目标软件,开发人员可以再次发起登记请求。示例性的,审批通过后该开发人员可拥有一个月的软件试用期,在此期间,该开发人员可在本地研发环境使用该开源目标软件。一个月到期后,若该开源目标软件仍未在软件产品管理系统中引入登记,则禁止开发人员下载使用。
示例性的,图4为本申请实施例提供的本地研发分区的软件请求示意图,如图4所示,本地研发环境的客户端向网关的扩展模块发起软件资源请求。此时扩展模块先对接软件产品管理系统,调用软件产品管理系统侧研发开源软件引入情况的查询接口,查询目标软件的引入情况,如果为“未引入”,则再对接预登记平台,调用预评估登记查询接口,查询目标软件的登记情况。
其中,在另一些实施方式中,若若预登记情况为未登记,则获取客户端发起的预登记请求;根据预登记请求,获取预登记请求的审批结果并确定预登记请求是否审批通过;若预登记请求审批通过,则将预登记情况更新为已登记。
在本实施例中,当查询到预登记平台的预登记情况为未登记时,本地研发环境的开发人员可在该预登记平台对所需使用的开源目标软件进行信息登记(即发起预登记请求),由应用管理员进行审批,审批通过后该开发人员可拥有一个月的软件试用期,在此期间,该开发人员可在本地研发环境使用该开源目标软件。一个月到期后,若该开源目标软件仍未在软件产品管理系统中引入登记,则禁止该开发人员下载使用。
其中,如果目标软件为“已引入”状态或者“已登记”情况,则扩展模块再将软件资源请求提交给负载均衡模块进行转发,之后代理仓库集群按照软件资源请求中的资源类型(即内部资源还是外部资源),从介质存储库或者外部资源仓库中查询相应的软件资源,并将查询到的软件资源返回至相应的客户端,使得客户端下载和使用该目标软件。
实施例四
图5为本申请实施例提供的软件资源请求的整体框架示意图,如图5所示,网关可以接收客户端发起的软件请求,然后确定其属于本地研发分区还是流水线分区。
其中,当为本地研发分区时,则先查询引入情况,如果已引入,则直接允许客户端从软件仓库或者外部资源仓库拉取下载和使用目标软件;如果没有引入,则需要查询预登记平台的预登记情况,如果未登记,则禁止拉取,客户端可以重新发起预登记请求进行登记;如果已登记,则允许客户端从软件仓库或者外部资源仓库拉取下载和使用目标软件;如果未登记的话,就可以进行预登记,并配置登记到期时间(此时可以短期下载和使用目标软件的权限),当登记时间到期,就禁止继续下载和使用目标软件,并需要进行引入(即需要将目标软件标记为引入状态)。
当为流水线分区时,则直接查询引入情况,引入状态为未引入的,禁止客户端从软件仓库或者外部资源仓库拉取下载和使用目标软件,引入状态为已引入的,允许客户端从软件仓库或者外部资源仓库拉取下载和使用目标软件。
本实施例可以在企业内部实施开源软件管控策略,为Nexus仓库资源拉取添加一道安全管控,有效防止企业内部使用存在高危漏洞的开源软件资源或者不合规资源,给企业内部带来潜在安全隐患,而且,能够做到根据不同场景进行管控区分,在保障生产安全的同时,注重研发效率,提高对软件管理的灵活性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请实施例提供的软件资源请求的处理装置的结构示意图,如图6所示,该软件资源请求的处理装置600包括请求获取模块610、策略确定模块620、第一策略模块630和第二策略模块640。
其中,请求获取模块用于响应于客户端向网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件。策略确定模块用于根据IP地址,确定资源管控策略,资源管控策略包括第一策略和第二策略。第一策略模块用于在资源管控策略为第一策略时,查询目标软件的引入状态,并根据引入状态,确定是否为客户端配置软件使用权限,软件使用权限用于客户端从软件仓库中下载并使用目标软件。第二策略模块用于在资源管控策略为第二策略时,查询目标软件的引入状态、目标软件的预登记情况,并根据引入状态、预登记情况中的至少一种,确定是否为客户端配置软件使用权限。
可选的,策略确定模块具体可以用于:获取在网关中预先配置的构建机清单,构建机清单中包括构建机的IP地址;根据构建机清单和客户端的IP地址,确定客户端为流水线分区或本地研发分区;若客户端为流水线分区,则确定资源管控策略为第一策略;若客户端为本地研发分区,则确定资源管控策略为第二策略。
可选的,第一策略模块具体可以用于:若引入状态为未引入,则返回第一结果,第一结果用于表征禁止客户端从软件仓库中下载目标软件;若引入状态为已引入,则返回第二结果,第二结果用于表征允许客户端从软件仓库中下载目标软件。
可选的,还包括软件审核模块,用于获取软件资源的引入登记请求,对软件资源进行审核操作,引入审核操作包括漏洞扫描、风险分析和人工审批;将完成审核操作的软件资源的引入状态记录为已引入;将未完成审核操作的软件资源记录为未引入。
可选的,第二策略模块具体可以用于:若引入状态为已引入,则为客户端配置软件使用权限;若引入状态为未引入,则根据预登记情况,确定是否为客户端配置软件使用权限。
可选的,第二策略模块具体可以用于:确定预登记情况是否为已登记,预登记情况包括未登记、已登记和登记到期时间;若预登记情况为已登记,则为客户端配置软件使用权限,获取客户端使用目标软件的使用时长;确定使用时长是否大于登记到期时间;若使用时长大于登记到期时间且引入状态未变更,则取消为客户端配置的软件使用权限。
可选的,还包括预登记请求模块,用于若预登记情况为未登记,则获取客户端发起的预登记请求;根据预登记请求,获取预登记请求的审批结果并确定预登记请求是否审批通过;若预登记请求审批通过,则为客户端配置短期使用权限,短期使用权限用于客户端在预设时间内下载和使用目标软件。
可选的,软件资源处理系统还包括:软件产品管理系统和预登记平台,软件产品管理系统和预登记平台均与网关通信连接,其中,还包括查询模块,用于从软件产品管理系统查询目标软件的引入状态,软件产品管理系统中配置有每个软件的引入状态;和/或,从预登记平台查询目标软件的预登记情况,预登记平台用于记录目标软件的预登记情况。
本申请实施例提供的装置,可用于执行上述实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,请求获取模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上请求获取模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图7为本申请实施例提供的电子设备的结构示意图。如图7所示,该电子设备700包括:至少一个处理器701、存储器702、总线703及通信接口704。其中:处理器701、通信接口704以及存储器702通过总线703完成相互间的通信。通信接口704用于与其它设备进行通信。该通信接口包括用于进行数据传输的通信接口以及用于进行人机交互的显示界面或者操作界面等。处理器701用于执行存储器存储的计算机执行指令,具体可以执行上述实施例中所描述的方法中的相关步骤。
其中,处理器可能是中央处理器,或者是特定集成电路(Application SpecificIntegrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器,用于存放计算机执行指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
本实施例还提供一种计算机可读存储介质,可读存储介质中存储有计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行上述的各种实施方式提供的方法。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种软件资源请求的处理方法,其特征在于,应用于软件资源处理系统,所述软件资源处理系统至少包括网关和软件仓库,所述网关与所述软件仓库之间建立通信连接,所述方法包括:
响应于客户端向所述网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件;
根据所述IP地址,确定资源管控策略,所述资源管控策略包括第一策略和第二策略;
在所述资源管控策略为第一策略时,查询所述目标软件的引入状态,并根据所述引入状态,确定是否为所述客户端配置软件使用权限,所述软件使用权限用于所述客户端从所述软件仓库中下载并使用所述目标软件;
在所述资源管控策略为第二策略时,查询所述目标软件的引入状态、所述目标软件的预登记情况,并根据所述引入状态、预登记情况中的至少一种,确定是否为所述客户端配置软件使用权限。
2.根据权利要求1所述的方法,其特征在于,所述根据所述IP地址,确定资源管控策略,包括:
获取在所述网关中预先配置的构建机清单,所述构建机清单中包括构建机的IP地址;
根据所述构建机清单和客户端的IP地址,确定所述客户端为流水线分区或本地研发分区;
若所述客户端为流水线分区,则确定所述资源管控策略为第一策略;
若所述客户端为本地研发分区,则确定所述资源管控策略为第二策略。
3.根据权利要求1所述的方法,其特征在于,所述根据所述引入状态,确定是否为所述客户端配置软件使用权限,包括:
若所述引入状态为未引入,则返回第一结果,所述第一结果用于表征禁止所述客户端从所述软件仓库中下载所述目标软件;
若所述引入状态为已引入,则返回第二结果,所述第二结果用于表征允许所述客户端从所述软件仓库中下载所述目标软件。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取软件资源的引入登记请求,对所述软件资源进行审核操作,所述审核操作包括漏洞扫描、风险分析和人工审批;
将完成审核操作的软件资源的引入状态记录为已引入;
将未完成审核操作的软件资源记录为未引入。
5.根据权利要求1所述的方法,其特征在于,所述根据所述引入状态和预登记情况中的至少一种,确定是否为所述客户端配置软件使用权限,包括:
若所述引入状态为已引入,则为所述客户端配置软件使用权限;
若所述引入状态为未引入,则根据所述预登记情况,确定是否为所述客户端配置软件使用权限。
6.根据权利要求5所述的方法,其特征在于,所述根据所述预登记情况,确定是否为所述客户端配置软件使用权限,包括:
确定所述预登记情况是否为已登记,所述预登记情况包括未登记、已登记和登记到期时间;
若所述预登记情况为已登记,则为所述客户端配置软件使用权限并获取所述客户端使用所述目标软件的使用时长;
确定所述使用时长是否大于所述登记到期时间;
若所述使用时长大于所述登记到期时间且所述引入状态未变更,则取消为所述客户端配置的软件使用权限。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述预登记情况为未登记,则获取所述客户端发起的预登记请求;
根据所述预登记请求,获取所述预登记请求的审批结果并确定所述预登记请求是否审批通过;
若所述预登记请求审批通过,则将所述预登记情况更新为已登记。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述软件资源处理系统还包括:软件产品管理系统和预登记平台,所述软件产品管理系统和预登记平台均与所述网关通信连接,所述方法还包括:
从所述软件产品管理系统查询所述目标软件的引入状态,所述软件产品管理系统中配置有每个软件的引入状态;
和/或,
从所述预登记平台查询所述目标软件的预登记情况,所述预登记平台用于记录所述目标软件的预登记情况。
9.一种软件资源请求的处理装置,其特征在于,包括:
请求获取模块,用于响应于客户端向网关发起的软件资源请求,获取客户端的IP地址和客户端所请求的目标软件;
策略确定模块,用于根据所述IP地址,确定资源管控策略,所述资源管控策略包括第一策略和第二策略;
第一策略模块,用于在所述资源管控策略为第一策略时,查询所述目标软件的引入状态,并根据所述引入状态,确定是否为所述客户端配置软件使用权限,所述软件使用权限用于所述客户端从软件仓库中下载并使用所述目标软件;
第二策略模块,用于在所述资源管控策略为第二策略时,查询所述目标软件的引入状态、所述目标软件的预登记情况,并根据所述引入状态、预登记情况中的至少一种,确定是否为所述客户端配置软件使用权限。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311540312.7A CN117349848A (zh) | 2023-11-17 | 2023-11-17 | 软件资源请求的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311540312.7A CN117349848A (zh) | 2023-11-17 | 2023-11-17 | 软件资源请求的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117349848A true CN117349848A (zh) | 2024-01-05 |
Family
ID=89369518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311540312.7A Pending CN117349848A (zh) | 2023-11-17 | 2023-11-17 | 软件资源请求的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349848A (zh) |
-
2023
- 2023-11-17 CN CN202311540312.7A patent/CN117349848A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848982B2 (en) | Access services in hybrid cloud computing systems | |
US10944758B1 (en) | Computer resource vulnerability assessment and remediation | |
US9552480B2 (en) | Managing software deployment | |
US10795709B2 (en) | Systems and method for deploying, securing, and maintaining computer-based analytic environments | |
EP3511822A1 (en) | Method and system for managing access to artifacts in a cloud computing environment | |
JP2022000757A (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
US20190158499A1 (en) | Usage tracking in hybrid cloud computing systems | |
KR20140072164A (ko) | 가입자 데이터에 대한 프라이버시 관리 | |
US10819731B2 (en) | Exception remediation logic rolling platform | |
US10891357B2 (en) | Managing the display of hidden proprietary software code to authorized licensed users | |
US20190361992A1 (en) | Terms of service platform using blockchain | |
US20200366660A1 (en) | System and methods for securely storing data for efficient access by cloud-based computing instances | |
US20200167157A1 (en) | Distributing services to client systems to develop in a shared development environment | |
US11489844B2 (en) | On-the-fly creation of transient least privileged roles for serverless functions | |
CN115238247A (zh) | 基于零信任数据访问控制系统的数据处理方法 | |
CN117349848A (zh) | 软件资源请求的处理方法、装置、设备及存储介质 | |
CN116151631A (zh) | 一种业务决策处理系统、一种业务决策处理方法和装置 | |
CN116488836A (zh) | 基于多租户的kubernetes集群资源管理方法及系统 | |
CN112291241A (zh) | 防火墙开墙方法、防火墙开墙装置及终端设备 | |
CN110874305A (zh) | 用户操作的记录方法、装置及服务器 | |
US11704403B2 (en) | Detecting and preventing unauthorized command injection | |
US20240155003A1 (en) | Governance and security control for services executing on cloud platforms | |
US12009964B2 (en) | Multi-domain orchestration | |
CN107133505B (zh) | 一种权限管理方法、鉴权方法和系统 | |
CN116910727A (zh) | 一种权限处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |