基于模板创建规则或基于函数计算创建自定义规则,通过规则检测资源的合规性。新建规则后,规则会自动执行一次评估,后续配置审计将根据规则的触发机制自动触发评估,您也可以手动执行评估。
接口说明
使用限制
每个账号最多可以创建 200 条规则。
背景信息
配置审计支持通过以下方法创建规则:
-
基于模板创建规则
规则模板是配置审计已在函数计算中构建的规则函数,您可以通过规则模板快速创建规则。关于规则的更多信息,请参见规则的定义及运行原理。
-
基于函数计算创建规则
自定义函数规则是配置审计通过函数计算服务的函数来承载规则代码的自定义规则。当配置审计预置的规则模板不能满足检测资源合规性的需求时,您可以通过编写函数代码,完成复杂场景的合规检测。关于自定义函数规则的更多信息,请参见自定义函数规则定义和运行原理。
使用说明
本文将提供一个示例,通过规则模板“存在所有指定标签”创建一条规则。返回结果显示规则创建成功,规则 ID 为cr-5772ba41209e007b****
。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
config:CreateConfigRule | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
TagKeyScope | string | 否 | 规则仅对绑定指定标签键的资源生效。 说明
仅适用于托管规则,且 TagKeyScope 和TagValueScope 必须同时设置。
| ECS |
TagValueScope | string | 否 | 规则仅对绑定指定标签值的资源生效。 说明
仅适用于规则模板,且 TagKeyScope 和TagValueScope 必须同时设置。
| test |
TagKeyLogicScope | string | 否 | 参数
| AND |
Description | string | 否 | 规则描述。 | 最多可以定义6组标签。如果资源同时具有指定的所有标签,则视为“合规”。 |
SourceOwner | string | 是 | 创建的规则类型。取值:
| ALIYUN |
MaximumExecutionFrequency | string | 否 | 规则执行周期。取值:
说明
当 ConfigRuleTriggerTypes 设置为 ScheduledNotification 时,需要设置该参数。
| One_Hour |
RegionIdsScope | string | 否 | 规则仅对指定地域 ID 中的资源生效。多个地域 ID 之间用半角逗号(,)分隔。 说明
仅适用于规则模板。
| cn-hangzhou |
ResourceGroupIdsScope | string | 否 | 规则仅对指定资源组 ID 中的资源生效。多个资源组 ID 之间用半角逗号(,)分隔。 说明
仅适用于规则模板。
| rg-aekzc7r7rhx**** |
InputParameters | object | 否 | 规则入参。 规则入参可以通过 GetManagedRule 接口获取,查看参数 规则入参的格式为 | {"tag1Key":"ECS","tag1Value":"test"} |
ExcludeResourceIdsScope | string | 否 | 规则对指定资源 ID 无效,即不对该资源执行评估。多个资源 ID 之间用半角逗号(,)分隔。 说明
仅适用于规则模板。
| lb-t4nbowvtbkss7t326**** |
SourceIdentifier | string | 是 | 规则标识符。
| required-tags |
ConfigRuleTriggerTypes | string | 是 | 规则触发机制。取值:
说明
当规则包括两种触发机制时,用半角逗号(,)分隔。
| ConfigurationItemChangeNotification |
ConfigRuleName | string | 是 | 规则名称。 | 存在所有指定标签 |
ClientToken | string | 否 | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。 | 1594295238-f9361358-5843-4294-8d30-b5183fac**** |
ResourceTypesScope | array | 是 | 规则评估的资源类型。多个资源类型之间用半角逗号(,)分隔。 | |
string | 是 | 规则评估的资源类型。多个资源类型之间用半角逗号(,)分隔。 | ACS::ECS::Instance | |
RiskLevel | integer | 是 | 规则风险等级。取值:
| 1 |
关于公共请求参数的详情,请参见公共参数。
返回参数
示例
正常返回示例
JSON
格式
{
"ConfigRuleId": "cr-5772ba41209e007b****",
"RequestId": "6EC7AED1-172F-42AE-9C12-295BC2ADB751"
}
错误码
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. | 规则名称重复。 |
404 | AccountNotExisted | Your account does not exist. | 您的账号不存在。 |
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | 服务不可用。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-12-18 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更 | 查看变更详情 |
2023-08-18 | OpenAPI 错误码发生变更 | 查看变更详情 |