Files
nexus/wiki/sources/ctp-topic-11-ad-integration-and-login-using-ad-accounts.md
2026-04-24 08:02:47 +08:00

78 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "CTP Topic 11 AD Integration and Login using AD Accounts"
type: source
tags:
- AWS
- AD
- IAM
- SSO
- CTP
- Jenkins
- RBAC
- Pre-commit
- Terraform
- IaC
- DevSecOps
sources: []
last_updated: 2026-04-14
---
## Source File
- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/02_IAM/ctp-topic-11-ad-integration-and-login-using-ad-accounts]]
## Summary用中文描述
- 核心主题Jenkins 与企业 Active Directory (AD) 的集成,以及 Terraform 代码的自动化质量检查
- 问题域:企业级 CI/CD 系统的身份认证管理与基础设施代码安全治理
- 方法/机制:
- Jenkins Security Realm 与 SW Infra AD 集成,实现基于 AD 账号的统一身份认证与自动化用户管理
- 通过 AD 组策略实现 RBAC基于角色的访问控制精细化管理 Jenkins 权限(只读/读写/流水线创建)
- pre-commit 框架集成 terraform fmt、TFLint、Checkov 三款工具,在代码提交阶段嵌入自动化安全检查
- CI/CD 流水线分层治理Commit 阶段检查 → PR 阶段 plan → Master 分支人工审核后 apply
- 结论/价值:告别手动创建本地用户,实现"入离职账号自动化管理";通过"左移"策略在开发早期发现并修复基础设施代码的安全问题
## Key Claims用中文描述
- Jenkins 与 AD 集成后,用户入离职可通过 AD 账号实现自动化管理,无需手动维护本地用户账户
- 通过 AD 组策略可将用户映射为不同角色(只读、读写、流水线创建),实现基于 AD 的 RBAC 权限控制
- pre-commit 框架可在功能分支提交时自动触发 terraform fmt格式统一、TFLint逻辑验证、Checkov安全扫描防止"坏代码"进入生产环境
- "左移"Shift-Left治理模式将安全问题从生产阶段提前到开发阶段通过分层 CI/CD 流水线实现渐进式质量门禁
## Key Quotes
> "通过 AD 集成,我们告别了过去手动创建本地用户的繁琐流程,实现了基于 AD 账号的自动登录。" — Niranjan
> "terraform fmt 用于统一代码格式TFLint 用于验证配置逻辑与参数完整性,而 Checkov 则负责静态安全分析。" — Niranjan
> "在功能分支的每次提交时仅触发自动化检查;在 PR 阶段触发检查与 terraform plan只有在代码合并至 Master 分支并经过人工审核后,才会执行最终的 terraform apply。" — Niranjan
## Key Concepts
- [[Active Directory Integration]]:将 Jenkins 的安全域与企业活动目录关联,实现用户身份的统一认证与自动化管理
- [[RBAC (Role-Based Access Control)]]:基于角色的访问控制,通过 AD 组策略决定用户在 Jenkins 中拥有的具体操作权限
- [[Pre-commit Framework]]:一个用于管理和维护多语言预提交钩子的框架,旨在代码提交至仓库前识别简单问题
- [[Terraform Fmt]]Terraform 内置的格式化工具,用于将配置文件重写为符合官方规范的标准格式
- [[TFLint]]:一种针对 Terraform 的静态分析工具,用于检查代码中的人为错误、过时语法及缺失的参数
- [[Checkov]]:一种静态代码分析工具,专门用于扫描基础设施即代码 (IaC) 中的安全性与合规性配置错误
- [[Shift-Left Security]]:将安全检查从生产阶段提前到开发早期的实践,通过 CI/CD 流水线分层实现
- [[CI/CD Pipeline Governance]]CI/CD 流水线的分层治理模式——提交检查 → PR 检查+plan → 人工审核+apply
## Key Entities
- [[Niranjan]]CTP Topic 11 主讲人DevOps Cloud Learning Session 讲师
- [[Jenkins]]:开源自动化服务器,本视频中与 AD 集成实现统一身份认证
- [[SW Infra Active Directory]]SW Infra 团队的 Active Directory 服务域,用于 Jenkins 的安全域集成
- [[GitHub]]:源代码仓库,与 Jenkins 流水线通过 Webhook 触发集成(交叉引用来源)
## Connections
- [[ctp-topic-5-aws-identity-and-access-management-iam]] ← foundational ← [[ctp-topic-11-ad-integration-and-login-using-ad-accounts]]
- Topic 5 介绍 AWS IAM 联邦访问机制Topic 11 将其延伸至 Jenkins 与企业 AD 的集成实践
- [[ctp-topic-9-ci-cd-with-gruntwork]] ← related ← [[ctp-topic-11-ad-integration-and-login-using-ad-accounts]]
- 均涉及 Jenkins CI/CD 流水线实践Topic 9 聚焦 Gruntwork 框架Topic 11 聚焦 AD 认证与安全检查
- [[ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments]] ← extends ← [[ctp-topic-11-ad-integration-and-login-using-ad-accounts]]
- Atlantis 是 Topic 11 中 terraform plan/apply 分层治理理念的具体实现工具
- [[GitHub and Jenkins Integration]] ← depends_on ← [[ctp-topic-11-ad-integration-and-login-using-ad-accounts]]
- Jenkins 与 AD 集成的前置依赖GitHub 仓库与 Jenkins 流水线的触发与反馈机制已就绪
## Contradictions
- 与 [[ctp-topic-32-using-atlantis-cicd-for-infrastructure-deployments]] 在 terraform apply 审批模式上存在差异:
- 冲突点:谁拥有 terraform apply 的最终审批权(人 vs 机器)
- Topic 11 观点Master 分支人工审核后执行 terraform apply强调人工把关
- Atlantis 观点:通过 PR 评论自动触发 apply强调机器自动化
- 当前整合观点两者互补——Topic 11 定义治理原则人工审核Atlantis 实现具体执行机制