CreateConfigRule - 创建规则

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

接口说明

使用限制

每个账号最多可以创建 200 条规则。

背景信息

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

  • 基于模板创建规则

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

  • 基于函数计算创建规则

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

使用说明

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

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
config:CreateConfigRulecreate
*全部资源
*

请求参数

名称类型必填描述示例值
TagKeyScopestring

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

说明 仅适用于托管规则,且TagKeyScopeTagValueScope必须同时设置。
ECS
TagValueScopestring

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

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

参数TagKeyScope取多值时的逻辑关系,例如:当参数TagKeyScope取值为ECS,OSS时,如果该参数为AND,则表示规则仅对同时绑定标签ECSOSS的资源生效。取值:

  • AND:与。

  • OR:或。

AND
TagsScopearray<object>

标签范围

object
TagKeystring

标签键。

key-1
TagValuestring

标签值。

value-1
ExcludeTagsScopearray<object>

排除的标签范围

object
TagKeystring

标签键。

key-2
TagValuestring

标签值。

value-2
Descriptionstring

规则描述。

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

创建的规则类型。取值:

  • ALIYUN:规则模板。
  • CUSTOM_FC:自定义规则。
ALIYUN
MaximumExecutionFrequencystring

规则执行周期。取值:

  • One_Hour:1 小时。
  • Three_Hours:3 小时。
  • Six_Hours:6 小时。
  • Twelve_Hours:12 小时。
  • TwentyFour_Hours(默认值):24 小时。
说明 当 ConfigRuleTriggerTypes 设置为 ScheduledNotification 时,需要设置该参数。
One_Hour
RegionIdsScopestring

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

说明 仅适用于规则模板。
cn-hangzhou
ExcludeRegionIdsScopestring

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

cn-shanghai
ResourceGroupIdsScopestring

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

说明 仅适用于规则模板。
rg-aekzc7r7rhx****
ExcludeResourceGroupIdsScopestring

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

rg-bnczc6r7rml****
InputParametersobject

规则入参。

规则入参可以通过 GetManagedRule 接口获取,查看参数CompulsoryInputParameterDetailsOptionalInputParameterDetails了解必填参数和可选参数。

规则入参的格式为{"参数 1 名称":"参数 1 值","参数 2 名称":"参数 2 值"}

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

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

lb-5cmbowstbkss9ta03****
ExcludeResourceIdsScopestring

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

说明 仅适用于规则模板。
lb-t4nbowvtbkss7t326****
SourceIdentifierstring

规则标识符。

  • 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
ConfigRuleTriggerTypesstring

规则触发机制。取值:

  • ConfigurationItemChangeNotification:配置变更。

  • ScheduledNotification:周期执行。

说明 当规则包括两种触发机制时,用半角逗号(,)分隔。
ConfigurationItemChangeNotification
ConfigRuleNamestring

规则名称。

存在所有指定标签
ClientTokenstring

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

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

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

string

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

ACS::ECS::Instance
RiskLevelinteger

规则风险等级。取值:

  • 1:高风险。
  • 2:中风险。
  • 3:低风险。
1
ExtendContentstring

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

{"fixedHour":"13"}

关于公共请求参数的详情,请参见公共参数

返回参数

名称类型描述示例值
object

ConfigRuleIdstring

规则 ID。

cr-5772ba41209e007b****
RequestIdstring

请求 ID。

6EC7AED1-172F-42AE-9C12-295BC2ADB751

示例

正常返回示例

JSON格式

{
  "ConfigRuleId": "cr-5772ba41209e007b****",
  "RequestId": "6EC7AED1-172F-42AE-9C12-295BC2ADB751"
}

错误码

HTTP status code错误码错误信息描述
400ExceedMaxRuleCountThe maximum number of rules is exceeded.-
400ConfigRuleNotExistsThe ConfigRule does not exist.此规则不存在。
400ConfigRuleExistsThe ConfigRule already exists.-
404AccountNotExistedYour account does not exist.-
503ServiceUnavailableThe request has failed due to a temporary failure of the server.服务不可用。

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

变更历史

变更时间变更内容概要操作
2023-12-18OpenAPI 描述信息更新、OpenAPI 错误码发生变更查看变更详情
2023-08-18OpenAPI 错误码发生变更查看变更详情