配置审计 Config
配置审计 Config
- 最新动态
- 产品介绍
- 快速入门
-
用户指南
- 资源清单
- 资源记录器
-
资源合规
- 资源合规概述
- 资源合规规则
- 组织合规规则
- 查看不合规资源
- 合规规则修正配置
- 合规规则概念详解
-
系统内置预设策略
- 预设策略列表
- 公共可用预设策略
- API网关 APIG
- 部署 CodeArts Deploy
- MapReduce服务 MRS
- NAT网关 NAT
- VPC终端节点 VPCEP
- Web应用防火墙 WAF
- 弹性负载均衡 ELB
- 弹性公网IP EIP
- 弹性伸缩 AS
- 高性能弹性文件服务 SFS Turbo
- 弹性云服务器 ECS
- 分布式缓存服务 DCS
- 函数工作流 FunctionGraph
- 内容分发网络 CDN
- 配置审计 Config
- 数据仓库服务 DWS
- 数据复制服务 DRS
- 数据加密服务 DEW
-
统一身份认证服务 IAM
- IAM用户的AccessKey在指定时间内轮换
- IAM策略中不授权KMS的禁止的action
- IAM用户组添加了IAM用户
- IAM用户密码策略符合要求
- IAM策略黑名单检查
- IAM策略不具备Admin权限
- IAM自定义策略具备所有权限
- 根用户存在可使用的访问密钥
- IAM用户访问模式
- IAM用户创建时设置AccessKey
- IAM用户归属指定用户组
- IAM用户在指定时间内有登录行为
- IAM用户开启MFA
- IAM用户单访问密钥
- Console侧密码登录的IAM用户开启MFA认证
- 根用户开启MFA认证
- IAM策略使用中
- IAM权限使用中
- IAM用户开启登录保护
- IAM委托绑定策略检查
- IAM用户admin权限检查
- IAM用户不直接附加策略或权限
- 文档数据库服务 DDS
- 消息通知服务 SMN
- 虚拟私有云 VPC
- 虚拟专用网络 VPN
- 云监控服务 CES
- 云容器引擎 CCE
- 云审计服务 CTS
- 云数据库 RDS
- 云数据库 GaussDB
- 云数据库 TaurusDB
- 云数据库 GeminiDB
- 云搜索服务 CSS
- 云硬盘 EVS
- 云证书管理服务 CCM
- 分布式消息服务Kafka版
- 分布式消息服务RabbitMQ版
- 分布式消息服务RocketMQ版
- 组织 Organizations
- 云防火墙 CFW
- 云备份 CBR
- 对象存储服务 OBS
- 镜像服务 IMS
- 裸金属服务器 BMS
- 图引擎服务 GES
- 资源合规事件监控
-
合规规则包
- 合规规则包概述
- 合规规则包
- 组织合规规则包
- 自定义合规规则包
-
合规规则包示例模板
- 示例模板概述
- 等保三级2.0规范检查的标准合规包
- 适用于金融行业的合规实践
- 华为云网络安全合规实践
- 适用于统一身份认证服务(IAM)的最佳实践
- 适用于云监控服务(CES)的最佳实践
- 适用于计算服务的最佳实践
- 适用于弹性云服务器(ECS)的最佳实践
- 适用于弹性负载均衡(ELB)的最佳实践
- 适用于管理与监管服务的最佳实践
- 适用于云数据库(RDS)的最佳实践
- 适用于弹性伸缩(AS)的最佳实践
- 适用于云审计服务(CTS)的最佳实践
- 适用于人工智能与机器学习场景的合规实践
- 适用于自动驾驶场景的合规实践
- 资源开启公网访问最佳实践
- 适用于日志和监控的最佳实践
- 华为云架构可靠性最佳实践
- 适用于中国香港金融管理局的标准合规包
- 适用于中小企业的ENISA的标准合规包
- 适用于SWIFT CSP的标准合规包
- 适用于德国云计算合规标准目录的标准合规包
- 适用于PCI-DSS的标准合规包
- 适用于医疗行业的合规实践
- 网络及数据安全最佳实践
- 适用于Landing Zone基础场景的最佳实践
- 架构安全支柱运营最佳实践
- 网络和内容交付服务运营最佳实践
- 适用于空闲资产管理的最佳实践
- 多可用区架构最佳实践
- 资源稳定性最佳实践
- 适用于API网关(APIG)的最佳实践
- 适用于云容器引擎(CCE)的最佳实践
- 适用于内容分发网络(CDN)的最佳实践
- 适用于函数工作流(FunctionGraph)的最佳实践
- 适用于云数据库(GaussDB)的最佳实践
- 适用于云数据库(GeminiDB)的最佳实践
- 适用于MapReduce服务(MRS)的最佳实践
- NIST审计标准最佳实践
- 新加坡金融行业的最佳实践
- 安全身份和合规性运营最佳实践
- 华为云安全配置基线指南的标准合规包(level 1)
- 华为云安全配置基线指南的标准合规包(level 2)
- 静态数据加密最佳实践
- 数据传输加密最佳实践
- 适用于云备份(CBR)的最佳实践
- 适用于云搜索服务(CSS)的最佳实践
- 适用于分布式缓存服务(DCS)的最佳实践
- 适用于分布式消息服务(DMS)的最佳实践
- 适用于数据仓库服务(DWS)的最佳实践
- 适用于云数据库(TaurusDB)的最佳实践
- 适用于对象存储服务(OBS)的最佳实践
- 适用于VPC安全组的最佳实践
- 适用于Web应用防火墙(WAF)的最佳实践
- 高级查询
- 资源聚合器
- 云审计-记录配置审计
- 附录
- 最佳实践
- API参考
- SDK参考
- 常见问题
- 文档下载
- 通用参考
本文导读
链接复制成功!
自定义合规规则包
如果您需要根据自身的需求创建自定义合规规则包,可以参考本节中的示例模板编写合规规则包模板文件,通过在创建合规规则包时选择“上传模板”或“OBS存储桶”的方式上传并使用。
概念介绍
Resource:Resource是模板中最重要的元素,通过关键字 "resource" 进行声明。当前"resource"中只支持"huaweicloud_rms_policy_assignment"一种资源,在其中指定具体的合规规则(支持预定义合规规则与自定义合规规则)的名称等配置信息。
变量:输入变量可以理解为模板的参数,通过关键字 "variable" 进行声明。通过定义输入变量,我们可以无需变更模板的源代码就能灵活修改配置。当没有变量时,不需要声明关键字 "variable" 。
Provider: Provider代表服务提供商,通过关键字 "terraform" 进行声明,详细定义请参见Provider。自定义合规规则包的格式为:
"terraform": { "required_providers": { "huaweicloud": { "source": "huawei.com/provider/huaweicloud", "version": "1.66.2" } } }
其中version必须选择1.66.2或者更高的版本,支持的版本见支持Provider版本列表。
合规规则包示例文件: example-conformance-pack.tf.json
{ "resource": { "huaweicloud_rms_policy_assignment": { "AccessKeysRotated": { "name": "access-keys-rotated", "description": "An IAM users is noncompliant if the access keys have not been rotated for more than maxAccessKeyAge number of days.", "policy_definition_id": "2a2938894ae786dc306a647a", "period": "TwentyFour_Hours", "parameters": { "maxAccessKeyAge": "${jsonencode(var.maxAccessKeyAge)}" } }, "IamGroupHasUsersCheck": { "name": "iam-group-has-users-check", "description": "An IAM groups is noncompliant if it does not add any IAM user.", "policy_definition_id": "f7dd9c02266297f6e8c8445e", "policy_filter": { "resource_provider": "iam", "resource_type": "groups" }, "parameters": {} }, "IamPasswordPolicy": { "name": "iam-password-policy", "description": "An IAM users is noncompliant if password policy for IAM users matches the specified password strength.", "policy_definition_id": "2d8d3502539a623ba1907644", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": { "pwdStrength": "${jsonencode(var.pwdStrength)}" } }, "IamRootAccessKeyCheck": { "name": "iam-root-access-key-check", "description": "An account is noncompliant if the the root iam user have active access key.", "policy_definition_id": "66cac2ddc17b6a25ad077253", "period": "TwentyFour_Hours", "parameters": {} }, "IamUserConsoleAndApiAccessAtCreation": { "name": "iam-user-console-and-api-access-at-creation", "description": "An IAM user with console access is noncompliant if access keys are setup during the initial user setup.", "policy_definition_id": "a5f29eb45cddce8e6baa033d", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": {} }, "IamUserGroupMembershipCheck": { "name": "iam-user-group-membership-check", "description": "An IAM user is noncompliant if it does not belong to any IAM user group.", "policy_definition_id": "846f5708463c1490c4eebd60", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": { "groupIds": "${jsonencode(var.groupIds)}" } }, "IamUserLastLoginCheck": { "name": "iam-user-last-login-check", "description": "An IAM user is noncompliant if it has never signed in within the allowed number of days.", "policy_definition_id": "6e4bf7ee7053b683f28d7f57", "period": "TwentyFour_Hours", "parameters": { "allowedInactivePeriod": "${jsonencode(var.allowedInactivePeriod)}" } }, "IamUserMfaEnabled": { "name": "iam-user-mfa-enabled", "description": "An IAM user is noncompliant if it does not have multi-factor authentication (MFA) enabled.", "policy_definition_id": "b92372b5eb51330306cec9c2", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": {} }, "IamUserSingleAccessKey": { "name": "iam-user-single-access-key", "description": "An IAM user with console access is noncompliant if iam user have multiple active access keys.", "policy_definition_id": "6deae3856c41b240b3c0bf8d", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": {} }, "MfaEnabledForIamConsoleAccess": { "name": "mfa-enabled-for-iam-console-access", "description": "An IAM user is noncompliant if it uses a console password and does not have multi-factor authentication (MFA) enabled.", "policy_definition_id": "63f8301e47b122062a68b868", "policy_filter": { "resource_provider": "iam", "resource_type": "users" }, "parameters": {} }, "RootAccountMfaEnabled": { "name": "root-account-mfa-enabled", "description": "An account is noncompliant if the the root iam user does not have multi-factor authentication (MFA) enabled.", "policy_definition_id": "61d787a75cf7f5965da5d647", "period": "TwentyFour_Hours", "parameters": {} } } }, "variable": { "maxAccessKeyAge": { "description": "The maximum number of days without rotation. ", "type": "string", "default": "90" }, "pwdStrength": { "description": "The requirements of password strength. The parameter value can only be 'Strong', 'Medium', or 'Low'.", "type": "string", "default": "Strong" }, "groupIds": { "description": "The list of allowed IAM group IDs. If the list is empty, all values are allowed.", "type": "list(string)", "default": [] }, "allowedInactivePeriod": { "description": "Maximum number of days without login.", "type": "number", "default": 90 } }, "terraform": { "required_providers": { "huaweicloud": { "source": "huawei.com/provider/huaweicloud", "version": "1.66.2" } } } }
合规规则包示例文件: example-conformance-pack-with-custom-policy.tf.json
{ "resource": { "huaweicloud_rms_policy_assignment": { "CustomPolicyAssignment": { "name": "customPolicy${var.name_suffix}", "description": "合规包自定义合规规则,所有资源都是不合规的", "policy_filter": { "resource_provider": "obs", "resource_type": "buckets" }, "parameters": {}, "custom_policy": { "function_urn": "${var.function_urn}", "auth_type": "agency", "auth_value": { "agency_name": "\"config_custom_policy_agency\"" } } } } }, "variable": { "name_suffix": { "description": "", "type": "string" }, "function_urn": { "description": "", "type": "string" } }, "terraform": { "required_providers": { "huaweicloud": { "source": "huawei.com/provider/huaweicloud", "version": "1.66.2" } } } }
父主题: 合规规则包