performing-access-recertification-with-saviynt
在 Saviynt Enterprise Identity Cloud 中配置和执行访问重认证活动,以验证用户权限、撤销多余的访问权限,并维持对 SOX、SOC2 和 HIPAA 的合规性。
Best use case
performing-access-recertification-with-saviynt is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
在 Saviynt Enterprise Identity Cloud 中配置和执行访问重认证活动,以验证用户权限、撤销多余的访问权限,并维持对 SOX、SOC2 和 HIPAA 的合规性。
Teams using performing-access-recertification-with-saviynt should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/performing-access-recertification-with-saviynt/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How performing-access-recertification-with-saviynt Compares
| Feature / Agent | performing-access-recertification-with-saviynt | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
在 Saviynt Enterprise Identity Cloud 中配置和执行访问重认证活动,以验证用户权限、撤销多余的访问权限,并维持对 SOX、SOC2 和 HIPAA 的合规性。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 使用 Saviynt 执行访问重认证
## 概述
访问重认证(也称为访问认证或访问审查)是一个周期性流程,由指定审查员验证用户对系统和数据的访问权限是否合适。Saviynt Enterprise Identity Cloud(EIC)通过认证活动自动化此流程——向审查员展示当前的访问分配,并收集批准/撤销/有条件认证的决策。活动可按计划触发(季度、半年)、事件驱动触发(部门调动、角色变更)或按需触发。Saviynt 提供风险评分、使用情况分析和同组分析等智能功能,帮助审查员做出明智决策。
## 前提条件
- 具有管理员访问权限的 Saviynt Enterprise Identity Cloud(EIC)租户
- 已从权威来源(HR、AD、云)同步的身份数据
- 已从目标应用程序导入的权限数据
- 已分配认证员角色(经理、应用所有者、数据所有者)
- 已为每种认证类型定义活动模板
## 核心概念
### 活动类型
| 类型 | 范围 | 触发方式 | 认证员 |
|------|-------|---------|-----------|
| 用户经理 | 经理下属的所有访问 | 按计划(季度) | 直属经理 |
| 权限所有者 | 拥有特定权限的所有用户 | 按计划(半年) | 权限/应用所有者 |
| 应用程序 | 对特定应用程序的所有访问 | 按计划 | 应用所有者 |
| 基于角色 | 分配到特定角色的所有用户 | 按计划 | 角色所有者 |
| 基于事件 | 属性发生变更的用户 | 属性变更触发 | 新经理 |
| 微认证 | 单个用户、单个权限 | 按需 | 经理或所有者 |
### 认证决策
| 决策 | 效果 | 使用场景 |
|----------|--------|----------|
| 认证(批准) | 保留访问 | 访问仍然需要 |
| 撤销 | 创建访问移除工单 | 不再需要访问 |
| 有条件认证 | 有条件保留访问 | 临时需要,之后再审查 |
| 委派 | 转交给另一位认证员 | 认证员缺乏决策知识 |
| 弃权 | 不记录决策 | 存在利益冲突 |
### 活动生命周期
```
配置 → 预览 → 活跃 → 进行中 → 已完成 → 整改
│ │ │ │ │ │
│ │ │ │ │ └── 执行撤销工单
│ │ │ │ │
│ │ │ │ └── 所有决策已收集
│ │ │ │
│ │ │ └── 认证员审查并做出决策
│ │ │
│ │ └── 活动已启动,通知已发送
│ │
│ └── 仅供验证的只读预览
│
└── 定义活动参数
```
## 实施步骤
### 第 1 步:配置活动模板
在 Saviynt 管理控制台中:
1. 导航至"Certifications > Campaign > Create New Campaign"
2. 定义活动参数:
| 参数 | 值 |
|-----------|-------|
| 活动名称 | Q1 2025 经理访问审查 |
| 活动类型 | 用户经理 |
| 描述 | 所有用户访问的季度审查 |
| 认证员类型 | 经理(动态 - 用户的直属经理) |
| 次级认证员 | 应用所有者(经理不可用时的备选) |
| 截止日期 | 启动后 14 天 |
| 提醒计划 | 第 7、10、13 天 |
| 升级 | 如果第 15 天无决策则自动撤销 |
3. 配置范围过滤器:
- 包含:所有活跃用户
- 排除:服务账户、紧急访问账户
- 应用过滤:所有已连接的应用程序
4. 配置智能功能:
- 启用风险评分(高风险权限突出显示)
- 启用使用情况数据(显示最后访问日期)
- 启用同组分析(与同组成员访问情况对比)
- 启用 SoD 违规标记
### 第 2 步:配置认证员体验
自定义认证员在审查期间看到的内容:
**显示列:**
- 用户名和职位
- 应用程序名称
- 权限/角色名称
- 风险评分(1-10)
- 最后访问日期
- 同组比较(拥有相同访问权限的同组比例)
- SoD 违规标记
**决策选项:**
- 附理由认证(自由文本)
- 附原因撤销(下拉:不再需要、SoD 冲突、角色变更)
- 有条件认证并设置到期日期
**批量操作:**
- 认证所有低风险项目
- 撤销所有 90 天以上未访问的项目
- 按应用程序、风险级别或 SoD 状态过滤
### 第 3 步:通过 API 启动活动
```python
import requests
SAVIYNT_URL = "https://tenant.saviyntcloud.com"
SAVIYNT_TOKEN = "your-api-token"
def create_certification_campaign(campaign_config):
"""创建并启动 Saviynt 认证活动。"""
headers = {
"Authorization": f"Bearer {SAVIYNT_TOKEN}",
"Content-Type": "application/json"
}
# 创建活动
response = requests.post(
f"{SAVIYNT_URL}/ECM/api/v5/createCampaign",
headers=headers,
json={
"campaignname": campaign_config["name"],
"campaigntype": campaign_config["type"],
"description": campaign_config["description"],
"certifier": campaign_config["certifier_type"],
"duedate": campaign_config["due_date"],
"reminderdays": campaign_config["reminder_days"],
"autorevoke": campaign_config.get("auto_revoke", True),
"autorevokedays": campaign_config.get("auto_revoke_days", 15),
"scope": campaign_config.get("scope", {}),
}
)
response.raise_for_status()
campaign_id = response.json().get("campaignId")
# 启动活动
launch_response = requests.post(
f"{SAVIYNT_URL}/ECM/api/v5/launchCampaign",
headers=headers,
json={"campaignId": campaign_id}
)
launch_response.raise_for_status()
return {
"campaign_id": campaign_id,
"status": "launched",
"certifications_created": launch_response.json().get("certificationCount", 0)
}
def get_campaign_status(campaign_id):
"""获取活动的当前状态和进度。"""
headers = {"Authorization": f"Bearer {SAVIYNT_TOKEN}"}
response = requests.get(
f"{SAVIYNT_URL}/ECM/api/v5/getCampaignDetails",
headers=headers,
params={"campaignId": campaign_id}
)
response.raise_for_status()
data = response.json()
return {
"campaign_id": campaign_id,
"status": data.get("status"),
"total_items": data.get("totalLineItems", 0),
"certified": data.get("certifiedCount", 0),
"revoked": data.get("revokedCount", 0),
"pending": data.get("pendingCount", 0),
"completion_rate": data.get("completionPercentage", 0),
}
```
### 第 4 步:监控活动进度
跟踪认证进度并发送升级通知:
- **仪表板**:Saviynt 提供实时活动仪表板(含完成率)
- **提醒**:在配置的时间间隔自动发送电子邮件提醒
- **升级**:如果认证员在截止日期前未响应,升级至上级经理或自动撤销
- **委派**:允许认证员将特定项目委派给应用所有者
### 第 5 步:执行整改
活动关闭后:
1. **自动整改**:Saviynt 自动创建配置任务以撤销被拒绝的访问
2. **工单集成**:撤销任务在 ServiceNow/Jira 中创建工单进行跟踪
3. **宽限期**:配置宽限期(例如 5 个工作日),然后再实际移除访问
4. **验证**:撤销后,验证访问已从目标系统中移除
5. **审计跟踪**:记录所有决策、撤销和整改以作为合规证据
## 验证清单
- [ ] 已为每种认证类型配置活动模板
- [ ] 已分配认证员角色(经理、应用所有者、数据所有者)
- [ ] 已启用风险评分和使用情况分析
- [ ] 已配置 SoD 违规检测
- [ ] 已定义提醒和升级计划
- [ ] 已为无响应认证员配置自动撤销策略
- [ ] 活动已启动并通知认证员
- [ ] 活动完成率在关闭前超过 95%
- [ ] 已为所有被拒绝的权限创建撤销任务
- [ ] 整改在 SLA 内完成
- [ ] 已生成合规审计的活动报告
- [ ] 已为法规保留期归档证据
## 参考资料
- [Saviynt 活动与认证文档](https://docs.saviyntcloud.com/bundle/EIC-Admin-25/page/Content/Chapter15-Campaigns-and-Certifications/Campaigns.htm)
- [Saviynt 通过智能简化认证](https://saviynt.com/blog/simplifying-certifications-with-intelligence)
- [Saviynt 高级访问审查](https://oxfordcomputergroup.com/resources/saviynt-advanced-access-reviews/)
- [ISACA 访问重认证最佳实践](https://www.isaca.org/)Related Skills
testing-for-broken-access-control
系统性测试 Web 应用程序中的访问控制缺陷,包括权限提升、缺失的功能级检查以及不安全的直接对象引用。
securing-remote-access-to-ot-environment
本技能涵盖为操作员、工程师和供应商实施OT/ICS环境的安全远程访问,同时防止可能危害工业运营的未授权访问。涉及跳板服务器架构、多因素认证、会话记录、特权访问管理、供应商远程访问控制,以及符合IEC 62443和NERC CIP-005远程访问要求。
performing-yara-rule-development-for-detection
通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。
performing-wireless-security-assessment-with-kismet
使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。
performing-wireless-network-penetration-test
执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。
performing-windows-artifact-analysis-with-eric-zimmerman-tools
使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。
performing-wifi-password-cracking-with-aircrack
在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。
performing-web-cache-poisoning-attack
在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。
performing-web-cache-deception-attack
通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。
performing-web-application-vulnerability-triage
使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。
performing-web-application-scanning-with-nikto
Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。
performing-web-application-penetration-test
遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。