c7n-org是Cloud Custodian生态系统中的核心工具之一,专为多账户云环境设计,提供跨账户/订阅/项目的策略批量执行能力。作为Cloud Custodian的扩展,它允许用户在复杂的企业级云架构中统一部署安全策略、成本优化规则和资源管理策略,确保所有账户的云资源均符合组织规范。支持AWS、Azure、GCP等主流公有云平台,是企业云治理的关键工具。
Docker安装
shelldocker pull cloudcustodian/c7n
pip安装(需先安装c7n)
shellpip install c7n-org
创建YAML格式的账户配置文件(如accounts.yml),指定目标账户信息。以下为AWS环境示例:
yamlaccounts: - name: production-account id: 123456789012 # AWS账户ID region: us-east-1 role: arn:aws:iam::123456789012:role/CloudCustodian-Execution # 执行角色ARN - name: staging-account id: 987654321098 region: us-west-2 role: arn:aws:iam::987654321098:role/CloudCustodian-Execution - name: dev-account id: 456789012345 region: eu-west-1 role: arn:aws:iam::456789012345:role/CloudCustodian-Execution
1. 准备Cloud Custodian策略文件
使用标准Cloud Custodian YAML策略(如policy.yml),示例如下(AWS EC2标签合规检查):
yamlpolicies: - name: ec2-tag-compliance resource: aws.ec2 description: 检查EC2实例是否包含必填标签 filters: - "tag:Environment": absent # 缺少Environment标签 - "tag:Owner": absent # 缺少Owner标签 - State.Name: running # 仅检查运行中的实例 actions: - type: mark-for-op # 标记不合规实例,3天后停止 op: stop days: 3
2. 执行多账户策略
通过c7n-org run命令在目标账户中批量执行策略:
基本命令格式
shellc7n-org run -c <账户配置文件> -s <输出目录> <策略文件>
本地执行示例
shell# 执行策略并生成报告到output目录 c7n-org run -c accounts.yml -s ./output policy.yml # 干运行模式(仅检查不执行动作) c7n-org run -c accounts.yml -s ./output --dryrun policy.yml # 指定并行执行账户数量(默认4个) c7n-org run -c accounts.yml -s ./output --parallel 8 policy.yml
Docker执行示例
shelldocker run -it \ -v $(pwd)/accounts.yml:/home/custodian/accounts.yml \ -v $(pwd)/policy.yml:/home/custodian/policy.yml \ -v $(pwd)/output:/home/custodian/output \ -v ~/.aws/credentials:/home/custodian/.aws/credentials # 挂载云凭证 cloudcustodian/c7n \ c7n-org run -c /home/custodian/accounts.yml -s /home/custodian/output /home/custodian/policy.yml
3. 查看执行报告
执行完成后,在指定的输出目录(如./output)中生成结构化报告,包含:
| 参数 | 说明 |
|---|---|
-c, --config | 指定账户配置文件路径(必填) |
-s, --output-dir | 指定报告输出目录 |
--dryrun | 干运行模式,仅模拟策略执行不实际操作资源 |
--parallel | 并行执行的账户数量(默认4) |
--account | 指定单个账户执行(用于测试,如--account production-account) |
--region | 覆盖配置文件中的默认区域 |
--verbose | 显示详细执行日志 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务