O Cloud Config permite escrever modelos de pacotes de conformidade em arquivos de configuração. Defina, importe e exporte um modelo de pacote de conformidade que contenha as regras gerenciadas compatíveis com o Cloud Config ou crie regras de condição com base nas necessidades do seu negócio. Isso oferece uma ferramenta poderosa para você gerenciar a conformidade da sua empresa. Este tópico descreve a estrutura e os parâmetros de um modelo de pacote de conformidade para ajudar você a definir conjuntos de regras de conformidade de forma eficiente, de acordo com os requisitos do seu negócio.
Estrutura do modelo
O sistema exporta um modelo de pacote de conformidade em um arquivo JSON. O nome do arquivo corresponde ao nome do pacote de conformidade, e a extensão do arquivo é .json. Importe um modelo de pacote de conformidade em um arquivo .txt ou .json. O tamanho do arquivo não pode exceder 1 MB. O conteúdo do arquivo consiste em duas partes: compliancePackTemplate (opcional) e configRuleTemplates (obrigatório).
compliancePackTemplate
O compliancePackTemplate contém o nome, a descrição e o nível de risco do pacote de conformidade. Sintaxe no formato JSON:
{
"riskLevel": 1,
"compliancePackName": "The name of the compliance package",
"description": "The description of the compliance package",
"scope": {
"complianceResourceTypes": [
"The resource types to which the rule is applicable"
],
"complianceResourceIds": [
"The ID of the evaluated resource"
],
"complianceExcludeResourceIds": [
"The ID of the excluded resource"
],
"complianceRegionIds": [
"The ID of the evaluated region"
],
"complianceExcludeRegionIds": [
"The ID of the excluded region"
],
"complianceResourceGroupIds": [
"The ID of the evaluated resource group"
],
"complianceExcludeResourceGroupIds": [
"The ID of the excluded resource group"
],
"complianceTagsScope": [
{
"tagKey": "The effective tag key",
"tagValue": "The effective tag value"
}
],
"complianceExcludeTagsScope": [
{
"tagKey": "The excluded tag key",
"tagValue": "The excluded tag value"
}
]
}
}
Parâmetro | Obrigatório | Descrição |
compliancePackName | Não | O nome do pacote de conformidade. Recomendamos que você especifique um nome com base no cenário de conformidade. O nome de um pacote de conformidade é determinado pelas seguintes regras:
|
riskLevel | Não | O nível de risco do pacote de conformidade. Este parâmetro diferencia a importância dos diversos pacotes de conformidade. Valores válidos:
|
description | Não | A descrição do pacote de conformidade. Este parâmetro descreve os cenários de aplicação do pacote de conformidade. |
scope | Não | O escopo de aplicação da regra. |
Exemplo:
{
"configRuleTemplates": [],
"compliancePackTemplate": {
"riskLevel": 2,
"compliancePackName": "Write a compliance package template in a configuration file",
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547xg****.i-t4n3u1pz97547xg0****.",
"i-t4n1bxf3xr70wjh5****",
"i-t4n133q6k9czgun****",
"i-t4n3s3qqti2zaxu****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36l*****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
]
},
"description": "Performs the import and export testing for writing a compliance package template in a configuration file."
}
}
configRuleTemplates
O configRuleTemplates contém as regras do pacote de conformidade. As regras são do tipo JSON ARRAY. Sintaxe:
[
{
"configRuleName": "The name of the rule",
"riskLevel": 3,
"scope": {
"complianceResourceTypes": [
"The resource types to which the rule is applicable"
],
"complianceResourceIds": [
"The ID of the evaluated resource"
],
"complianceExcludeResourceIds": [
"The ID of the excluded resource"
],
"complianceRegionIds": [
"The ID of the evaluated region"
],
"complianceExcludeRegionIds": [
"The ID of the excluded region"
],
"complianceResourceGroupIds": [
"The ID of the evaluated resource group"
],
"complianceExcludeResourceGroupIds": [
"The ID of the excluded resource group"
],
"complianceTagsScope": [
{
"tagKey": "The effective tag key",
"tagValue": "The effective tag value"
}
],
"complianceExcludeTagsScope": [
{
"tagKey": "The excluded tag key",
"tagValue": "The excluded tag value"
}
]
},
"description": "The description of the rule",
"source": {
"owner": "The source of the rule",
"identifier": "The identifier of the rule",
"sourceDetails": [
{
"messageType": "The trigger type of the rule",
"maximumExecutionFrequency": "The interval at which the rule is triggered"
},
{
"messageType": "The trigger type of the rule"
}
],
"conditions": "The content of the condition rule"
},
"inputParameters": {
"paramName1": "The value of the paramName1 parameter",
"paramName2": "The value of the paramName2 parameter"
}
}
]
Parâmetro | Obrigatório | Descrição |
configRuleName | Sim | O nome da regra. |
scope.complianceResourceTypes | Sim | Os tipos de recurso aos quais a regra se aplica. O valor pode ser uma matriz JSON. |
description | Não | A descrição da regra. |
source.owner | Sim | A origem da regra. Valores válidos:
|
source.identifier | Sim | O identificador da regra. O valor varia de acordo com a origem da regra:
|
source.sourceDetails.messageType | Sim | O tipo de gatilho da regra. Valores válidos:
|
source.sourceDetails.maximumExecutionFrequency | Não | O intervalo em que a regra é acionada. Valores válidos:
Nota Este parâmetro é obrigatório. Defina o parâmetro |
source.conditions | Não | O conteúdo da regra de condição. Nota Este parâmetro é obrigatório. Defina o parâmetro |
inputParameters | Não | Os parâmetros de entrada da regra. Para obter informações sobre os parâmetros de entrada de uma regra gerenciada, clique em link correspondente em Managed rule templates e consulte a descrição do item Input parameter na seção Rule details. Todos os parâmetros de entrada são do tipo STRING. |
scope | Não | O escopo de aplicação da regra. |
riskLevel | Não | O nível de risco da regra. Valores válidos:
|
Exemplo:
{
"configRuleTemplates": [
{
"configRuleName": "ecs-instance-deletion-protection-enabled",
"riskLevel": 3,
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547xg0****.i-t4n3u1pz97547xg0****",
"i-t4n1bxf3xr70wjh5****",
"i-t4n133q6k9czgun****",
"i-t4n3s3qqti2zaxu****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36lg****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southea****"
],
"complianceResourceTypes": [
"ACS::ECS::Instance"
]
},
"description": "Checks whether the release protection feature is enabled for each Elastic Compute Service (ECS) instance. If so, the evaluation result is Compliant.",
"source": {
"owner": "ALIYUN",
"identifier": "ecs-instance-deletion-protection-enabled",
"sourceDetails": [
{
"messageType": "ConfigurationItemChangeNotification"
}
]
},
"inputParameters": {}
}
],
"compliancePackTemplate": {
"riskLevel": 2,
"compliancePackName": "Write a compliance package template in a configuration file",
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547xg****.i-t4n3u1pz97547xg****",
"i-t4n1bxf3xr70wjh5****",
"i-t4n133q6k9czgunx****",
"i-t4n3s3qqti2zaxux****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36lgo****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
]
},
"description": "Performs the import and export testing for writing a compliance package template in a configuration file."
}
}
Exemplo
{
"configRuleTemplates": [
{
"configRuleName": "ecs-instance-chargetype-check",
"riskLevel": 3,
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547xg0****.i-t4n3u1pz97547xg*****",
"i-t4n1bxf3xr70wjh5*****",
"i-t4n133q6k9czgun*****",
"i-t4n3s3qqti2zaxu*****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36l*****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
],
"complianceResourceTypes": [
"ACS::ECS::Instance"
]
},
"description": "Checks whether the billing method of each ECS instance is subscription. If so, the evaluation result is Compliant.",
"source": {
"owner": "ALIYUN",
"identifier": "ecs-instance-chargetype-check",
"sourceDetails": [
{
"messageType": "ConfigurationItemChangeNotification"
}
]
},
"inputParameters": {}
},
{
"configRuleName": "ecs-public-access-check",
"riskLevel": 3,
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547x*****.i-t4n3u1pz97547*****",
"i-t4n1bxf3xr70w*****",
"i-t4n133q6k9czg*****",
"i-t4n3s3qqti2zax******"
],
"complianceResourceGroupIds": [
"rg-aek2yl36l*****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
],
"complianceResourceTypes": [
"ACS::ECS::Instance"
]
},
"description": "Checks whether a public IPv4 address or an EIP is specified for each ECS instance. If not, the evaluation result is Compliant.",
"source": {
"owner": "ALIYUN",
"identifier": "ecs-instance-no-public-ip",
"sourceDetails": [
{
"messageType": "ConfigurationItemChangeNotification"
}
]
},
"inputParameters": {}
},
{
"configRuleName": "ecs-instance-deletion-protection-enabled",
"riskLevel": 3,
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz9754*****.i-t4n3u1pz97547x*****",
"i-t4n1bxf3xr70wj*****",
"i-t4n133q6k9czgu*****",
"i-t4n3s3qqti2zaxu*****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36l****"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
],
"complianceResourceTypes": [
"ACS::ECS::Instance"
]
},
"description": "Checks whether the release protection feature is enabled for each ECS instance. If so, the evaluation result is Compliant.",
"source": {
"owner": "ALIYUN",
"identifier": "ecs-instance-deletion-protection-enabled",
"sourceDetails": [
{
"messageType": "ConfigurationItemChangeNotification"
}
]
},
"inputParameters": {}
}
],
"compliancePackTemplate": {
"riskLevel": 2,
"compliancePackName": "Write a compliance package template in a configuration file",
"scope": {
"complianceResourceIds": [
"i-t4n3u1pz97547xg0*****.i-t4n3u1pz97547xg******",
"i-t4n1bxf3xr70w******",
"i-t4n133q6k9czgun*****",
"i-t4n3s3qqti2zaxux*****"
],
"complianceResourceGroupIds": [
"rg-aek2yl36l******"
],
"complianceTagsScope": [
{
"tagKey": "config",
"tagValue": "configTest"
}
],
"complianceRegionIds": [
"ap-southeast-1"
]
},
"description": "Performs the import and export testing for writing a compliance package template in a configuration file."
}
}
Importe e exporte um modelo de pacote de conformidade
Importe um modelo de pacote de conformidade em um arquivo .json ou .txt para o Cloud Config. Você também pode exportar um modelo de pacote de conformidade em um arquivo .json. Em seguida, compartilhe e faça o backup do modelo exportado. Com isso, gerencie regras com flexibilidade e praticidade.