Creates a compliance package for the current account.
Operation description
Each ordinary account can create up to five compliance packages.
This topic provides an example on how to create a compliance package named ClassifiedProtectionPreCheck. The compliance package contains a managed rule named eip-bandwidth-limit
.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
config:CreateCompliancePack | create | *All Resources * |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
CompliancePackTemplateId | string | No | The ID of the compliance package template. You can call the ListCompliancePackTemplates operation to obtain the ID of the compliance package. | ct-5f26ff4e06a300c4**** |
CompliancePackName | string | Yes | The name of the compliance package. | test-pack-name |
Description | string | No | The description of the compliance package. | Test pack description. |
RiskLevel | integer | No | The risk level of the resources that are not compliant with the rules in the compliance package. Default value: 2. Valid values:
| 1 |
ConfigRules | array<object> | No | The rules in the compliance package. You must specify either this parameter or TemplateContent. | |
object | No | |||
ManagedRuleIdentifier | string | No | The identifier of the managed rule. Cloud Config automatically creates a managed rule based on the specified identifier and adds the rule to the compliance package. You need to only specify | eip-bandwidth-limit |
ConfigRuleName | string | No | The name of the rule. | eip-bandwidth-limit |
ConfigRuleParameters | array<object> | No | The input parameters of the rule. | |
object | No | |||
ParameterName | string | No | The name of the input parameter. You must specify both | bandwidth |
ParameterValue | string | No | The value of the input parameter. You must specify both | 10 |
ConfigRuleId | string | No | The rule ID. If you specify this parameter, Cloud Config adds the rule that has the specified ID to the compliance package. You need to only specify | cr-e918626622af000f**** |
Description | string | No | The description of the rule. | The description of the test rule. |
RiskLevel | integer | No | The risk level of the resources that do not comply with the rule. Valid values:
| 1 |
TemplateContent | string | No | The information about the template that is used to generate the compliance package. You can call an API operation to view the details of an existing compliance package or write a compliance package template. For more information, see Write a compliance package template in a configuration file. You must specify one of ConfigRules and TemplateContent. | { "configRuleTemplates": \[ { "configRuleName": "condition-rule-example", "scope": { "complianceResourceTypes": \[ "ACS::ECS::Instance" ] }, "description": "", "source": { "owner": "CUSTOM_CONFIGURATION", "identifier": "acs-config-configuration", "sourceDetails": \[ { "messageType": "ScheduledNotification", "maximumExecutionFrequency": "Twelve_Hours" }, { "messageType": "ConfigurationItemChangeNotification" } ], "conditions": "{\\"ComplianceConditions\\":\\"{\\\\\"operator\\\\\":\\\\\"and\\\\\",\\\\\"children\\\\\":\[{\\\\\"operator\\\\\":\\\\\"GreaterOrEquals\\\\\",\\\\\"featurePath\\\\\":\\\\\"$.Cpu\\\\\",\\\\\"featureSource\\\\\":\\\\\"CONFIGURATION\\\\\",\\\\\"desired\\\\\":\\\\\"2\\\\\"}]}\\"}" }, "inputParameters": {} }, { "configRuleName": "oss-bucket-referer-limit", "scope": { "complianceResourceTypes": \[ "ACS::OSS::Bucket" ] }, "description": "If the hotlink protection feature is enabled for the Object Storage Service (OSS) bucket and the Referer is added to a specific whitelist, the evaluation result is compliant.", "source": { "owner": "ALIYUN", "identifier": "oss-bucket-referer-limit", "sourceDetails": \[ { "messageType": "ConfigurationItemChangeNotification" } ] }, "inputParameters": { "allowEmptyReferer": "true", "allowReferers": "http://www.aliyun.com" } } ] } |
ClientToken | string | No | The client token that you want to use to ensure the idempotency of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.`` | 1594295238-f9361358-5843-4294-8d30-b5183fac**** |
DefaultEnable | boolean | No | Specifies whether to enable the rule together with the compliance package. Valid values:
| false |
RegionIdsScope | string | No | The ID of the region whose resources you want to evaluate by using the compliance package. Separate multiple region IDs with commas (,). | cn-hangzhou |
ExcludeRegionIdsScope | string | No | ExcludeRegionIdsScope | cn-hangzhou |
ExcludeResourceIdsScope | string | No | The ID of the resource that you do not want to evaluate by using the compliance package. Separate multiple resource IDs with commas (,). | eip-8vbf3x310fn56ijfd**** |
ResourceIdsScope | string | No | ResourceIdsScope | eip-8vbf3x310fn56ijfd**** |
ResourceGroupIdsScope | string | No | The ID of the resource group whose resources you want to evaluate by using the compliance package. Separate multiple resource group IDs with commas (,). | rg-aekzdibsjjc**** |
ExcludeResourceGroupIdsScope | string | No | ExcludeResourceGroupIdsScope. Separate multiple resource group IDs with commas (,). | rg-bnczc6r7rml**** |
TagKeyScope | string | No | The tag key of the resource that you want to evaluate by using the compliance package. | ECS |
TagValueScope | string | No | The tag value of the resource that you want to evaluate by using the compliance package. Note
You must configure the TagValueScope parameter together with the TagKeyScope parameter.
| test |
TagsScope | array<object> | No | TagsScope | |
object | No | |||
TagKey | string | No | Tagkey | key-1 |
TagValue | string | No | TagValue | value-1 |
ExcludeTagsScope | array<object> | No | ExcludeTagsScope | |
object | No | |||
TagKey | string | No | TagKey | key-2 |
TagValue | string | No | TagValue | value-2 |
For more information about common request parameters, see Common parameters.
Response parameters
Examples
Sample success responses
JSON
format
{
"CompliancePackId": "cp-a8a8626622af0082****",
"RequestId": "6EC7AED1-172F-42AE-9C12-295BC2ADB751"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | CompliancePackExceedMaxCount | The maximum number of compliance pack is exceeded. | - |
400 | Invalid.ConfigRules.Empty | You must specify ConfigRules. | - |
400 | Invalid.ConfigRules.Value | The specified ConfigRules is invalid. | The specified ConfigRules is invalid. |
400 | ConfigRuleExceedMaxRuleCount | The maximum number of config rules is exceeded. | - |
400 | Invalid.CompliancePackName.Empty | You must specify CompliancePackName. | You must specify compliance pack name. |
400 | Invalid.CompliancePackName.Value | The specified CompliancePackName is invalid. | The specified compliance pack name is invalid. |
400 | Invalid.CompliancePackTemplateId.Value | The specified CompliancePackTemplateId does not exist. | The specified compliance pack template ID does not exist. |
400 | CompliancePackExists | The compliance pack already exists. | The compliance pack name already exists. |
404 | AccountNotExisted | Your account does not exist. | - |
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | The request has failed due to a temporary failure of the server. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-12-13 | The Error code has changed. The request parameters of the API has changed | View Change Details |