云服务器内容精选

  • 规则详情 表1 规则详情 参数 说明 规则名称 elb-members-weight-check 规则展示名 ELB后端服务器权重检查 规则描述 后端服务器的权重为0,且其所属的后端服务器组的负载均衡算法不为“SOURCE_IP”时,视为“不合规”。 标签 elb 规则触发方式 配置变更 规则评估的资源类型 elb.members 规则参数 weight:后端云服务器的权重,请求将根据后端服务器组配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。 取值范围:0-100。
  • 评估由配置变更触发的示例函数 Config服务检测到自定义合规规则范围内的资源发生更改时,会调用函数的示例如下: import time import http.client from huaweicloudsdkcore.auth.credentials import GlobalCredentials from huaweicloudsdkcore.exceptions.exceptions import ConnectionException from huaweicloudsdkcore.exceptions.exceptions import RequestTimeoutException from huaweicloudsdkcore.exceptions.exceptions import ServiceResponseException from huaweicloudsdkconfig.v1.region.config_region import ConfigRegion from huaweicloudsdkconfig.v1.config_client import ConfigClient from huaweicloudsdkconfig.v1 import PolicyResource, PolicyStateRequestBody from huaweicloudsdkconfig.v1 import UpdatePolicyStateRequest ''' 合规规则评估逻辑: 返回“Compliant” 或 “NonCompliant” 本示例中, 当资源类型为ecs.cloudservers, 且该ecs的vpcId字段不是合规规则参数所指定的vpcId时, 会返回不合规, 否则返回合规。 ''' def evaluate_compliance(resource, parameter): if resource.get("provider") != "ecs" or resource.get("type") != "cloudservers": return "Compliant" vpc_id = resource.get("properties", {}).get("metadata", {}).get("vpcId") return "Compliant" if vpc_id == parameter.get("vpcId") else "NonCompliant" def update_policy_state(context, domain_id, evaluation): auth = GlobalCredentials(ak=context.getAccessKey(), sk=context.getSecretKey(), domain_id=domain_id) client = ConfigClient.new_builder() \ .with_credentials(credentials=auth) \ .with_region(region=ConfigRegion.value_of(region_id="cn-north-4")) \ .build() try: response = client.update_policy_state(evaluation) return 200 except ConnectionException as e: print("A connect timeout exception occurs while the Config performs some operations, exception: ", e.error_msg) return e.status_code except RequestTimeoutException as e: print("A request timeout exception occurs while the Config performs some operations, exception: ", e.error_msg) return e.status_code except ServiceResponseException as e: print("There is service error, exception: ", e.status_code, e.error_msg) return e.status_code def handler(event, context): domain_id = event.get("domain_id") resource = event.get("invoking_event", {}) parameters = event.get("rule_parameter") compliance_state = evaluate_compliance(resource, parameters) request_body = UpdatePolicyStateRequest(PolicyStateRequestBody( policy_resource = PolicyResource( resource_id = resource.get("id"), resource_name = resource.get("name"), resource_provider = resource.get("provider"), resource_type = resource.get("type"), region_id = resource.get("region_id"), domain_id = domain_id ), trigger_type = event.get("trigger_type"), compliance_state = compliance_state, policy_assignment_id = event.get("policy_assignment_id"), policy_assignment_name = event.get("policy_assignment_name"), evaluation_time = event.get("evaluation_time"), evaluation_hash = event.get("evaluation_hash") )) for retry in range(5): status_code = update_policy_state(context, domain_id, request_body) if status_code == http.client.TOO_MANY_REQUESTS: print("TOO_MANY_REQUESTS: retry again") time.sleep(1) elif status_code == http.client.OK: print("Update policyState successfully.") break else: print("Failed to update policyState.") break
  • 规则详情 表1 规则详情 参数 说明 规则名称 required-tag-check 规则展示名 资源具有指定的标签 规则描述 指定一个标签,不具有此标签的资源,视为“不合规”。 标签 tag 规则触发方式 配置变更 规则评估的资源类型 支持标签的云服务和资源类型 规则参数 specifiedTagKey:指定的标签键,字符串类型。 specifiedTagValue:指定的标签值列表,如果列表为空,表示允许所有值,数组类型,最多包含10个元素。
  • 查看部署至成员账号中的组织合规规则包 以组织成员账号登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击页面左侧的“合规规则包”,进入“合规规则包”页面。 在“合规规则包”页签下,单击合规规则包列表中的某个组织合规规则包名称,进入合规规则包详情页。 在详情页中可以查看合规规则包的基本信息和配置的参数值,以及下发的合规规则列表和每条合规规则的合规评估结果。 在“规则”列表单击某个规则的“规则名称”,界面将跳转至“资源合规”的“规则详情”页面,并自动筛选出此规则评估出的不合规资源。 图2 查看部署至成员账号中的组织合规规则包 当组织合规规则包部署成功后,会在组织内成员账号的合规规则包列表中显示此组织合规规则包,系统将自动在合规规则包名称前添加“Org-”字段。 组织内的成员账号只能触发组织合规规则包部署规则的评估和查看规则评估结果以及详情,不支持删除组织合规规则包的操作。
  • 查看组织合规规则包 使用创建组织合规规则包的组织账号登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击页面左侧的“合规规则包”,进入“合规规则包”页面。 选择“组织合规规则包”页签,在列表中可查看所有已创建的组织合规规则包,还可以查看各组织合规规则包的部署状态。 在列表中单击需要查看的组织合规规则包名称,进入组织合规规则包详情页。 页面左侧为组织合规规则包部署账号和排除账号的相关信息,页面右侧为组织合规规则包的详情和参数。 图1 组织合规规则包详情页 组织合规规则包的部署状态有以下几种: 已部署:合规规则包已部署成功,合规规则均创建成功。 部署中:合规规则包正在部署中,合规规则正在创建中。 部署异常:合规规则包部署失败。 回滚成功:合规规则包下发的合规规则创建失败,触发合规规则的回滚行为,已创建的合规规则删除成功。 回滚中:合规规则包下发的合规规则创建失败,触发合规规则的回滚行为,已创建的合规规则正在删除中。 回滚失败:合规规则包下发的合规规则创建失败,触发合规规则的回滚行为,回滚行为失败,需在RFS服务查看失败原因。 删除中:合规规则包正在删除中,合规规则正在删除中。 删除异常:合规规则包删除失败。 更新成功:合规规则包修改并更新成功。 更新中:合规规则包修改更新中。 更新失败:合规规则包修改更新失败。
  • 操作场景 组织账号可以通过列表查看自己创建的组织合规规则包及其详情,并支持在列表中进行搜索过滤操作,但无法看到组织内其他账号添加的组织合规规则包。 当组织合规规则包部署成功后,会在组织内成员账号的合规规则包列表中显示此组织合规规则包。且该组织合规规则包的删除操作只能由创建组织规则包的组织账号进行,组织内的其他账号只能触发合规规则包部署规则的评估和查看规则评估结果以及详情。 本章节包含查看组织合规规则包和查看部署至成员账号中的组织合规规则包两部分内容。
  • 适用于弹性负载均衡(ELB)的最佳实践 该示例模板中对应的合规规则的说明和修复项指导如下表所示: 表1 合规包示例模板说明 合规规则 规则中文名称 涉及云服务 说明指导 规则描述 修复项指导 elb-loadbalancers-no-public-ip ELB资源不具有公网IP elb 确保弹性负载均衡(ELB)无法公网访问,管理对华为云中资源的访问。 ELB资源具有公网IP,视为“不合规” 用户可以解除不合规资源的公网绑定。 elb-predefined-security-policy-https-check ELB监听器配置指定预定义安全策略 elb 对于银行,金融类加密传输的应用 ,在创建和配置HTTPS监听器时,您可以选择使用安全策略,可以提高您的业务安全性。安全策略包含TLS协议版本和配套的加密算法套件。 独享型负载均衡器关联的HTTPS协议类型监听器未配置指定的预定义安全策略,视为“不合规“ 独享型负载均衡支持选择默认安全策略或创建自定义策略。您可以为HTTPS监听器选择指定的预定义安全策略。 elb-tls-https-listeners-only ELB监听器配置HTTPS监听协议 elb 确保弹性负载均衡的监听器均已配置HTTPS监听协议。HTTPS协议适用于需要加密传输的应用。由于可能存在敏感数据,因此启用传输中加密有助于保护该数据。 负载均衡器的任一监听器未配置HTTPS监听协议,视为“不合规” 您可以添加一个HTTPS监听转发来自HTTPS协议的请求。独享型负载均衡前端协议为“HTTPS”时,后端协议可以选择“HTTP”或“HTTPS”。共享型负载均衡前端协议为“HTTPS”时,后端协议默认为“HTTP”,且不支持修改。如果您的独享型负载均衡实例类型为网络型(TCP/UDP),则无法创建HTTPS监听器。 父主题: 合规规则包示例模板
  • 操作步骤 使用创建组织合规规则的组织账号登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击左侧的“资源合规”,进入“资源合规”页面。 选择“组织规则”页签,在规则列表中单击操作列的“编辑”。 图1 编辑组织合规规则 进入“编辑规则”页面,修改“规则名称”和“规则简介”后,单击“下一步”。 修改“规则参数”后,单击“下一步”。 确认规则修改无误后,单击“提交”。
  • 适用于日志和监控的最佳实践 该示例模板中对应的合规规则的说明和修复项指导如下表所示: 表1 合规包示例模板说明 合规规则 规则中文名称 涉及云服务 说明指导 规则描述 修复项指导 alarm-action-enabled-check 启用了CES告警操作 ces 确保启用了CES告警操作,用户对云服务的核心监控指标设置告警规则,当监控指标触发用户设置的告警条件时,云监控服务使用消息通知服务向用户通知告警信息。 CES告警操作未启用,视为“不合规” 您需要在消息通知服务界面创建一个主题并为这个主题添加相关的订阅者,然后在添加告警规则的时候,您需要开启消息通知服务并选择创建的主题,这样在云服务发生异常时,云监控服务可以实时的将告警信息以广播的方式通知这些订阅者。 apig-instances-execution-logging-enabled APIG专享版实例配置访问日志 apig 确保为APIG专享版实例配置访问日志。APIG支持日志自定义分析模板,便于日志的统一收集和管理,也可通过API异常调用分析进行追查和溯源。 APIG专享版实例未配置访问日志,视为“不合规” 可以在API网关控制台选择启动日志记录 as-group-elb-healthcheck-required 弹性伸缩组使用弹性负载均衡健康检查 as 根据ELB对云服务器的健康检查结果进行的检查,健康检查会将异常的实例从伸缩组中移除。这条规则确保与负载均衡器关联的伸缩组使用了弹性负载均衡健康检查。 与负载均衡器关联的伸缩组未使用弹性负载均衡健康检查,视为“不合规” 如果您将多个负载均衡器添加到伸缩组,则只有在所有负载均衡器均检测到云服务器状态为正常的情况下,才会认为该弹性云服务器正常。否则只要有一个负载均衡器检测到云服务器状态异常,伸缩组会将该弹性云服务器移出伸缩组。 cts-kms-encrypted-check CTS追踪器通过KMS进行加密 cts 确保云审计服务(CTS)的追踪器已配置KMS加密存储用于归档的审计事件。 CTS追踪器未通过KMS进行加密,视为“不合规” 建议您配置独立OBS桶并配置KMS加密存储专门用于归档审计事件。 cts-lts-enable CTS追踪器启用事件分析 cts 确保使用云日志服务(LTS)集中收集云审计服务(CTS)的数据。 CTS追踪器未启用事件分析,视为“不合规” 开通云审计日志后,系统会自动创建一个名为system的管理事件追踪器,并将当前租户的所有操作记录在该追踪器中。在追踪器中配置CTS转储到LTS,配置完成后会在LTS自动创建日志组日志流 cts-obs-bucket-track CTS追踪器追踪指定的OBS桶 cts 由于CTS只支持查询7天的审计事件,为了您事后审计、查询、分析等要求,启用CTS追踪器请配置OBS服务桶。 账号下的所有CTS追踪器未追踪指定的OBS桶,视为“不合规” 云审计服务管理控制台支持配置已开启的追踪器的OBS桶、LTS转储和配置已创建的追踪器关键事件操作通知。 cts-support-validate-check CTS追踪器打开事件文件校验 cts 在安全和事故调查中,通常由于事件文件被删除或者被私下篡改,而导致操作记录的真实性受到影响,无法对调查提供有效真实的依据。事件文件完整性校验功能旨在帮助您确保事件文件的真实性。 CTS追踪器未打开事件文件校验,视为“不合规” 在配置转储页面打开“文件校验”开关,即可开启事件文件完整性校验功能。 cts-tracker-exists 创建并启用CTS追踪器 cts 云审计服务支持创建数据类事件追踪器,用于记录数据操作日志。数据类追踪器用于记录数据事件,即针对租户对OBS桶中的数据的操作日志,例如上传、下载等。 账号未创建CTS追踪器,视为“不合规” 可进入云审计服务页面,导航栏选择“追踪器”,单击“创建追踪器”,根据提示操作。 dws-enable-log-dump DWS集群启用日志转储 dws GaussDB(DWS) 记录您的数据库中的连接和用户活动相关信息。这些审计日志信息有助于您监控数据库以确保安全或进行故障排除或定位历史操作记录。当前这些审计日志默认存储于数据库中,您可以将审计日志转储到OBS中使负责监控数据库中活动的用户更方便的查看这些日志信息。 DWS集群未启用日志转储,视为“不合规” GaussDB(DWS) 集群创建成功后,您可以为集群开启审计日志转储,将审计日志转储到OBS中,方便查看。 function-graph-concurrency-check 函数工作流的函数并发数在指定范围内 fgs FunctionGraph会根据实际的请求情况自动弹性伸缩函数实例,并发变高时,会分配更多的函数实例来处理请求,并发减少时,相应的实例也会变少。此规则可确保建立函数工作流(FunctionGraph)的并发上限和下限。 FunctionGraph函数并发数不在指定的范围内,视为“不合规” 对于不合规的实例,在函数详情页可以修改函数并发数的值。 multi-region-cts-tracker-exists 在指定区域创建并启用CTS追踪器 cts 云审计服务CTS提供对各种云资源操作记录的收集、存储和查询功能。首次开通云审计服务时,系统会自动为您创建一个名为system的管理追踪器。公有云的数据中心分布在全球不同区域,通过在指定区域开通云审计服务,可以将应用程序的设计更贴近特定客户的需求,或满足特定地区的法律或其他要求。数据追踪器会记录当前区域租户对OBS桶中的数据操作的详细信息。 账号未在指定region列表创建CTS追踪器,视为“不合规” 您可以进入指定区域云审计服务页面,导航栏选择“追踪器”,单击“创建追踪器”,根据提示操作。 rds-instance-logging-enabled RDS实例配备日志 rds 确保rds资源配备了访问日志。配置访问日志后,RDS实例新生成的日志记录会上传到云日志服务(Log Tank Service,简称LTS)进行管理。 未配备任何日志的RDS资源,视为“不合规” 您可以为不合规的RDS资源配置访问日志。方式为:登录RDS管理控制台,选择日志配置管理,选择为一个或多个实例配置访问日志。 vpc-flow-logs-enabled VPC启用流日志 vpc VPC流日志功能可以记录虚拟私有云中的流量信息,帮助您检查和优化安全组和网络ACL控制规则、监控网络流量、进行网络攻击分析等。 检查是否为VPC启用了流日志,如果该VPC未启用流日志,视为“不合规” 您可以为不合规的VPC资源开启流日志记录,方式为:创建日志组、日志流之后,进入VPC流日志列表页面创建VPC流日志,按照提示配置参数。 父主题: 合规规则包示例模板
  • 适用于人工智能与机器学习场景的合规实践 该示例模板中对应的合规规则的说明和修复项指导如下表所示: 表1 合规包示例模板说明 合规规则 规则中文名称 涉及云服务 说明指导 规则描述 修复项指导 cce-cluster-end-of-maintenance-version CCE集群版本为处于维护的版本 cce 确保CCE集群版本为处于维护中的版本。 CCE集群版本为停止维护的版本,视为“不合规” 为了保证您的服务权益,建议尽快升级到最新的商用版本。集群升级流程包括升级前检查、备份、升级和升级后验证几个步骤,具体操作流程可见CCE服务说明文档的升级概述。 cce-cluster-oldest-supported-version CCE集群运行的非受支持的最旧版本 cce 确保CCE集群运行的不是最旧版本 如果CCE集群运行的是受支持的最旧版本(等于参数“最旧版本支持”),视为“不合规” 系统会自动为您的华为云CCE任务部署安全更新和补丁。如果发现影响华为云CCE平台版本的安全问题,华为云会修补该平台版本。要帮助对运行华为云cluster的华为云CCE任务进行补丁管理,请更新您服务的独立任务以使用最新的平台版本。 cce-endpoint-public-access CCE集群资源不具有公网IP cce 确保CCE集群资源不可以被公网访问 CCE集群资源具有公网IP,视为“不合规” 用户可以解除集群与EIP的绑定。 cts-obs-bucket-track CTS追踪器追踪指定的OBS桶 cts 由于CTS只支持查询7天的审计事件,为了您事后审计、查询、分析等要求,启用CTS追踪器请配置OBS服务桶。 账号下的所有CTS追踪器未追踪指定的OBS桶,视为“不合规” 云审计服务管理控制台支持配置已开启的追踪器的OBS桶、LTS转储和配置已创建的追踪器关键事件操作通知。 mrs-cluster-kerberos-enabled MRS集群开启kerberos认证 mrs MRS 1.8.0版本之前未开启Kerberos认证的集群不支持访问权限细分。只有开启Kerberos认证才有角色管理权限,MRS 1.8.0及之后版本的所有集群均拥有角色管理权限。 MRS集群未开启kerberos认证,视为“不合规” MRS服务暂不支持集群创建完成后手动开启和关闭Kerberos服务,如需更换Kerberos认证状态,建议重新创建MRS集群,然后进行数据迁移。 mrs-cluster-no-public-ip MRS集群未绑定公网IP mrs 确保MapReduce服务(MRS)无法公网访问。华为云MRS集群主节点可能包含敏感信息,并且此类账户需要访问控制。 MRS集群绑定公网IP,视为“不合规” 对于不合规的MRS资源,用户可以解除其与弹性公网IP的绑定。 sfsturbo-encrypted-check 弹性文件服务通过KMS进行加密 sfsturbo 由于敏感数据可能存在并帮助保护静态数据,确保弹性文件服务(SFS Turbo)已通过KMS进行加密。 弹性文件服务(SFS Turbo)未通过KMS进行加密,视为“不合规” 可以新创建加密或者不加密的文件系统,无法更改已有文件系统的加密属性。 父主题: 合规规则包示例模板
  • 操作步骤 登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击页面左侧的“合规规则包”,进入“合规规则包”页面。 在合规规则包列表中单击操作列的“编辑”,进入“编辑合规规则包”页面。 当前不支持修改合规规则包选择的模板,单击“下一步”。 进入“详细信息”页面,修改合规规则包名称和规则参数的值,单击“下一步”。 图1 修改合规规则包 进入“确认配置”页面,确认修改无误后,单击“确定”。 合规规则包修改完成后将会被重新部署。
  • 操作场景 当Config提供的系统内置预设策略不能满足检测资源合规性的需求时,您可以通过编写函数代码,添加自定义策略来完成复杂场景的资源审计。 自定义策略是一个用户开发并发布在函数工作流(FunctionGraph)上的函数。将合规规则和函数相关联,函数接收Config发布的事件,从事件中接收到规则参数和Config服务收集到的资源属性;函数评估该规则下资源的合规性并通过Config的OpenAPI回传Config服务合规评估结果。合规规则的事件发送因触发类型为配置变更或周期执行而异。要了解如何使用FunctionGraph函数以及如何开发它们,请参阅《FunctionGraph用户指南》。 仅被资源记录器收集的资源可参与资源评估,为保证资源合规规则的评估结果符合预期,强烈建议您保持资源记录器的开启状态,不同场景的说明如下: 如您从未开启过资源记录器,则资源合规规则无法评估任何资源数据。 如您已开启资源记录器,但仅在资源记录器监控范围内勾选部分资源,则资源合规规则仅会评估所选择的资源数据。 如您开启资源记录器并勾选全部资源,但后续又关闭资源记录器,则资源合规规则仅会评估资源记录器由开启到关闭期间收集到的资源数据。 关于如何开启并配置资源记录器请参见:配置资源记录器。 本章节指导您如何通过自定义策略来添加资源合规规则,主要包含如下步骤: 创建FunctionGraph函数; 添加自定义合规规则。
  • 添加自定义合规规则 登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击左侧的“资源合规”,进入“资源合规”页面。 单击页面中部的“添加规则”,进入“基础配置”页面。 “策略类型”选择“自定义策略”,配置相关参数并进行授权,授权方式可以选择“快速授权”或“自定义授权”,配置完成后单击“下一步”。 快速授权:将为您快速创建一个名为“rms_custom_policy_agency”的委托权限,该权限是可以让自定义合规规则正常工作的权限,包含调用函数工作流(FunctionGraph)的获取函数和异步执行函数的权限。 自定义授权:您可自行在统一身份认证服务(IAM)中创建委托权限,并进行自定义授权,授权对象为配置审计(Config),授权内容为: { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "functiongraph:function:invokeAsync", "functiongraph:function:getConfig" ] } ] } 创建委托详见《统一身份认证服务用户指南》。 图1 添加合规规则-自定义策略 进入“规则参数”页面,规则参数配置完成后,单击“下一步”。 进入“确认规则”页面,确认规则信息无误后,单击“提交”按钮,完成自定义合规规则创建。
  • 高级查询概述 配置审计服务提供高级查询能力,通过使用ResourceQL自定义查询用户当前的单个或多个区域的资源配置状态。 高级查询支持用户自定义查询和浏览云服务资源,用户可以通过ResourceQL在查询编辑器中编辑和查询。 ResourceQL是结构化的查询语言(SQL) SELECT语法的一部分,它可以对当前资源数据执行基于属性的查询和聚合。查询的复杂程度不同,既可以是简单的标签或资源标识符匹配,也可以是更复杂的查询,例如查看指定具体OS版本的云服务器。 您可以使用高级查询来实现: 库存管理。例如检索特定规格的云服务器实例的列表。 安全合规检查。例如检索已启用或禁用特定配置属性(公网IP,加密磁盘)的资源的列表。 成本优化。例如检索未挂载到任何云服务器实例的云磁盘的列表,避免产生不必要的费用。 高级查询仅支持用户自定义查询、浏览、导出云服务资源,如果要对资源进行修改、删除等管理类的操作,请前往资源所属的服务页面进行操作。 父主题: 高级查询
  • 另存查询 您可以修改预设查询或已有自定义查询的名称、描述和查询语句,“另存为”后产生新的查询,以“预设查询”为例,您可按如下步骤操作。 进入“高级查询”页面,选择“预设查询”页签。 “高级查询”页面默认展示预设查询列表。 单击目标查询操作列的“使用查询”,进入“使用查询”页面。 也可以单击查询名称,进入查询概览页,再单击查询概览页右下方的“使用查询”,进入“使用查询”页面。 图2 使用预设查询 根据界面提示,在查询编辑器中修改查询语句。 详细请参见高级查询配置样例。 单击“另存为”,配置查询名称和描述。 在弹框中,单击“确定”。 通过“另存为”操作产生的新查询,将更新在自定义查询列表中。