Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deploy CyberArk Secure Cloud Access to eliminate standing privileges in hybrid and multi-cloud environments using just-in-time access with time, entitlement, and approval controls.
.claude/skills/implementing-zero-standing-privilege-with-cyberark/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | — | — |
| case-15 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
| case-03 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✗→✓ | ▲ Improved | — | — |
Zero Standing Privileges (ZSP) is a security model where no user or identity retains persistent privileged access. Instead, elevated access is provisioned dynamically on a just-in-time (JIT) basis and automatically revoked after use. CyberArk implements ZSP through its Secure Cloud Access (SCA) module, which creates ephemeral, scoped roles in cloud environments (AWS, Azure, GCP) that exist only for the duration of a session. The TEA framework -- Time, Entitlements, and Approvals -- governs every privileged access session.
| Component | Description | Configuration | |-----------|-------------|---------------| | Time | Duration of the privileged session | Min 15 minutes, max 8 hours, default 1 hour | | Entitlements | Permissions granted during the session | Dynamically scoped IAM roles/policies | | Approvals | Authorization workflow before access | Auto-approve, manager approval, or multi-level |
User requests access via CyberArk
│
├── CyberArk evaluates request against policies:
│ ├── Is user eligible for this access?
│ ├── Does the request comply with TEA policies?
│ └── Is approval required?
│
├── [If approval needed] → Route to approver (ITSM/ChatOps)
│
├── Upon approval:
│ ├── CyberArk creates ephemeral IAM role in target cloud
│ ├── Scopes permissions to minimum required entitlements
│ ├── Sets session TTL (time-bound)
│ └── Provisions temporary credentials
│
├── User accesses cloud resources via session
│ ├── All actions logged and recorded
│ └── Session monitored for policy violations
│
└── Session expires:
├── Ephemeral role deleted
├── Temporary credentials revoked
└── Zero standing privileges remain| Component | Role | |-----------|------| | Identity Security Platform | Central management and policy engine | | Privilege Cloud Vault | Stores privileged credentials and keys | | Secure Cloud Access | Creates/destroys ephemeral cloud roles | | Endpoint Privilege Manager | Controls local admin and app elevation | | Privileged Session Manager | Records and monitors privileged sessions |
AWS Integration:
json{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CYBERARK_ACCOUNT:role/CyberArkSCARole" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "cyberark-external-id" } } }] }
Azure Integration:
GCP Integration:
Create policies that map job functions to cloud entitlements:
yaml# CyberArk SCA Policy Example policy_name: "developer-aws-read-access" description: "Read-only access to AWS production for developers" target_cloud: "aws" target_accounts: ["123456789012", "987654321098"] time_policy: max_duration: "4h" default_duration: "1h" business_hours_only: true timezone: "America/New_York" entitlement_policy: aws_managed_policies: - "arn:aws:iam::aws:policy/ReadOnlyAccess" deny_actions: - "iam:*" - "organizations:*" - "sts:*" resource_restrictions: - "arn:aws:s3:::production-*" approval_policy: approval_required: true approvers: - type: "manager" - type: "group" group: "cloud-security-team" auto_approve_conditions: - previous_approved_same_policy: true within_days: 7 escalation_timeout: "2h" escalation_approver: "cloud-security-lead"
Set up privileged session recording and real-time monitoring:
Integrate with ITSM tools for access request and approval:
Phase 1: DISCOVERY (Weeks 1-2)
├── Inventory all standing privileged roles across cloud accounts
├── Map users to their standing role assignments
├── Analyze CloudTrail/activity logs for actual permission usage
└── Identify roles that can be converted to JIT
Phase 2: POLICY CREATION (Weeks 3-4)
├── Create ZSP policies based on actual usage analysis
├── Define TEA parameters for each policy
├── Configure approval workflows
└── Test policies with pilot users
Phase 3: MIGRATION (Weeks 5-8)
├── Assign ZSP policies to pilot group
├── Remove standing privileges from pilot users
├── Monitor for access issues and adjust policies
├── Expand to additional teams incrementally
└── Remove all standing privileges organization-wide
Phase 4: GOVERNANCE (Ongoing)
├── Monthly review of ZSP policy effectiveness
├── Quarterly entitlement optimization
├── Monitor for policy drift or standing privilege re-creation
└── Report ZSP metrics to security leadership| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +50 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.