CreateAggregateConfigRule - 创建账号组规则

为指定账号组基于模板创建规则或基于函数计算创建自定义规则,通过规则检测资源的合规性。新建规则后,规则会自动执行一次评估,后续配置审计将根据规则的触发机制自动触发评估,您也可以手动执行评估。

接口说明

使用限制

每个管理账号和委派管理员账号最多可以创建 200 条规则。

背景信息

配置审计支持通过以下方法创建规则:

  • 基于模板创建规则

    规则模板是配置审计已在函数计算中构建的规则函数,您可以通过规则模板快速创建规则。关于规则的更多信息,请参见规则的定义及运行原理

  • 基于函数计算创建规则

    自定义函数规则是配置审计通过函数计算服务的函数来承载规则代码的自定义规则。当配置审计预置的规则模板不能满足检测资源合规性的需求时,您可以通过编写函数代码,完成复杂场景的合规检测。关于自定义函数规则的更多信息,请参见自定义函数规则定义和运行原理

使用说明

本文将提供一个示例,通过规则模板“存在所有指定标签”为账号组ca-a4e5626622af0079****创建一条规则。返回结果显示规则创建成功,规则 ID 为cr-4e3d626622af0080****

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

config:CreateAggregateConfigRule

create

*AggregateConfigRule

