78 lines
5.3 KiB
Markdown
78 lines
5.3 KiB
Markdown
---
|
||
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 实现具体执行机制
|