The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

performing-access-recertification-with-saviynt

performing-access-recertification-with-saviynt

在 Saviynt Enterprise Identity Cloud 中配置和执行访问重认证活动,以验证用户权限、撤销多余的访问权限,并维持对 SOX、SOC2 和 HIPAA 的合规性。

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: performing-access-recertification-with-saviynt description: 在 Saviynt Enterprise Identity Cloud 中配置和执行访问重认证活动,以验证用户权限、撤销多余的访问权限,并维持对 SOX、SOC2 和 HIPAA 的合规性。 domain: cybersecurity subdomain: identity-access-management tags: [saviynt, access-recertification, identity-governance, compliance, certification-campaign, iga] version: "1.0" author: mahipal license: Apache-2.0

使用 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 天无决策则自动撤销
  1. 配置范围过滤器:

    • 包含:所有活跃用户
    • 排除:服务账户、紧急访问账户
    • 应用过滤:所有已连接的应用程序
  2. 配置智能功能:

    • 启用风险评分(高风险权限突出显示)
    • 启用使用情况数据(显示最后访问日期)
    • 启用同组分析(与同组成员访问情况对比)
    • 启用 SoD 违规标记

第 2 步:配置认证员体验

自定义认证员在审查期间看到的内容:

显示列:

  • 用户名和职位
  • 应用程序名称
  • 权限/角色名称
  • 风险评分(1-10)
  • 最后访问日期
  • 同组比较(拥有相同访问权限的同组比例)
  • SoD 违规标记

决策选项:

  • 附理由认证(自由文本)
  • 附原因撤销(下拉:不再需要、SoD 冲突、角色变更)
  • 有条件认证并设置到期日期

批量操作:

  • 认证所有低风险项目
  • 撤销所有 90 天以上未访问的项目
  • 按应用程序、风险级别或 SoD 状态过滤

第 3 步:通过 API 启动活动

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 内完成
  • 已生成合规审计的活动报告
  • 已为法规保留期归档证据

参考资料

Saved skills