What it does. Deploy CyberArk Privileged Access Management to discover, vault, rotate, Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-privileged-access-management-with-cyberark, or copy the skill folder into ~/.claude/skills/implementing-privileged-access-management-with-cyberark/.
- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/implementing-privileged-access-management-with-cyberark/SKILL.md
SKILL.md (verbatim)
name: implementing-privileged-access-management-with-cyberark
description: Deploy CyberArk Privileged Access Management to discover, vault, rotate,
and monitor privileged credentials across enterprise infrastructure, covering
vault architecture, session isolation, credential rotation policies, and integration
with NIST 800-53 access control requirements. Use when standing up CyberArk PAM,
vaulting privileged credentials, or designing credential rotation policies.
domain: cybersecurity
subdomain: identity-access-management
tags:
- iam
- identity
- access-control
- privileged-access
- pam
- cyberark
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.AA-01
- PR.AA-02
- PR.AA-05
- PR.AA-06
mitre_attack:
- T1078
- T1110
- T1556
- T1098
- T1003
mitre_f3:
version: '1.1'
tactics:
- initial-access
- positioning
- resource-development
techniques:
- id: T1586
name: Compromise Accounts
tactic: resource-development
source: attack
- id: T1110
name: Brute Force
tactic: initial-access
source: attack
- id: F1033
name: Insider Access Abuse
tactic: initial-access
source: f3
- id: F1005.002
name: 'Account Manipulation: Add Authorized User'
tactic: positioning
source: f3
- id: F1006.002
name: 'Account Takeover: Exposed Login Credential'
tactic: initial-access
source: f3
Implementing Privileged Access Management with CyberArk
Overview
Deploy CyberArk Privileged Access Management to discover, vault, rotate, and monitor privileged credentials across enterprise infrastructure. This skill covers vault architecture, session isolation, credential rotation policies, and integration with NIST 800-53 access control requirements.
When to Use
- When deploying or configuring implementing privileged access management with cyberark capabilities in your environment
- When establishing security controls aligned to compliance requirements
- When building or improving security architecture for this domain
- When conducting security assessments that require this implementation
Prerequisites
- Familiarity with identity access management concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Objectives
- Design CyberArk vault architecture with high availability
- Implement automated privileged credential discovery and onboarding
- Configure credential rotation policies for different account types
- Deploy Privileged Session Manager (PSM) for session isolation and recording
- Integrate CyberArk with SIEM for privileged access monitoring
- Implement just-in-time (JIT) privileged access workflows
Key Concepts
CyberArk Architecture Components
- Digital Vault: Encrypted credential storage with FIPS 140-2 validated encryption
- Central Policy Manager (CPM): Automated password rotation and verification
- Privileged Session Manager (PSM): Session isolation, recording, and keystroke logging
- Password Vault Web Access (PVWA): Web interface for credential management
- Privileged Threat Analytics (PTA): Behavioral analytics for privileged accounts
- Conjur Secrets Manager: Application identity and secrets management
Vault Security Model
- Master Policy: Global security settings (dual control, exclusive access, one-time passwords)
- Safes: Logical containers for credentials with granular permissions
- Platforms: Configuration profiles defining rotation, verification, and reconciliation
- Account Groups: Link accounts sharing rotation dependencies
Credential Lifecycle
- Discovery: Scan infrastructure for privileged accounts
- Onboarding: Import accounts into vault with platform assignment
- Rotation: Automated password changes per policy schedule
- Verification: Periodic validation that vaulted credentials work
- Reconciliation: Re-sync credentials when vault and target are out of sync
- Decommissioning: Remove accounts no longer needed
Workflow
Step 1: Vault Architecture Design
- Deploy primary vault server in secured network segment
- Configure vault high availability with DR vault
- Harden vault server OS (remove unnecessary services, disable RDP)
- Configure firewall rules (only port 1858 from authorized components)
- Set up vault backup with encryption
Step 2: Safe and Policy Configuration
- Create safe hierarchy aligned with business units
- Define safe members with least-privilege roles:
- Safe Admins: manage safe membership
- Credential Managers: add/modify accounts
- Auditors: view audit logs only
- Users: retrieve/use credentials
- Configure Master Policy settings:
- Require dual control for credential retrieval
- Enable exclusive access (one user per credential at a time)
- Set one-time password mode for sensitive accounts
- Windows Domain Admin: Rotate every 24 hours, verify every 4 hours
- Linux Root: Rotate every 72 hours with SSH key rotation
- Database Admin (Oracle, SQL Server): Rotate every 24 hours
- Network Devices: Rotate every 7 days
- Service Accounts: Rotate on schedule with dependency management
- Cloud IAM Keys: Rotate every 90 days with dual-key strategy
Step 4: Privileged Session Management
- Deploy PSM servers behind load balancer
- Configure session recording (video, keystroke, command logs)
- Set up session isolation (users connect through PSM, never directly)
- Define connection components for RDP, SSH, databases, web apps
- Configure live session monitoring and termination capabilities
- Set session recording retention (minimum 1 year for compliance)
Step 5: Integration and Monitoring
- Forward CyberArk audit logs to SIEM (CEF/Syslog format)
- Configure PTA for behavioral analytics:
- Detect credential theft indicators
- Alert on suspicious privileged session activity
- Monitor unmanaged privileged account usage
- Integrate with ticketing system for access request workflows
- Set up alerts for failed rotation, verification failures, policy violations
Security Controls
| Control |
NIST 800-53 |
Description |
| Privileged Access |
AC-6(7) |
Privileged account controls |
| Credential Management |
IA-5 |
Automated credential rotation |
| Session Recording |
AU-14 |
Session audit capability |
| Access Enforcement |
AC-3 |
Vault-enforced access policies |
| Separation of Duties |
AC-5 |
Dual control for sensitive operations |
Common Pitfalls
- Not configuring reconciliation accounts leading to lockouts after rotation
- Setting rotation schedules too aggressive for service accounts with dependencies
- Failing to test PSM connection components before production deployment
- Not establishing break-glass procedures for vault unavailability
- Overlooking network device credential management
Verification
Other files in this skill
assets/template.md (verbatim)
CyberArk PAM Implementation Checklist
Vault Architecture
Safe Hierarchy
| Safe Name |
Purpose |
Dual Control |
Retention |
| DomainAdmins |
Domain admin credentials |
Yes |
365 days |
| LocalAdmins |
Local admin credentials |
No |
180 days |
| ServiceAccounts |
Service account credentials |
No |
365 days |
| DatabaseAdmins |
DBA credentials |
Yes |
365 days |
| NetworkDevices |
Network device credentials |
No |
180 days |
| CloudIAM |
Cloud access keys |
Yes |
365 days |
| Platform |
Rotation |
Verification |
Reconciliation |
| Windows Domain Admin |
24 hours |
4 hours |
On failure |
| Linux Root (SSH Key) |
72 hours |
12 hours |
On failure |
| SQL Server SA |
24 hours |
4 hours |
On failure |
| Oracle DBA |
24 hours |
4 hours |
On failure |
| Cisco IOS |
7 days |
24 hours |
On failure |
| Service Accounts |
30 days |
7 days |
On failure |
| AWS IAM Keys |
90 days |
30 days |
On failure |
PSM Configuration
Integration Checklist
Compliance Mapping
| Requirement |
CyberArk Control |
Status |
| NIST AC-2 Account Management |
Vault account lifecycle |
[ ] |
| NIST AC-5 Separation of Duties |
Dual control, safe roles |
[ ] |
| NIST AC-6 Least Privilege |
Platform-based access |
[ ] |
| NIST IA-5 Authenticator Management |
CPM rotation |
[ ] |
| NIST AU-14 Session Audit |
PSM recording |
[ ] |
| PCI DSS 7.1 Restrict Access |
Safe-based access control |
[ ] |
| PCI DSS 8.3.6 Password Complexity |
Platform policies |
[ ] |
references/api-reference.md (verbatim)
API Reference: CyberArk Privileged Access Management
Libraries Used
| Library |
Purpose |
requests |
HTTP client for CyberArk PVWA REST API |
json |
Parse CyberArk JSON responses |
os |
Read environment variables for credentials |
urllib.parse |
URL-encode safe and account query parameters |
Installation
pip install requests
Authentication
CyberArk PVWA REST API requires session token authentication:
import requests
import os
PVWA_URL = os.environ.get("CYBERARK_URL", "https://pvwa.example.com")
# CyberArk credential authentication
resp = requests.post(
f"{PVWA_URL}/PasswordVault/api/auth/cyberark/logon",
json={
"username": os.environ["CYBERARK_USER"],
"password": os.environ["CYBERARK_PASS"],
},
timeout=30,
verify=True,
)
session_token = resp.json() # Returns session token string
headers = {"Authorization": session_token}
LDAP Authentication
resp = requests.post(
f"{PVWA_URL}/PasswordVault/api/auth/ldap/logon",
json={"username": user, "password": password},
timeout=30,
verify=True,
)
RADIUS Authentication
resp = requests.post(
f"{PVWA_URL}/PasswordVault/api/auth/radius/logon",
json={"username": user, "password": otp_code},
timeout=30,
verify=True,
)
REST API Endpoints
| Method |
Endpoint |
Description |
| POST |
/api/auth/{method}/logon |
Authenticate (cyberark, ldap, radius) |
| POST |
/api/auth/logoff |
End session |
| GET |
/api/Accounts |
List privileged accounts |
| GET |
/api/Accounts/{id} |
Get account details |
| POST |
/api/Accounts |
Add a new privileged account |
| PATCH |
/api/Accounts/{id} |
Update account properties |
| DELETE |
/api/Accounts/{id} |
Delete an account |
| POST |
/api/Accounts/{id}/Password/Retrieve |
Retrieve account password |
| POST |
/api/Accounts/{id}/Change |
Trigger password change |
| POST |
/api/Accounts/{id}/Reconcile |
Reconcile password |
| POST |
/api/Accounts/{id}/Verify |
Verify password on target |
| GET |
/api/Safes |
List safes |
| GET |
/api/Safes/{name} |
Get safe details |
| POST |
/api/Safes |
Create a safe |
| GET |
/api/Safes/{name}/Members |
List safe members |
| POST |
/api/Safes/{name}/Members |
Add safe member |
| GET |
/api/Platforms |
List platforms |
| GET |
/api/ComponentsMonitoringDetails/{component} |
System health |
Core Operations
List Privileged Accounts
resp = requests.get(
f"{PVWA_URL}/PasswordVault/api/Accounts",
headers=headers,
params={"search": "Linux", "limit": 100},
timeout=30,
verify=True,
)
accounts = resp.json()
for acct in accounts.get("value", []):
print(f"{acct['name']} — platform: {acct['platformId']}, safe: {acct['safeName']}")
Retrieve a Password (Check-Out)
resp = requests.post(
f"{PVWA_URL}/PasswordVault/api/Accounts/{account_id}/Password/Retrieve",
headers=headers,
json={"reason": "Automated security audit"},
timeout=30,
verify=True,
)
password = resp.text # Returns the password as plain text
List Safes and Audit Permissions
resp = requests.get(
f"{PVWA_URL}/PasswordVault/api/Safes",
headers=headers,
params={"limit": 200},
timeout=30,
verify=True,
)
for safe in resp.json().get("value", []):
members_resp = requests.get(
f"{PVWA_URL}/PasswordVault/api/Safes/{safe['safeName']}/Members",
headers=headers,
timeout=30,
verify=True,
)
members = members_resp.json().get("value", [])
print(f"Safe: {safe['safeName']} — {len(members)} members")
Trigger Password Rotation
resp = requests.post(
f"{PVWA_URL}/PasswordVault/api/Accounts/{account_id}/Change",
headers=headers,
json={"ChangeEntireGroup": False},
timeout=60,
verify=True,
)
Logoff
requests.post(
f"{PVWA_URL}/PasswordVault/api/auth/logoff",
headers=headers,
timeout=10,
verify=True,
)
{
"value": [
{
"id": "42_8",
"name": "root-linux-prod01",
"address": "10.0.1.50",
"userName": "root",
"platformId": "UnixSSH",
"safeName": "LinuxRoot",
"secretType": "password",
"platformAccountProperties": {
"LogonDomain": "",
"Port": "22"
},
"secretManagement": {
"automaticManagementEnabled": true,
"lastModifiedTime": 1705334400
}
}
],
"count": 1
}
references/standards.md (verbatim)
Standards and References - Privileged Access Management with CyberArk
NIST Standards
- NIST SP 800-53 Rev 5: Security and Privacy Controls
- AC-2: Account Management
- AC-5: Separation of Duties
- AC-6: Least Privilege
- AC-6(7): Review of User Privileges (Privileged Accounts)
- AU-14: Session Audit
- IA-5: Authenticator Management
- NIST SP 800-171: Protecting CUI - 3.1.5 Least Privilege, 3.1.7 Privileged Functions
- NIST SP 800-63B: Digital Identity Guidelines - Authentication
- NIST Cybersecurity Framework: PR.AC (Identity Management, Authentication, Access Control)
CyberArk Documentation
Industry Standards
- CIS Controls v8: Control 5 - Account Management, Control 6 - Access Control Management
- MITRE ATT&CK: T1078 (Valid Accounts), T1003 (OS Credential Dumping)
- PCI DSS 4.0: Requirement 7 (Restrict Access), Requirement 8 (Identify and Authenticate)
- SOX: Section 404 - Internal controls for privileged access
- ISO 27001: A.9 Access Control
Compliance Frameworks
- FISMA: Federal compliance requiring NIST 800-53 controls
- HIPAA: Access controls for PHI systems
- GDPR: Article 32 - Security of processing
references/workflows.md (verbatim)
Privileged Access Management Workflows
Workflow 1: Privileged Credential Checkout and Use
User -> PVWA -> Request Credential -> Dual Control Approval -> Vault Release -> PSM Session -> Target System
Steps:
- User authenticates to PVWA with MFA
- User requests access to privileged account
- If dual control enabled, request routed to approver
- Approver reviews and approves/denies request
- Vault releases credential through PSM
- User connects to target via PSM (never sees password)
- Session recorded (video, keystrokes, commands)
- On disconnect, credential checked back in
- If one-time password mode, CPM rotates credential immediately
Workflow 2: Automated Credential Rotation
Steps:
- CPM checks rotation schedule for each platform
- CPM connects to target system using reconciliation account
- CPM generates new password meeting complexity requirements
- CPM changes password on target system
- CPM updates password in vault
- CPM verifies new credential works on target
- If verification fails, CPM triggers reconciliation
- Rotation event logged to audit trail
- SIEM alert triggered on rotation failure
Workflow 3: Privileged Account Discovery
Steps:
- Configure account discovery scan targets (IP ranges, domains)
- Discovery scanner connects to targets using scanning credentials
- Scanner identifies privileged accounts:
- Windows: Local admins, domain admins, service accounts
- Linux: root, sudoers, service accounts
- Database: DBA accounts, application accounts
- Network: admin/enable accounts on switches/routers
- Discovered accounts compared against vault inventory
- Unmanaged accounts flagged for review
- Security team reviews and prioritizes onboarding
- Approved accounts onboarded to appropriate safes
- CPM begins credential rotation per platform policy
Workflow 4: Break-Glass Emergency Access
Steps:
- Normal vault access unavailable (outage, disaster)
- Authorized personnel retrieve break-glass media (sealed envelope, USB)
- Break-glass credentials used to access critical systems directly
- All actions taken with break-glass credentials manually documented
- When vault service restored, all break-glass credentials rotated immediately
- Break-glass media re-sealed with new credentials
- Incident report created documenting break-glass usage
- All actions performed during break-glass reviewed by security team
Workflow 5: Incident Response - Compromised Privileged Account
Steps:
- PTA detects anomalous privileged account behavior
- Alert generated with risk score and indicators
- Security analyst reviews alert in PVWA/SIEM
- If confirmed compromise:
a. Immediately rotate compromised credential via CPM
b. Terminate any active PSM sessions using that account
c. Review session recordings for malicious activity
d. Check for lateral movement using audit logs
e. Assess blast radius of compromised privilege level
- Forensic analysis of session recordings
- Post-incident review and policy updates
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.