华为云用户手册

  • 应用场景 虚拟私有云为弹性云服务器构建了一个逻辑上完全隔离的专有区域,您可以在自己的逻辑隔离区域中定义虚拟网络,为弹性云服务器构建一个逻辑上完全隔离的专有区域。您还可以在VPC中定义安全组、VPN、IP地址段、带宽等网络特性,方便管理、配置内部网络,进行安全、快捷的网络变更。同时,您可以自定义安全组内与组间弹性云服务器的访问规则,加强弹性云服务器的安全保护。 虚拟私有云更多信息,详见虚拟私有云产品介绍。
  • 规则详情 表1 规则详情 参数 说明 规则名称 ecs-in-allowed-security-groups 规则展示名 绑定指定标签的E CS 关联在指定安全组ID列表内 规则描述 指定高危安全组ID列表,未绑定指定标签的ECS资源关联其中任意安全组,视为“不合规”。 标签 ecs 规则触发方式 配置变更 规则评估的资源类型 ecs.cloudservers 规则参数 specifiedECSTagKey:指定的ECS的标签键,字符串类型。 specifiedECSTagValue:指定的ECS的标签值列表,如果列表为空,表示允许所有值,数组类型,最多包含10个元素。 specifiedSecurityGroupIds:指定的高危安全组的ID列表,数组类型,最多包含10个元素。
  • 应用场景 安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护,详见安全组概述。 通过安全组,可以控制进出 云服务器ECS 的网络流量,包括如下维度: 流量过滤:安全组可以设置规则来允许或拒绝来自特定IP地址或IP地址范围的流量。这有助于阻止来自已知恶意IP地址的流量。 端口控制:通过指定允许访问的端口,安全组可以帮助防止对未使用的或不安全的服务的访问。例如,如果一个服务器不需要对外提供HTTP服务,那么可以通过安全组规则禁止80端口的外部访问。 协议限制:安全组还可以根据不同的网络协议(如TCP、UDP)来控制流量。这对于确保只允许必要的通信类型是非常有用的。 入站与出站规则:入站规则控制哪些流量可以进入服务器,而出站规则则控制服务器可以向哪里发送数据。这种双向控制提供了更全面的安全保障。
  • 应用场景 镜像是一个包含了软件及必要配置的弹性云服务器模板,至少包含操作系统,还可以包含应用软件(例如,数据库软件)和私有软件。通过镜像,您可以创建弹性云服务器。镜像分为公共镜像、私有镜像、共享镜像、市场镜像。公共镜像为系统默认提供的镜像,私有镜像为用户自己创建的镜像,共享镜像为其他用户共享的私有镜像。详见镜像概述。 企业应当使用统一的镜像,这将会带来如下好处: 环境统一:统一镜像确保所有服务器运行相同的操作系统和软件版本,减少因环境差异导致的问题。 标准化部署:统一的配置和设置简化了部署流程,提升效率。 集中管理:统一镜像便于集中更新和维护,降低管理复杂性。 统一安全策略:统一镜像便于实施一致的安全策略和补丁管理,降低安全风险。 满足法规:统一镜像有助于确保所有服务器符合行业法规和内部政策。 减少维护成本:统一镜像降低了维护和管理的复杂性,减少了相关成本。
  • 规则详情 表1 规则详情 参数 说明 规则名称 approved-ims-by-tag 规则展示名 ECS的镜像在指定Tag的IMS的范围内 规则描述 ECS云主机的镜像不在指定Tag的IMS镜像的范围内,视为“不合规”。 标签 ecs、ims 规则触发方式 配置变更 规则评估的资源类型 ecs.cloudservers 规则参数 specifiedIMSTagKey:指定的IMS镜像的标签键,字符串类型。 specifiedIMSTagValue:指定的IMS镜像的标签值列表,如果列表为空,表示允许所有值,数组类型,最多包含10个元素。
  • 应用场景 镜像是一个包含了软件及必要配置的弹性云服务器模板,至少包含操作系统,还可以包含应用软件(例如,数据库软件)和私有软件。通过镜像,您可以创建弹性云服务器。镜像分为公共镜像、私有镜像、共享镜像、市场镜像。公共镜像为系统默认提供的镜像,私有镜像为用户自己创建的镜像,共享镜像为其他用户共享的私有镜像。详见镜像概述。 企业应当使用统一的镜像,这将会带来如下好处: 环境统一:统一镜像确保所有服务器运行相同的操作系统和软件版本,减少因环境差异导致的问题。 标准化部署:统一的配置和设置简化了部署流程,提升效率。 集中管理:统一镜像便于集中更新和维护,降低管理复杂性。 统一安全策略:统一镜像便于实施一致的安全策略和补丁管理,降低安全风险。 满足法规:统一镜像有助于确保所有服务器符合行业法规和内部政策。 减少维护成本:统一镜像降低了维护和管理的复杂性,减少了相关成本。
  • 规则详情 表1 规则详情 参数 说明 规则名称 allowed-images-by-id 规则展示名 ECS实例的镜像ID在指定的范围 规则描述 指定允许的镜像ID列表,ECS实例的镜像ID不在指定的范围内,视为“不合规”。 标签 ecs、ims 规则触发方式 配置变更 规则评估的资源类型 ecs.cloudservers 规则参数 listOfAllowedImages:允许的镜像ID列表,数组类型,最多包含10个元素。
  • 规则详情 表1 规则详情 参数 说明 规则名称 allowed-ecs-flavors 规则展示名 ECS资源规格在指定的范围 规则描述 ECS资源的规格不在指定的范围内,视为“不合规”。 标签 ecs 规则触发方式 配置变更 规则评估的资源类型 ecs.cloudservers 规则参数 listOfAllowedFlavors:允许的ECS资源的规格列表,数组类型,最多包含10个元素。字段可选值查询ECS文档获取,例如:s6.small.1、s6.xlarge.2、m7.large.8、t6.small.1。
  • 应用场景 弹性负载均衡健康检查,是指根据ELB对云服务器的健康检查结果进行的检查。仅当伸缩组使用弹性负载均衡器时,可以选择“弹性负载均衡健康检查”方式来做健康检查。 如果您将多个负载均衡器添加到伸缩组,则只有在所有负载均衡器均检测到云服务器状态为正常的情况下,才会认为该弹性云服务器正常。否则只要有一个负载均衡器检测到云服务器状态异常,伸缩组会将该弹性云服务器移出伸缩组。详见弹性伸缩健康检查。 建议您仅在已使用负载均衡的场景才配置该合规规则。
  • 应用场景 当伸缩组选择了两个及两个以上的可用区时,需要配置“多可用区扩展策略”(“均衡分布”或“选择优先”): EQUILIBRIUM_DISTRIBUTE(默认):均衡分布,虚拟机扩缩容时优先保证available_zones列表中各AZ下虚拟机数量均衡,当无法在目标AZ下完成虚拟机扩容时,按照PICK_FIRST原则选择其他可用AZ。 PICK_FIRST:选择优先,虚拟机扩缩容时目标AZ的选择按照available_zones列表的顺序进行优先级排序。 详情请参考多规格伸缩配置创建实例的选择的规格顺序是什么。使用均衡分布有助于提高系统的高可用性和容错能力。
  • 规则详情 表1 规则详情 参数 说明 规则名称 elb-predefined-security-policy-https-check 规则展示名 ELB监听器配置指定预定义安全策略 规则描述 独享型负载均衡器关联的HTTPS协议类型监听器未配置指定的预定义安全策略,视为“不合规”。 标签 elb 规则触发方式 配置变更 规则评估的资源类型 elb.loadbalancers 规则参数 predefinedPolicyName:指定的预定义安全策略名称,默认值为tls-1-0。 支持的枚举值:tls-1-0、tls-1-1、tls-1-2、tls-1-0-inherit、tls-1-2-strict、tls-1-0-with-1-3、tls-1-2-fs-with-1-3、tls-1-2-fs、hybrid-policy-1-0。更多信息请参见TLS安全策略。
  • 规则详情 表1 规则详情 参数 说明 规则名称 private-nat-gateway-authorized-vpc-only 规则展示名 NAT私网网关绑定指定VPC资源 规则描述 私网NAT网关 未与指定的VPC资源绑定,视为“不合规”。 标签 nat 规则触发方式 配置变更 规则评估的资源类型 nat.privateNatGateways 规则参数 authorizedVpcIds:指定的虚拟私有云ID列表,如果列表为空,表示允许所有值;数组类型,最多包含10个元素。
  • 规则详情 表1 规则详情 参数 说明 规则名称 codeartsdeploy-host-cluster-resource-status 规则展示名 CodeArts项目下的主机集群为可用状态 规则描述 CodeArts项目下的主机集群,如果状态不可用,则该主机集群视为“不合规”。 标签 codeartsdeploy 规则触发方式 配置变更 规则评估的资源类型 codeartsdeploy.host-cluster 规则参数 无
  • 规则详情 表1 规则详情 参数 说明 规则名称 required-tag-check 规则展示名 资源具有指定的标签 规则描述 指定一个标签,不具有此标签的资源,视为“不合规”。 标签 tag 规则触发方式 配置变更 规则评估的资源类型 支持标签的云服务和资源类型 规则参数 specifiedTagKey:指定的标签键,字符串类型。 specifiedTagValue:指定的标签值列表,如果列表为空,表示允许所有值,数组类型,最多包含10个元素。
  • 由配置变更触发的评估的示例事件 当触发自定义合规规则时,Config服务会发送一个事件来调用该自定义合规规则的函数。 下面的事件演示自定义合规规则被某个ecs.cloudservers的配置变更所触发。 { "domain_id": "domain_id", "policy_assignment_id": "637c6b2e6b647c4d313d9719", "policy_assignment_name": "period-policy-period", "function_urn": "urn:fss:region_1:123456789:function:default:test-custom-policyassignment:latest", "trigger_type": "resource", "evaluation_time": 1669098286719, "evaluation_hash": "3bf8ecaeb0864feb98639080aea5c7d9", "rule_parameter": { "vpcId": { "value": "fake_id" } }, "invoking_event": { "id": "5e0d49c8-7ce0-4c31-9d92-28b05200b838", "name": "default", "provider": "vpc", "type": "securityGroups", "tags": {}, "created": "2022-11-07T12:58:46.000+00:00", "updated": "2022-11-07T12:58:46.000+00:00", "properties": { "description": "Default security group", "security_group_rules": [ { "remote_group_id": "5e0d49c8-7ce0-4c31-9d92-28b05200b838", "ethertype": "IPv6", "security_group_id": "5e0d49c8-7ce0-4c31-9d92-28b05200b838", "port_range_max": 0, "id": "19f581bc-08a7-4037-ae59-9a6838c43709", "direction": "ingress", "port_range_min": 0 }, { "ethertype": "IPv6", "security_group_id": "5e0d49c8-7ce0-4c31-9d92-28b05200b838", "port_range_max": 0, "id": "75dae7b6-0b71-496f-8f11-87fb30300e18", "direction": "egress", "port_range_min": 0 } ] }, "ep_id": "0", "project_id": "vpc", "region_id": "region_1", "provisioning_state": "Succeeded" } }
  • 由周期执行触发的评估的示例事件 Config以您指定的频率(如每24小时)评估您的账号时,它会发布一个事件。 下面的示例事件演示自定义合规规则被周期执行所触发。 { "domain_id": "domain_id", "policy_assignment_id": "637c6b2e6b647c4d313d9719", "policy_assignment_name": "period-policy-assignment", "function_urn": "urn:fss:region_1:123456789:function:default:test-custom-policyassignment:latest", "trigger_type": "period", "evaluation_time": 1669098286719, "evaluation_hash": "3bf8ecaeb0864feb98639080aea5c7d9", "rule_parameter": {}, "invoking_event": { "id": "domain_id", "name": "Account", "provider": null, "type": null, "tags": null, "created": null, "updated": null, "properties": null, "ep_id": null, "project_id": null, "region_id": "global", "provisioning_state": null } }
  • 评估由配置变更触发的示例函数 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").get("value") else "NonCompliant" def update_policy_state(context, domain_id, evaluation): auth = GlobalCredentials( ak=context.getSecurityAccessKey(), sk=context.getSecuritySecretKey(), domain_id=domain_id ).with_security_token(context.getSecurityToken()) 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
  • 操作场景 当Config提供的系统内置预设策略不能满足检测资源合规性的需求时,您可以通过编写FunctionGraph函数代码,添加自定义策略来完成复杂场景的资源审计。 自定义策略是一个用户开发并发布在 函数工作流 (FunctionGraph)上的函数。将合规规则和函数相关联,函数接收Config发布的事件,从事件中接收到规则参数和Config服务收集到的资源属性;函数评估该规则下资源的合规性并通过Config的OpenAPI回传Config服务合规评估结果。合规规则的事件发送因触发类型为配置变更或周期执行而异。 本章节指导您如何通过自定义策略来添加资源合规规则,主要包含如下步骤: 创建FunctionGraph函数; 添加自定义合规规则。
  • 约束与限制 每个账号最多可以添加500个合规规则。 添加、修改、启用合规规则和触发规则评估需要开启资源记录器,资源记录器处于关闭状态时,合规规则仅支持查看、停用和删除操作。 仅被资源记录器收集的资源可参与资源评估,为保证资源合规规则的评估结果符合预期,强烈建议您保持资源记录器的开启状态,不同场景的说明如下: 如您未开启资源记录器,则资源合规规则无法评估任何资源数据。历史的合规规则评估结果依然存在。 如您已开启资源记录器,但仅在资源记录器监控范围内勾选部分资源,则资源合规规则仅会评估所选择的资源数据。 关于如何开启并配置资源记录器请参见:配置资源记录器。
  • 规则评估结果 当触发规则评估后,会生成相应的评估结果(PolicyState)。 使用JSON表达式来表示一个评估结果,如表1所示。 表1 规则评估结果-JSON表达式格式 参数 定义 说明 domain_id 账号ID 用于区分用户。规则评估结果的domain_id不会为空。 resource_id 评估结果所属资源的ID - resource_name 评估结果所属资源的名称 - resource_provider 资源所属的服务 - resource_type 资源类型 - trigger_type 触发类型 包含如下值: resource period compliance_state 合规结果 包含如下值: Compliant:合规 NonCompliant:不合规 policy_assignment_id 评估结果对应合规规则的ID - policy_definition_id 评估结果对应合规策略的ID - evaluation_time 评估时间戳 - 如下JSON表示了一个不合规的评估结果: { "domain_id": "domainidforpolicy", "resource_id": "special-ecs1-with-public-ip-with-tag", "resource_name": "ecs1-with-public-ip-with-tag", "resource_provider": "ecs", "resource_type": "cloudservers", "trigger_type": "resource", "compliance_state": "NonCompliant", "policy_assignment_id": "5fa9f8a2501013093a192b07", "policy_definition_id": "5fa9f8a2501013093a192b06", "evaluation_time": 1604974757084 } 父主题: 合规规则概念详解
  • 合规规则 通过指定合规策略和合规策略所应用的范围(如:在某一区域的某些资源)来构成合规规则。 使用JSON表达式来表示一个合规规则定义,如表1所示。 表1 合规规则的定义-JSON表达式格式 参数 定义 限制 说明 id 合规规则唯一标识符 - - policy_assignment_type 合规规则类型 - 包含以下两种: builtin:预设策略,此时合规规则需要设置参数policy_definition_id。 custom:自定义策略,此时合规规则需要设置参数custom_policy。 如不设置此参数,则默认为预设策略。 name 合规规则的名称 字符串类型,最多64个字符。 规则名称默认复用所选择合规策略的名称,也可自行修改。 name最大长度为64个字符。 description 合规规则的描述 字符串类型,最多512个字符。 指的是规则简介,默认复用所选择合规策略的简介,需自行修改。 description最大长度为512个字符。 period 周期频率 - 包含以下几种: One_Hour: 1小时。 Three_Hours: 3小时。 Six_Hours: 6小时。 Twelve_Hours: 12小时。 TwentyFour_Hours: 24小时。 policy_filter 合规规则过滤器,用于过滤范围内的哪些资源参与此规则的评估。 过滤器的属性主要有以下几个: region_id: 区域ID。 resource_provider: 指定资源服务。 resource_type:指定资源服务下的资源类型。 resource_id:资源ID。 tag_key:资源标签的键。 tag_value:资源标签的值。 policy_filter:Object类型。 region_id:字符串类型,最多128个字符,只能包括字母、数字、中划线(-)。 resource_provider:字符串类型,最多128个字符,只能包括字母、数字。 resource_type:字符串类型,最多128个字符,只能包括字母、数字。 resource_id:字符串类型,最多256个字符。 tag_key:字符串类型,最多128个字符。 tag_value:字符串类型,最多256个字符。 说明: 资源类型(resource_provider)是判断过滤器类型(指定资源/所有资源)的依据,如果policy_filter中资源类型存在,则过滤器类型为“指定资源”;如果policy_filter中资源类型不存在,则过滤器类型为“所有资源”。 因此policy_filter中没有设置单独的过滤器类型属性。 state 合规规则的运行状态 - 包含以下几种: Enabled:运行中,表示此合规规则可用。 Disabled:已停用,表示此合规规则已停用。 Evaluating:评估中,表示正在使用此合规规则进行资源评估。 created 合规规则的创建时间 - 说明: 时间具有固定格式:遵循ISO8601格式,UTC时区(例如:2018-11-14T08:59:14Z)。 updated 合规规则的更新时间 - policy_definition_id 合规策略ID 字符串类型,最多64个字符,只能包括字母、数字、中划线(-)。 policy_definition_id指定此规则绑定的合规策略ID。 custom_policy 自定义策略,包含如下属性: function_urn:函数urn。 auth_type:调用函数的鉴权方式。 auth_value:调用函数的鉴权值。 custom_policy:Object类型 。 function_urn:字符串类型,最多1024个字符。 auth_type:字符串类型,当前只支持 "agency" 。 auth_value:object类型,与auth_type相关,当前只支持如下结构 {"agency_name": value_name},其中value_name为授权给Config服务调用函数的委托的名字。 custom_policy指定此规则绑定的自定义策略的函数URN和调用时的鉴权方式。 parameters 合规策略的规则参数的值 parameters:Object类型 key:字符串类型,只能包括字母、数字,当合规规则为自定义合规规则时,最多1024个字符。 value:Object类型,根据参数具体的类型,有具体的限制。 合规规则绑定的合规策略,会有相应的规则参数,规则参数的个数、类型以及范围取决于所选择的合规策略。 tags 合规规则的标签列表 - 标签键:最大长度为128个unicode字符。 标签值:最大长度为255个unicode字符。 created_by 合规规则的创建者 - 用户创建(custom)或服务关联委托方式创建。 为避免循环评估的行为,合规规则不支持评估配置审计服务的合规规则和合规规则包两种资源类型。 如下JSON表示了一个用于检查在区域1的弹性云服务器是否具有tag(env:production)标签的预设策略: { "id": "5fcd8696dfb78231e6f2f899", "name": "required-tag-check", "description": "指定一个标签,不具有此标签的资源,视为“不合规”", "policy_filter": { "region_id": "regionid_1", "resource_provider": "ecs", "resource_type": "cloudservers", "tag_key": "env", "tag_value": "production" }, "period": null, "state": "Enabled", "created": "2020-12-07T01:34:14.266Z", "updated": "2020-12-07T01:34:14.266Z", "policy_definition_id": "5fa9f89b6eed194ccb2c04db", "parameters": { "specifiedTagKey": { "value": "a" }, "specifiedTagValue": { "value": [] } } "tags": [], "created_by": "custom" } 如下JSON表示了一个用于检查在区域1的弹性云服务器的自定义合规规则: { "id": "719d8696dfb78231e6f2f719", "name": "test_consume_policy", "description": "指定一个标签,不具有此标签的资源,视为“不合规”", "policy_filter": { "region_id": "regionid_1", "resource_provider": "ecs", "resource_type": "cloudservers", "tag_key": null, "tag_value": null }, "period": null, "state": "Enabled", "created": "2022-07-19T01:34:14.266Z", "updated": "2022-07-19T01:34:14.266Z", "policy_definition_id": null, "custom_policy": { "function_urn": "urn:fss:regionid_1:projectidforpolicy:function:default:test_consume_policy:latest", "auth_type": "agency", "auth_value": {"agency_name": "rms_fg_agency"} }, "parameters": { "vpcId": {"value": "allowed-vpc-id"} } } "tags": [], "created_by": "custom" } 父主题: 合规规则概念详解
  • 合规策略 合规策略是一个可以用于评估资源是否合规的逻辑表达式。将合规策略应用到资源上时,可以评估出这个资源是否满足合规策略中的要求。 合规策略本身只是一个静态的逻辑,如果想要让其生效,必须将合规策略指定到一个具体的范围(例如通过设置过滤器来指定具体的资源范围)上,即生成一个具体的合规规则。 使用JSON表达式来表示一个合规策略定义,如表1所示。 表1 合规策略的定义-JSON表达式格式 参数 定义 说明 id 合规策略的唯一标识符 - name 合规策略的名称 name最大长度为64个字符。 display_name 合规策略的展示名 display_name最大长度为64个字符。 description 合规策略的描述 description最大长度为512个字符。 parameters 合规策略的规则参数,即每个合规策略下包含的参数。 具有如下属性: name description type default_value allowed_values minimum maximum min_items max_items min_length max_length pattern 合规策略中包含的参数名称保持不变,您可以根据需要设置不同的值。 name:规则参数的名称。 description:规则参数的描述。 type:规则参数值的类型,包括String,Array,Boolean,Integer,Float。 default_value:规则参数的默认值。如果指定了默认值,用户可以不输入规则参数值,创建合规规则时将使用此默认值。 allowed_values:规则参数值允许的值列表。如果指定了allowed_values,那么参数的值只能够从这些值中选择。 minimum:策略参数的最小值,当参数类型为Integer或Float时生效。 maximum: 策略参数的最大值,当参数类型为Integer或Float时生效。 min_items:策略参数的最小项数,当参数类型为Array时生效。 max_items: 策略参数的最大项数,当参数类型为Array时生效。 min_length:策略参数的最小字符串长度或每项的最小字符串长度,当参数类型为String或Array时生效。 max_length: 策略参数的最大字符串长度或每项的最大字符串长度,当参数类型为String或Array时生效。 pattern:策略参数的字符串正则要求或每项的字符串正则要求,当参数类型为String或Array时生效。 keywords 合规策略关键词 一般为与合规策略相关的产品简称。 policy_type 合规策略的类型。 主要有以下类型: builtin custom builtin:系统内置策略,这些合规策略定义由Config服务提供和维护。详见系统内置预设策略。 custom: 用户自定义策略,用户创建的所有合规策略定义都具有此值。 policy_rule_type 合规策略的语法类型 DSL:一种Config服务提供的合规策略描述语言,用户可以根据此语法,将合规判断逻辑描述为一个具体的合规策略。 trigger_type 触发类型。 有以下类型: resource period resource:在指定的资源发生更改时运行。 period:按照您设定的频率运行。 default_resource_types 合规策略评估的资源类型 大部分合规策略只评估部分的资源类型。创建合规规则时,建议只评估“default_resource_types”中的资源类型。 如下JSON表示了一个用于检查ECS实例的镜像ID是否在指定范围内的合规策略: { "id": "5fa265c0aa1e6afc05a0ff07", "name": "allowed-images-by-id", "description": "指定允许的镜像ID列表,ECS实例的镜像ID不在指定的范围内,视为“不合规”", "parameters": { "listOfAllowedImages": { "name": "null", "description": "The list of allowed image IDs", "type": "Array" "allowed_values": null, "default_value": null, } }, "keywords": [ "ecs", "ims" ], "policy_type": "builtin", "policy_rule_type": "dsl", "trigger_type": "resource", "policy_rule": { "allOf": [ { "value": "${resource().provider}", "comparator": "equals", "pattern": "ecs" }, { "value": "${resource().type}", "comparator": "equals", "pattern": "cloudservers" }, { "value": "${resource().properties.metadata.meteringImageId}", "comparator": "notIn", "pattern": "${parameters('listOfAllowedImages')}" } ] }, } 更多样例详见自定义合规规则样例。 父主题: 合规规则概念详解
  • 操作场景 资源合规规则添加完成后,您可以随时对其进行修改、停用、启用、删除操作。 您可以在规则列表的操作列或规则详情页中进行这些操作,本章节以规则列表的操作为例进行说明,包含如下内容: 停用合规规则 启用合规规则 修改合规规则 删除合规规则 添加、修改、启用合规规则和触发规则评估需要开启资源记录器,资源记录器处于关闭状态时,合规规则仅支持查看、停用和删除操作。 托管合规规则不支持进行修改、停用、启用、删除操作,托管合规规则是由组织合规规则或合规规则包创建的,由组织合规规则创建的托管规则只能由创建规则的组织账号进行修改和删除操作,由合规规则包创建的托管规则可以通过更新合规规则包进行参数修改,且只能通过删除相应合规规则包来进行删除。具体请参见组织合规规则和合规规则包。
  • 操作场景 触发规则评估的方式包括自动触发和手动触发。 自动触发 新创建一个合规规则时,会触发此规则的评估任务。 合规规则更新时,会触发此规则的评估任务。 合规规则被重新启用时,会触发此规则的评估任务。 当触发类型为“配置变更”时,合规规则范围内的资源发生变更,则会将该规则应用到此资源上,进行评估。 当触发类型为“周期执行”时,系统将按照您设定的频率,触发此规则的评估任务。 手动触发 如果您想立即使用已有合规规则进行规则评估,可随时手动触发规则评估,具体请参见以下操作步骤。
  • 约束与限制 每个账号最多可以添加500个合规规则。 添加、修改、启用合规规则和触发规则评估需要开启资源记录器,资源记录器处于关闭状态时,合规规则仅支持查看、停用和删除操作。 仅被资源记录器收集的资源可参与资源评估,为保证资源合规规则的评估结果符合预期,强烈建议您保持资源记录器的开启状态,不同场景的说明如下: 如您未开启资源记录器,则资源合规规则无法评估任何资源数据。历史的合规规则评估结果依然存在。 如您已开启资源记录器,但仅在资源记录器监控范围内勾选部分资源,则资源合规规则仅会评估所选择的资源数据。 关于如何开启并配置资源记录器请参见:配置资源记录器。
  • 操作步骤 登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击左侧的“资源合规”,进入“资源合规”页面。 在“规则”页签下的合规规则列表中,单击合规规则操作列的“立即评估”。 或者您也可以在规则详情页的右上角单击“立即评估”按钮执行此操作。 在弹出的确认框中,单击“确定”,立即触发此合规规则的规则评估。 图1 手动触发规则评估
  • 操作步骤 登录管理控制台。 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“配置审计 Config”,进入“资源清单”页面。 单击左侧的“资源合规”,进入“资源合规”页面。 在“规则”页签下单击“添加规则”,进入“基础配置”页面。 基础配置完成后,单击页面右下角的“下一步”。 图1 基础配置 表1 基础配置参数说明 参数 说明 策略类型 选择“预设策略”。 预设策略即服务已开发的策略,在下方的预设策略列表中直接选择所需预设策略,快速完成规则创建。支持输入策略名称或标签进行搜索。 预设策略详见系统内置预设策略。 规则名称 规则名称默认复用所选择预设策略的名称,不能与已存在的合规规则名称重复,如有重复需自行修改。 合规规则名称仅支持数字、字母、下划线和中划线,最大长度64个字符。 规则简介 规则简介默认复用所选择预设策略的简介,也可自行修改。 目前对规则简介内容的字符类型不做限制,最大长度512个字符。 进入“规则参数”页面,规则参数配置完成后,单击“下一步”。 图2 规则参数 表2 合规规则参数说明 参数 说明 触发类型 用于触发资源合规规则。 触发类型有: 配置变更:在指定的云资源发生更改时触发规则评估。 周期执行:按照您设定的频率运行。 说明: 预设策略的触发类型不支持修改,不同预设策略支持的触发类型不同。 过滤器类型 用于指定资源类型参与规则评估。 过滤器类型分为: 指定资源:指定资源类型下的所有资源均参与规则评估。 所有资源:账号下的所有资源均参与规则评估。 仅当“触发类型”为“配置变更”时需配置此参数。 指定资源范围 过滤器类型选择“指定资源”后,需选择指定资源范围。 服务:选择资源所属的服务; 资源类型:选择对应服务下的资源类型; 区域:选择资源所在的区域。 说明: 仅当“触发类型”为“配置变更”时支持指定服务和资源类型。 当预设策略的“触发类型”为“周期执行”,且规则评估的资源类型非“account”时,支持指定资源所在的“区域”进行过滤。具体请以控制台显示为准或参见预设策略列表。 过滤范围(可选) 使用过滤范围可指定资源类型下的某个具体资源参与规则评估。 过滤范围开启后您可通过资源ID或标签指定过滤范围。 当“触发类型”为“配置变更”时,您可以根据需要选择配置此参数。 周期频率 设置合规规则周期执行的频率。 可选项:1小时、3小时、6小时、12小时、24小时。 仅当“触发类型”为“周期执行”时需配置此参数。 规则参数 此处的“规则参数”和第一步所选的“预设策略”相对应,是对第一步所选的预设策略进行具体参数设置。 例如:第一步预设策略选择“资源具有指定的标签”,指定一个标签,不具有此标签的资源,视为“不合规”,则这里的规则参数就需要指定具体的标签键和值作为判断是否合规的依据。 有的“预设策略”需要添加规则参数,有的“预设策略”不需要添加规则参数。例如:已挂载的云硬盘开启加密(volumes-encrypted-check)。 标签 单击“添加新标签”,输入标签键和标签值,为合规规则添加标签。每个合规规则最多可以添加20个标签。 标签键不能为空,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格,且不能以_sys_开头。长度不超过128个字符。 标签值可以为空,可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格。长度不超过255个字符。 进入“确认规则”页面,确认规则信息无误后,单击“提交”按钮,完成合规规则添加。 图3 添加合规规则-确认规则 合规规则创建后会立即自动触发首次评估。
  • 约束与限制 每个账号最多可以添加500个合规规则。 添加、修改、启用合规规则和触发规则评估需要开启资源记录器,资源记录器处于关闭状态时,合规规则仅支持查看、停用和删除操作。 仅被资源记录器收集的资源可参与资源评估,为保证资源合规规则的评估结果符合预期,强烈建议您保持资源记录器的开启状态,不同场景的说明如下: 如您未开启资源记录器,则资源合规规则无法评估任何资源数据。历史的合规规则评估结果依然存在。 如您已开启资源记录器,但仅在资源记录器监控范围内勾选部分资源,则资源合规规则仅会评估所选择的资源数据。 关于如何开启并配置资源记录器请参见:配置资源记录器。
  • 资源记录器事件监控 事件监控提供事件类型数据上报、查询和告警的功能。方便您将资源的合规性事件收集到 云监控服务 ,并在事件发生时进行告警。 事件监控默认开通,您可以在事件监控中查看系统事件的监控详情,事件监控的相关操作请参见:查看事件监控数据和创建事件监控的告警通知。 当前Config对接 云监控 服务的事件监控能力仅支持华北-北京四区域。 资源记录器目前支持的系统事件如下表所示: 表1 资源记录器事件监控支持的配置审计(Config)事件 事件来源 事件名称 事件级别 事件说明 处理建议 事件影响 SYS. RMS Config快照导出失败 重要 Config资源快照导出到OBS失败 建议排查OBS桶权限 无法记录资源历史变化 SYS.RMS Config快照导出成功 提示 Config资源快照导出到OBS成功 无 无 SYS.RMS Config历史记录导出失败 重要 Config资源历史记录导出到OBS失败 建议排查OBS桶权限 无法记录资源历史变化 SYS.RMS Config历史记录导出成功 提示 Config资源历史记录导出到OBS成功 无 无 SYS.RMS Config资源变化通知失败 重要 Config资源变化通知 SMN 失败 建议排查SMN主题权限 无法通过SMN通知到客户资源历史变化 SYS.RMS Config资源变化通知成功 提示 Config资源变化通知SMN成功 无 无 SYS.RMS Config资源关系变化通知失败 重要 Config资源关系变化通知SMN失败 建议排查SMN主题权限 无法通过SMN通知到客户资源历史变化 SYS.RMS Config资源关系变化通知成功 提示 Config资源关系变化通知SMN成功 无 无 资源合规支持的配置审计(Config)事件请参见:资源合规事件监控。 父主题: 资源记录器
  • 资源快照存储 您在开启资源记录器,并成功配置OBS桶后,资源记录器会定期(24小时)将资源快照文件存储到您配置的OBS桶中。 无论是将资源快照文件存储至您账号的桶还是另一账号的桶,该文件在OBS桶内存放的路径均为:${bucket_name}/${bucket_prefix}/RMSLogs/${account_id}/Snapshot/${year}/${month}/*。此路径中的每个字段在控制台上均表示一个文件夹层级的名称,在OBS控制台进入相关桶的“对象”页面,然后按照上述路径所示查找资源快照存储文件,其中*表示文件名称。 资源快照存储文件的名称由账号ID、存储文件类型、OBS桶所在区域的ID、存储时间、随机生成的字符串、拆分文件的序号组成。每个文件最多存储2000个资源的信息,超出后将拆分为多个文件,此时文件名称中才会出现拆分文件的序号(例如part-1),“.json.gz”表示该文件的存储类型为JSON格式的压缩包。 文件名称示例如下:0926901ef980f2150fbdc001fdd23e80_Snapshot_me-east-1_ResourceSnapshot_2024-07-22T221441Z_90decead-b69b-4522-a090-657d8c299d40_part-1.json.gz。 关于OBS的详细使用说明请参见列举对象。 当前用户的资源有保有中(Normal)和已删除(Deleted)两种状态,资源记录器仅会转储资源状态为保有中(Normal)的资源快照文件,不会转储状态为已删除(Deleted)的资源快照文件。 如果您想了解关于资源快照存储的后台代码示例,请参见资源存储模型。 父主题: 资源记录器
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全