performing-access-recertification-with-saviynt
Configure and execute access recertification campaigns in Saviynt Enterprise Identity Cloud to validate user entitlements, revoke excessive access, and maintain compliance with SOX, SOC 2, and HIPAA. Use when launching or managing certification campaigns for users/entitlements, remediating access review findings, or documenting identity governance evidence for an audit.
- License 许可
- Apache-2.0
- 最近更新
- 2026-08-31
- Stars
- ★ 3.6w
- Forks
- 4.4k
01 前言 Front Matter
- name
- performing-access-recertification-with-saviynt
- tags
- [ "saviynt", "access-recertification", "identity-governance", "compliance", "certification-campaign", "iga" ]
- author
- mahipal
- domain
- cybersecurity
- license
- Apache-2.0
- version
- 1.0
- mitre_f3
- { "tactics": [ "initial-access", "positioning", "defense-impairment", "resource-development" ], "version": "1.1", "techniques": [ { "id": "T1586", "name": "Compromise Accounts", "source": "attack", "tactic": "resource-development" }, { "id": "F1033", "name": "Insider Access Abuse", "source": "f3", "tactic": "initial-access" }, { "id": "F1005", "name": "Account Manipulation", "source": "f3", "tactic": "positioning" }, { "id": "F1005.002", "name": "Account Manipulation: Add Authorized User", "source": "f3", "tactic": "positioning" }, { "id": "F1005.007", "name": "Account Manipulation: Enable Account Features", "source": "f3", "tactic": "defense-impairment" } ] }
- nist_csf
- [ "PR.AA-01", "PR.AA-02", "PR.AA-05", "PR.AA-06" ]
- subdomain
- identity-access-management
- description
- Configure and execute access recertification campaigns in Saviynt Enterprise Identity Cloud to validate user entitlements, revoke excessive access, and maintain compliance with SOX, SOC 2, and HIPAA. Use when launching or managing certification campaigns for users/entitlements, remediating access review findings, or documenting identity governance evidence for an audit.
- mitre_attack
- [ "T1078", "T1110", "T1556", "T1098", "T1071" ]
02 资源文件 9
- 资产文件assets/template.md1.3 KB
- 许可证LICENSE11.0 KB
- 参考文档reference/checklist-template.md5.0 KB
- 参考文档reference/example-cds-cluster.md9.3 KB
- 参考文档references/api-reference.md1.7 KB
- 参考文档references/standards.md1.9 KB
- 参考文档references/workflows.md3.9 KB
- 脚本scripts/agent.py6.7 KB
- 脚本scripts/process.py8.5 KB
03 SKILL.md 正文
Performing Access Recertification with Saviynt
Overview
Access recertification (also called access certification or access review) is a periodic process where designated reviewers validate that users have appropriate access to systems and data. Saviynt Enterprise Identity Cloud (EIC) automates this process through certification campaigns that present reviewers with current access assignments and collect approve/revoke/conditionally-certify decisions. Campaigns can be triggered on schedule (quarterly, semi-annually), event-driven (department transfer, role change), or on-demand. Saviynt provides intelligence features including risk scoring, usage analytics, and peer-group analysis to help reviewers make informed decisions.
When to Use
- When conducting security assessments that involve performing access recertification with saviynt
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- Saviynt Enterprise Identity Cloud (EIC) tenant with admin access
- Identity data synchronized from authoritative sources (HR, AD, cloud)
- Entitlement data imported from target applications
- Certifier roles assigned (managers, application owners, data owners)
- Campaign templates defined for each certification type
Core Concepts
Campaign Types
| Type | Scope | Trigger | Certifier |
|---|---|---|---|
| User Manager | All access for users under a manager | Scheduled (quarterly) | Direct manager |
| Entitlement Owner | All users with a specific entitlement | Scheduled (semi-annually) | Entitlement/app owner |
| Application | All access to a specific application | Scheduled | Application owner |
| Role-Based | All users assigned to a specific role | Scheduled | Role owner |
| Event-Based | Users whose attributes changed | Attribute change trigger | New manager |
| Micro-Certification | Single user, single entitlement | On-demand | Manager or owner |
Certification Decisions
| Decision | Effect | Use Case |
|---|---|---|
| Certify (Approve) | Access maintained | Access is still required |
| Revoke | Access removal ticket created | Access no longer needed |
| Conditionally Certify | Access maintained with conditions | Access needed temporarily, review again |
| Delegate | Reassign to another certifier | Certifier lacks knowledge to decide |
| Abstain | No decision recorded | Conflict of interest |
Campaign Lifecycle
CONFIGURATION → PREVIEW → ACTIVE → IN PROGRESS → COMPLETED → REMEDIATION
│ │ │ │ │ │
│ │ │ │ │ └── Revoke tickets
│ │ │ │ │ executed
│ │ │ │ │
│ │ │ │ └── All decisions
│ │ │ │ collected
│ │ │ │
│ │ │ └── Certifiers reviewing
│ │ │ and making decisions
│ │ │
│ │ └── Campaign launched,
│ │ notifications sent
│ │
│ └── Read-only preview for validation
│
└── Campaign parameters defined
Workflow
Step 1: Configure Campaign Template
In Saviynt Admin Console:
- Navigate to Certifications > Campaign > Create New Campaign
- Define campaign parameters:
| Parameter | Value |
|---|---|
| Campaign Name | Q1 2025 Manager Access Review |
| Campaign Type | User Manager |
| Description | Quarterly review of all user access |
| Certifier Type | Manager (dynamic - user's direct manager) |
| Secondary Certifier | Application Owner (fallback if manager unavailable) |
| Due Date | 14 days from launch |
| Reminder Schedule | Day 7, Day 10, Day 13 |
| Escalation | Auto-revoke on Day 15 if no decision |
-
Configure scope filters:
- Include: All active users
- Exclude: Service accounts, break-glass accounts
- Application filter: All connected applications
-
Configure intelligence features:
- Enable risk scoring (high-risk entitlements highlighted)
- Enable usage data (last access date shown)
- Enable peer analysis (compare access to peer group)
- Enable SoD violation flagging
Step 2: Configure Certifier Experience
Customize what certifiers see during the review:
Columns Displayed:
- User name and title
- Application name
- Entitlement/role name
- Risk score (1-10)
- Last access date
- Peer group comparison (% of peers with same access)
- SoD violation flag
Decision Options:
- Certify with justification (free text)
- Revoke with reason (dropdown: no longer needed, SoD conflict, role change)
- Conditionally certify with expiry date
Bulk Actions:
- Certify all low-risk items
- Revoke all items not accessed in 90+ days
- Filter by application, risk level, or SoD status
Step 3: Launch Campaign via API
import requests
SAVIYNT_URL = "https://tenant.saviyntcloud.com"
SAVIYNT_TOKEN = "your-api-token"
def create_certification_campaign(campaign_config):
"""Create and launch a Saviynt certification campaign."""
headers = {
"Authorization": f"Bearer {SAVIYNT_TOKEN}",
"Content-Type": "application/json"
}
# Create campaign
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 campaign
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):
"""Get current status and progress of a campaign."""
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),
}
Step 4: Monitor Campaign Progress
Track certification progress and send escalations:
- Dashboard: Saviynt provides real-time campaign dashboard with completion rates
- Reminders: Automatic email reminders at configured intervals
- Escalation: If certifier does not respond by due date, escalate to manager's manager or auto-revoke
- Delegation: Allow certifiers to delegate specific items to application owners
Step 5: Execute Remediation
After campaign closes:
- Auto-Remediation: Saviynt automatically creates provisioning tasks to revoke denied access
- Ticket Integration: Revocation tasks create tickets in ServiceNow/Jira for tracking
- Grace Period: Configure a grace period (e.g., 5 business days) before access is actually removed
- Verification: After revocation, verify access is removed from target systems
- Audit Trail: All decisions, revocations, and remediations logged for compliance evidence
Validation Checklist
- [ ] Campaign templates configured for each certification type
- [ ] Certifier roles assigned (managers, app owners, data owners)
- [ ] Risk scoring and usage analytics enabled
- [ ] SoD violation detection configured
- [ ] Reminder and escalation schedules defined
- [ ] Auto-revoke policy for non-responsive certifiers configured
- [ ] Campaign launched and certifiers notified
- [ ] Campaign completion rate > 95% before close
- [ ] Revocation tasks created for all denied entitlements
- [ ] Remediation completed within SLA
- [ ] Campaign report generated for compliance audit
- [ ] Evidence archived for regulatory retention period
References
04 同仓库更多 Skills
verifying-build-provenance-with-slsa-sigstore
Verifies artifact signatures and SLSA provenance using Sigstore's cosign (verify, verify-attestation, verify-blob-attestation) and slsa-verifier (verify-artifact), enforcing keyless OIDC builder identity and source repo against SLSA Build levels. Use in CI/CD before deploying artifacts, when consuming third-party attestations, establishing a SLSA Build L3 pipeline, or confirming provenance during incident response or admission control.
validating-tpm-measured-boot-attestation
Verifies TPM 2.0 measured-boot integrity and remote attestation with tpm2-tools -- reading PCRs (tpm2_pcrread), replaying the boot event log, generating and checking signed quotes (tpm2_quote/tpm2_checkquote), and sealing secrets to a PCR policy. Use to confirm a system booted trusted firmware/kernel for Zero Trust device posture, detect boot-chain tampering via PCR drift, or build a golden-value baseline for fleet attestation.
validating-backup-integrity-for-recovery
Validates backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to confirm backups are reliable for disaster recovery and ransomware response. Use before relying on backups for recovery, when building post-backup validation pipelines, auditing backup infrastructure for compliance, or checking immutable/air-gapped backups for silent corruption or tampering.
triaging-windows-with-kape
Runs KAPE (Kroll Artifact Parser and Extractor) to collect targeted forensic artifacts (registry hives, $MFT, event logs, prefetch, browser data) via Targets and parse them with Modules wrapping Eric Zimmerman's EZ Tools (PECmd, MFTECmd, RECmd). Use during early incident containment/triage when full disk imaging is impractical but a defensible, parseable Windows artifact set is needed quickly, including at-scale remote collection.
triaging-vulnerabilities-with-ssvc-framework
Triages and prioritizes vulnerabilities with CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree, weighing exploitation status (via the CISA KEV catalog and FIRST EPSS API), technical impact, automatability, and mission prevalence to output Track/Track*/Attend/Act decisions. Use when prioritizing vulnerability scan results (OpenVAS, Nessus, Qualys) for remediation planning beyond raw CVSS scores.
triaging-security-incident
Performs initial triage of security incidents using the NIST SP 800-61r3 and SANS PICERL frameworks, classifying incident type, assigning priority by business impact, and routing to the appropriate response team. Use when a SIEM/EDR alert needs human classification, concurrent alerts must be prioritized, or a user report or threat-intel IOC match requires initial incident categorization.