
# 自动清理过期AWS ACM证书与人工审批工作流
> 通过Slack审批自动化清理过期的AWS ACM证书。该工作流通过检测过期的SSL证书、向管理员发送详细的Slack通知,并在获得批准后删除证书,帮助维护安全整洁的AWS环境,确保证书生命周期管理的完全可见性和控制。
## 🧑💼 适用人群
该工作流专为以下人员设计:
– **AWS管理员**:希望保持环境清洁和安全
– **DevOps团队**:管理AWS ACM中的SSL生命周期
– **IT管理员**:需要过期证书删除的可见性和控制
– 使用**Slack进行协作和审批**的团队
## ⚙️ 工作原理/功能
此自动化工作流按**每日计划**执行以下任务:
1. **获取AWS账户中的所有ACM证书**
2. **筛选出过期证书**:通过比较过期日期和状态
3. **发送Slack审批消息**:包含证书详细信息给管理团队
4. **等待Slack中的审批响应**(✅ 批准删除)
5. 如果获得批准,使用AWS ACM**删除过期证书**
6. 最后,**通知IT管理员**所采取的操作
## 🔧 设置方法
### 创建工作流
添加以下节点:
– `Schedule Trigger`
– `AWS – ACM: listCertificates`
– `AWS – ACM: describeCertificate`(每个证书循环)
– `IF Node` 筛选过期证书
– `Slack – Send & Wait for Reaction`
– `AWS – ACM: deleteCertificate`
– `Slack – Post Message` 用于通知
### 配置Slack
创建具有以下权限的**Slack Bot Token**:
– `chat:write`
– `reactions:read`
– `channels:read`
在Slack节点中连接它。
### 配置AWS凭据
使用具有以下权限的IAM用户或角色:
– `acm:ListCertificates`
– `acm:DescribeCertificate`
– `acm:DeleteCertificate`
### 设置计划
每日、每周或自定义cron表达式。
## 📋 要求
| 组件 | 描述 |
|——|——|
| AWS ACM访问 | ACM操作的IAM权限 |
| Slack Bot Token | 具有 `chat:write` 和 `reactions:read` 权限 |
| n8n环境 | 自托管或n8n Cloud |
| Slack频道 | 审批消息发送的频道 |
## 🛠️ 工作流自定义
### 🕒 更改等待时间
在`sendAndWait`节点中调整检查Slack反应前的等待时间(默认1小时)。
### 👥 更改Slack目标
更改Slack频道或标记特定人员(“)。
### 📓 添加日志记录
添加Google Sheets、Notion或DynamoDB来记录证书详细信息和审批决策。
### 🧪 添加试运行/测试模式
在删除前使用IF节点,当`ENV === dry-run`时模拟删除。
## 工作流节点说明
### 1. Schedule Trigger
工作流按计划启动(例如每天09:00),无需人工干预自动检查ACM证书。
### 2. Get Certificates
获取配置的AWS区域中的所有ACM证书,包括域名、状态和过期日期等详细信息。
### 3. Filter Expired Certificates Only
检查每个证书,仅保留已过期的证书。
### 4. Notify via Slack and Wait for Approval
发送包含证书详细信息(域名、ARN、过期日期、状态)的Slack消息。工作流在此暂停,直到用户点击**批准**或**拒绝**。
### 5. Delete Expired Certificate
如果在Slack中选择**批准**,工作流触发AWS ACM自动删除证书。如果点击**拒绝**,则不采取任何操作,工作流结束。
### 6. Notify admin via Slack
通过Slack通知管理员操作结果。

评论(0)