Terraform Cloud/Enterprise集成AWS Account Factory的OIDC身份验证配置指南【免费下载链接】terraform-aws-control_tower_account_factoryAWS Control Tower Account Factory项目地址: https://gitcode.com/gh_mirrors/te/terraform-aws-control_tower_account_factory在AWS多账户环境中安全地管理身份验证是一个关键挑战。本文将为您详细介绍如何配置Terraform Cloud或Terraform Enterprise与AWS Control Tower Account Factory (AFT)的OIDC集成实现无需长期凭据的动态身份验证大幅提升安全性和自动化水平。什么是OIDC集成及其重要性OpenID Connect (OIDC)是一种基于OAuth 2.0的身份验证协议允许Terraform Cloud/Enterprise直接与AWS进行安全的身份验证。通过OIDC集成您可以消除长期凭据风险不再需要存储和管理AWS访问密钥 ⚡自动化凭证轮换每次Terraform运行都会生成临时凭证 ️最小权限原则精细控制每个工作空间的访问权限 审计追踪每个操作都有完整的身份验证记录OIDC集成的核心组件1. IAM OpenID Connect Provider在modules/aft-iam-roles/oidc.tf中AFT配置了AWS IAM OIDC提供商resource aws_iam_openid_connect_provider hcp_terraform { count local.enable_oidc ? 1 : 0 provider aws.aft_management url data.tls_certificate.hcp_terraform[0].url client_id_list [var.terraform_oidc_aws_audience] thumbprint_list [data.tls_certificate.hcp_terraform[0].certificates[0].sha1_fingerprint] }2. IAM信任策略配置在modules/aft-iam-roles/iam/aft_admin_role_trust_policy.tpl中定义了OIDC信任策略{ Effect: Allow, Principal: { Federated: ${oidc_provider_arn} }, Action: sts:AssumeRoleWithWebIdentity, Condition: { StringEquals: { ${terraform_oidc_hostname}:aud: ${terraform_oidc_aws_audience} }, StringLike: { ${terraform_oidc_hostname}:sub: organization:${terraform_org_name}:project:${terraform_project_name}:workspace:*:run_phase:* } } }快速启用OIDC的5个步骤步骤1配置必要的输入变量在您的主配置文件中启用OIDC集成module aft { source github.com/aws-ia/terraform-aws-control_tower_account_factory # 必需的基础配置 ct_management_account_id 111122223333 log_archive_account_id 444455556666 audit_account_id 123456789012 aft_management_account_id 777788889999 ct_home_region us-east-1 # Terraform配置 terraform_distribution tfc # 或 tfe terraform_org_name 您的组织名 # 启用OIDC集成 terraform_oidc_integration true terraform_oidc_hostname app.terraform.io # 或您的TFE实例 terraform_oidc_aws_audience aws.workload.identity }步骤2验证环境条件确保满足以下前提条件已部署AWS Control Tower环境已创建AFT管理账户Terraform版本≥0.15.x在Terraform Cloud/Enterprise中已创建组织步骤3配置Terraform工作空间在Terraform Cloud/Enterprise中创建专门用于AFT的项目在工作空间中配置AWS提供商启用动态凭证功能步骤4部署AFT模块运行Terraform初始化并应用terraform init terraform plan terraform apply步骤5验证集成检查以下SSM参数是否正确配置/aft/config/terraform/oidc-integration/aft/config/terraform/oidc-aws-audience安全最佳实践1. 工作空间治理根据README.md中的安全建议您应该限制工作空间创建权限严格控制谁可以在AFT项目中创建新工作空间 定期审计工作空间监控项目中的工作空间活动 使用专用项目为AFT创建独立的Terraform项目避免与其他工作负载混合2. IAM权限最小化AWSAFTAdmin角色仅具有sts:AssumeRole权限用于承担AWSAFTExecution和AWSAFTService角色确保权限分离。3. 条件语句细化考虑将通配符workspace:*替换为具体的工作空间名称实现更细粒度的控制StringLike: { ${terraform_oidc_hostname}:sub: [ organization:YourOrg:project:AFT-Project:workspace:prod-aft:run_phase:*, organization:YourOrg:project:AFT-Project:workspace:dev-aft:run_phase:* ] }故障排除指南常见问题1OIDC提供商创建失败症状Terraform应用时出现IAM OIDC提供商错误解决方案检查terraform_oidc_hostname格式是否正确验证网络连接性到Terraform Cloud/Enterprise端点确保AFT管理账户具有创建OIDC提供商的权限常见问题2身份验证失败症状Terraform运行无法获取AWS凭据解决方案确认terraform_oidc_aws_audience与Terraform配置匹配验证工作空间是否在正确的组织和项目中检查IAM角色的信任策略是否正确应用常见问题3SSM参数未正确设置症状构建过程中无法读取OIDC配置解决方案 检查modules/aft-ssm-parameters/ssm.tf中的参数配置resource aws_ssm_parameter terraform_oidc_integration { name /aft/config/terraform/oidc-integration type String value var.terraform_oidc_integration }高级配置选项多环境部署策略对于企业级部署建议采用以下结构Terraform Cloud组织 ├── AFT-Production项目 │ ├── prod-aft-workspace │ └── prod-customizations ├── AFT-Development项目 │ ├── dev-aft-workspace │ └── dev-customizations └── AFT-Staging项目 ├── staging-aft-workspace └── staging-customizations自定义受众值您可以根据安全要求自定义terraform_oidc_aws_audience值但必须确保与Terraform Cloud/Enterprise中的配置一致。性能优化建议凭证缓存策略虽然OIDC提供临时凭证但Terraform Cloud会智能缓存凭证以减少API调用频率。网络优化如果使用Terraform Enterprise自托管版本确保AFT管理账户与TFE实例之间的网络延迟最小化。监控与审计CloudTrail集成启用CloudTrail数据事件以监控所有STS AssumeRoleWithWebIdentity调用aft_feature_cloudtrail_data_events trueCloudWatch日志监控modules/aft-account-provisioning-framework/cloudwatch.tf中的日志组跟踪OIDC身份验证事件。迁移指南从静态凭据迁移到OIDC准备阶段在非生产环境中测试OIDC配置并行运行同时维护静态凭据和OIDC配置切换阶段将工作空间切换到OIDC身份验证清理阶段移除静态凭据并验证所有功能回滚策略保留静态凭据的备份直到确认OIDC集成稳定运行至少7天。总结通过配置Terraform Cloud/Enterprise与AWS Control Tower Account Factory的OIDC集成您可以实现✅零长期凭据的安全环境 ✅自动化凭证管理减少人工操作 ✅精细的权限控制遵循最小权限原则 ✅完整的审计追踪满足合规要求开始使用OIDC集成让您的AWS账户管理更加安全、高效和自动化 相关资源modules/aft-iam-roles/oidc.tf - OIDC提供商配置modules/aft-iam-roles/iam/aft_admin_role_trust_policy.tpl - 信任策略模板examples/githubenterprisetf_cloud/main.tf - 完整配置示例variables.tf - 所有可配置变量【免费下载链接】terraform-aws-control_tower_account_factoryAWS Control Tower Account Factory项目地址: https://gitcode.com/gh_mirrors/te/terraform-aws-control_tower_account_factory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考