--- title: "Variables YAML" type: concept tags: [AWS, Tagging, Configuration, YAML, Automation] last_updated: 2026-04-14 --- ## Definition `variables.yaml` 是 AWS Tag Validation Tool 的核心配置文件,采用 YAML 格式定义每个 AWS 账户所期望的合法标签键及其对应的允许值列表(Allowed Values)。该文件是标签验证工具进行合规性比对的数据来源,每个账户可拥有独立的 `variables.yaml` 配置。 ## Aliases - variables.yml - tag-variables.yaml - account-vars.yaml ## File Structure ```yaml # variables.yaml — 每个账户一份 account_id: "123456789012" account_name: "sas-prod" tags: Environment: required: true allowed_values: - dev - staging - prod - uat CostCenter: required: true allowed_values: - CC-FINANCE - CC-ENGINEERING - CC-OPERATIONS Owner: required: true allowed_values: - team-platform - team-data - team-security Application: required: false allowed_values: [] # any value accepted Project: required: true allowed_values: - project-alpha - project-beta - poc-ml-pipeline ``` ## Core Attributes | 属性 | 说明 | |------|------| | 文件格式 | YAML | | 作用域 | Per-account(每个账户独立配置) | | 用途 | Tag Validation Tool 合规性比对的数据源 | | 存储位置 | SRE Tools Repository | | 管理方式 | 版本控制(Git) | ## Fields | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | `account_id` | string | 是 | AWS 账户 ID | | `account_name` | string | 是 | 账户名称(便于识别) | | `tags` | dict | 是 | 标签键→约束映射 | | `required` | bool | 否 | 该标签是否为必填项 | | `allowed_values` | list | 否 | 该标签的允许值集合;空列表表示任意值 | ## Context in This Wiki 在 AWS Tag Validation Tool 的工作流中,`variables.yaml` 扮演数据模型的角色: ``` variables.yaml 定义规范 ↓ Tag Validation Tool 读取配置 ↓ 扫描 AWS 账户资源(EC2/SG/LB/Lambda) ↓ 比对实际标签值与 allowed_values ↓ 生成 CSV 报告(Resource ID + 问题类型 + 期望值 vs 实际值) ``` ## Related Concepts - [[Tag-Validation-Tool]]:使用 variables.yaml 作为数据源的工具 - [[AWS-Tagging-Standards]]:标签规范的来源 - [[Service-Control-Policies-SCPs]]:与 variables.yaml 共同构成标签治理的"规则定义 + 强制 + 审计"三层体系 ## Sources - [[ctp-topic-28-aws-tag-validation-tool]]