acs:config:*:{#accountId}:aggregateconfigrule/*

请求参数

名称

类型

必填

描述

示例值

ConfigRuleName

string

规则名称。

存在所有指定标签

Description

string

规则描述。

最多可以定义6组标签。如果资源同时具有指定的所有标签,则视为“合规”。

InputParameters

object

规则参数。

{"tag1Key":"ECS","tag1Value":"test"}

ConfigRuleTriggerTypes

string

规则触发机制。取值:

  • ConfigurationItemChangeNotification:配置变更。

  • ScheduledNotification:周期执行。

ConfigurationItemChangeNotification

MaximumExecutionFrequency

string

规则执行周期。取值:

  • One_Hour:1 小时。

  • Three_Hours:3 小时。

  • Six_Hours:6 小时。

  • Twelve_Hours:12 小时。

  • TwentyFour_Hours(默认值):24 小时。

说明

ConfigRuleTriggerTypes设置为ScheduledNotification时,需要设置该参数。

One_Hour

ResourceTypesScope

array

规则评估的资源类型。多个资源类型之间用半角逗号(,)分隔。

ACS::ECS::Instance

string

规则评估的资源类型。多个资源类型之间用半角逗号(,)分隔。

ACS::ECS::Instance

RiskLevel

integer

规则风险等级。取值:

  • 1:高风险。

  • 2:中风险。

  • 3:低风险。

1

ClientToken

string

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持 ASCII 字符,且不能超过 64 个字符。

1594295238-f9361358-5843-4294-8d30-b5183fac****

AggregatorId

string

账号组 ID。

关于如何获取账号组 ID,请参见 ListAggregators

ca-a4e5626622af0079****

RegionIdsScope

string

规则仅对指定地域 ID 中的资源生效。多个地域 ID 之间用半角逗号(,)分隔。

cn-hangzhou

ExcludeRegionIdsScope

string

规则对指定地域内资源无效,即不对该地域内资源执行评估。多个地域 ID 之间用半角逗号(,)分隔。

cn-shanghai

ResourceIdsScope

string

规则对指定资源 ID 生效。多个资源 ID 之间用半角逗号(,)分隔。

lb-5cmbowstbkss9ta03****

ExcludeResourceIdsScope

string

规则对指定资源 ID 无效,即不对该资源执行评估。多个资源 ID 之间用半角逗号(,)分隔。

lb-t4nbowvtbkss7t326****

ResourceGroupIdsScope

string

规则仅对指定资源组 ID 中的资源生效。多个资源组 ID 之间用半角逗号(,)分隔。

rg-aekzc7r7rhx****

ExcludeResourceGroupIdsScope

string

规则对指定资源组 ID 中的资源无效,即不对该资源组内的资源评估。多个资源组 ID 之间用半角逗号(,)分隔。

rg-bnczc6r7rml****

TagKeyScope deprecated

string

已废弃,请使用 TagsScope 字段。

规则仅对绑定指定标签的资源生效。多个标签之间用半角逗号(,)分隔。

说明

仅适用于规则模板,且TagKeyScopeTagValueScope必须同时设置。

ECS

TagValueScope deprecated

string

已废弃,请使用 TagsScope 字段。

规则仅对绑定指定标签的资源生效。

说明

仅适用于规则模板,且TagKeyScopeTagValueScope必须同时设置。

test

TagKeyLogicScope

string

参数TagsScope 取多值时的逻辑关系,例如:当参数TagsScope取值为"TagsScope.1.TagKey":"a","TagsScope.1.TagValue":"a","TagsScope.2.TagKey":"b","TagsScope.2.TagValue":"b"时,如果该参数为AND,则表示规则仅对同时绑定标签a:ab:b的资源生效。不填写取默认逻辑OR

也可以用于已废弃字段TagKeyScope字段(不推荐),例如:当参数TagKeyScope取值为ECS,OSS时,如果该参数为AND,则表示规则仅对同时绑定标签ECSOSS的资源生效。

取值:

  • AND:与。

  • OR:或。

枚举值:

  • OR :

    OR

  • AND :

    AND

AND

TagsScope

array<object>

标签范围

object

TagKey

string

资源的标签键。

key-1

TagValue

string

资源的标签值。

value-1

ExcludeTagsScope

array<object>

排除的标签范围

object

TagKey

string

要排除的资源的标签键。

key-2

TagValue

string

要排除的资源的标签值。

value-2

SourceOwner

string

规则类型。取值:

  • ALIYUN:规则模板。

  • CUSTOM_FC:自定义规则。

ALIYUN

SourceIdentifier

string

规则标识符。

  • SourceOwnerALIYUN时,输入规则模板的标识符,例如:required-tags

    说明

    关于如何查询规则模板标识符,请参见规则模板列表

  • SourceOwnerCUSTOM_FC时,输入函数计算的函数 ARN。

    函数 ARN 格式为:acs:fc:地域:账号 ID:services/服务名称.LATEST/functions/函数名称,例如:acs:fc:cn-hangzhou:120886317861****:services/service-test.LATEST/functions/config-test

    说明

    关于如何获取函数 ARN,请参见 ListFunctions

required-tags

FolderIdsScope

string

规则仅对指定资源目录 ID 中成员账号内的资源生效。多个资源目录 ID 之间用半角逗号(,)分隔。

说明
  • 该参数仅作用于全局账号组的规则。

  • 仅适用于规则模板。

fd-ZtHsRH****

ExcludeFolderIdsScope

string

规则对指定资源目录 ID 中成员账号内的资源无效,即不对该资源目录 ID 中成员账号内的资源执行评估。多个资源目录 ID 之间用半角逗号(,)分隔。

说明
  • 该参数仅作用于全局账号组的规则。

  • 仅适用于规则模板。

fd-pWmkqZ****

ExcludeAccountIdsScope

string

规则对指定成员账号内的资源无效,即不对该账号内的资源执行评估。多个成员账号 ID 之间用半角逗号(,)分隔。

说明

仅适用于规则模板。

120886317861****

AccountIdsScope

string

规则仅对指定成员账号内的资源生效。多个成员账号 ID 之间用半角逗号(,)分隔。

说明

仅适用于规则模板。

115748125982****

ExtendContent

string

扩展内容,暂时仅用于配合 24 小时周期触发设置触发时间。

{"fixedHour":"12"}

Tag

array<object>

创建出的规则的标签

object

标签

Key

string

资源的标签键。

最多支持绑定 20 个标签键。

key-1

Value

string

资源的标签值。

最多支持绑定 20 个标签值。

value-1

ResourceNameScope

string

规则仅对指定资源名称的资源生效。

i-xxx

返回参数

名称

类型

描述

示例值

object

ConfigRuleId

string

规则 ID。

cr-4e3d626622af0080****

RequestId

string

请求 ID。

5895065A-196C-4254-8AD8-14EFC31EEF50

示例

正常返回示例

JSON格式

{
  "ConfigRuleId": "cr-4e3d626622af0080****",
  "RequestId": "5895065A-196C-4254-8AD8-14EFC31EEF50"
}

错误码

HTTP status code

错误码

错误信息

描述

400 ExceedMaxRuleCount The maximum number of rules is exceeded.
400 ConfigRuleNotExists The ConfigRule does not exist. 此规则不存在。
400 ConfigRuleExists The ConfigRule already exists.
400 Invalid.AggregatorId.Value The specified AggregatorId is invalid. 账号组ID不存在或无权限使用该账号组。
403 AggregatorMemberNoPermission The aggregator member is not authorized to perform the operation. 账号组内的成员账号无权限执行此操作。
404 AccountNotExisted Your account does not exist.
503 ServiceUnavailable The request has failed due to a temporary failure of the server. 服务不可用。

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情