implementing-just-in-time-access-provisioning skill (Anthropic-Cybersecurity-Skills)

From Public Agent Wiki

What it does. Implements Just-In-Time (JIT) access provisioning to eliminate standing privileges by granting temporary, time-bound access, covering approval workflows, automatic expiration/revocation, and PAM/IGA integration. Use when designing access approval workflows or replacing standing privileged accounts with time-bound, zero-trust-aligned grants. Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).

Upstream mukul975/Anthropic-Cybersecurity-Skills
Skill file skills/implementing-just-in-time-access-provisioning/SKILL.md
License Apache-2.0 (skill folder LICENSE)
Author mukul975
Fetched 2026-09-10

Install

  • npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-just-in-time-access-provisioning, or copy the skill folder into ~/.claude/skills/implementing-just-in-time-access-provisioning/.
  • Raw file: curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/implementing-just-in-time-access-provisioning/SKILL.md

SKILL.md (verbatim)

name: implementing-just-in-time-access-provisioning
description: >-
  Implements Just-In-Time (JIT) access provisioning to eliminate standing
  privileges by granting temporary, time-bound access, covering approval
  workflows, automatic expiration/revocation, and PAM/IGA integration. Use when
  designing access approval workflows or replacing standing privileged accounts
  with time-bound, zero-trust-aligned grants.
domain: cybersecurity
subdomain: identity-access-management
tags:
- iam
- identity
- access-control
- jit
- provisioning
- zero-trust
- least-privilege
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

Implementing Just-In-Time Access Provisioning

Overview

Implement Just-In-Time (JIT) access provisioning to eliminate standing privileges by granting temporary, time-bound access only when needed. This skill covers JIT architecture design, approval workflows, automatic expiration, integration with PAM and IGA platforms, and alignment with zero trust principles.

When to Use

  • When deploying or configuring implementing just in time access provisioning 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 JIT access request and approval workflows
  • Implement time-bound access grants with automatic expiration
  • Configure risk-based approval routing (auto-approve low-risk, multi-approval for high-risk)
  • Integrate JIT with PAM for privileged access elevation
  • Monitor and audit all JIT access grants and usage
  • Reduce attack surface by eliminating standing privileges

Key Concepts

JIT Access Models

  1. Broker and Remove: Grant access through approval, auto-remove after time window
  2. Elevation on Demand: User has base access, elevates to privileged upon request
  3. Account Creation/Deletion: Temporary account created, destroyed after use
  4. Group Membership Toggle: Add to privileged group temporarily, auto-remove

Zero Standing Privilege (ZSP) Principle

  • No user has permanent privileged access
  • All privileged access requires explicit request with business justification
  • Access automatically expires after defined time window
  • All access events logged and auditable

Workflow

Step 1: Identify Eligible Access Types

  • Privileged admin access (domain admin, root, DBA)
  • Production environment access
  • Sensitive data access (PII, financial, healthcare)
  • Emergency/break-glass access
  • Third-party vendor access

Step 2: Design Approval Workflows

  • Self-service request portal with justification requirement
  • Auto-approve for pre-authorized low-risk access (< 1 hour)
  • Single approver for medium-risk (manager or resource owner)
  • Dual approval for high-risk (manager + security team)
  • Emergency bypass with post-facto review

Step 3: Implement Time-Bound Access

  • Configure maximum access duration per resource type
  • Implement countdown timer with extension request capability
  • Auto-revoke at expiration regardless of session state
  • Grace period notification (15 min before expiry)
  • Automatic session termination on access expiry

Step 4: Integration Architecture

  • Connect to IAM/IGA platform for provisioning/de-provisioning
  • Integrate with PAM for privileged credential checkout
  • Connect to ITSM for ticket correlation
  • Forward events to SIEM for monitoring
  • API integration for programmatic access requests

Step 5: Monitoring and Compliance

  • Log all JIT requests, approvals, grants, and revocations
  • Alert on access used beyond approved scope
  • Track access not used (request but never connected)
  • Measure mean time to access (request to grant)
  • Report on access patterns for baseline optimization

Security Controls

Control NIST 800-53 Description
Temporary Access AC-2(2) Automated temporary account management
Least Privilege AC-6 Time-bound minimum access
Access Enforcement AC-3 Automated access grant/revoke
Audit AU-3 Complete JIT access audit trail
Risk Assessment RA-3 Risk-based approval routing

Common Pitfalls

  • Setting time windows too long, negating JIT benefits
  • Not implementing automatic revocation at expiration
  • Complex approval workflows causing access delays for legitimate needs
  • Not providing emergency bypass for critical incidents
  • Failing to audit approved but unused JIT access

Verification

  • JIT request workflow functional end-to-end
  • Access automatically revoked at expiration
  • Approval routing correct for all risk levels
  • Emergency access bypass works with post-review
  • All JIT events logged to SIEM
  • Standing privileges reduced by measurable percentage
  • Mean time to access meets business SLA

Other files in this skill

assets/template.md (verbatim)

JIT Access Provisioning Policy Template

Resource Classification

Resource Type Risk Level Max Duration Auto-Approve Approvals Required
Read-only access Low 1 hour Yes 0
Standard application Medium 4 hours No 1 (manager)
Production server High 4 hours No 2 (manager + security)
Database admin Critical 2 hours No 2 (DBA lead + security)
Domain admin Critical 1 hour No 2 (security + CISO)
Cloud admin Critical 2 hours No 2 (cloud team + security)

Approval Workflow Matrix

Risk Level Standard Request Emergency Request
Low Auto-approve Auto-approve
Medium 1 approval Auto-approve + post-review
High 2 approvals Immediate grant + post-review
Critical 2 approvals + MFA Immediate grant + incident review

Request Form Fields

  • Requester name and ID
  • Target resource/system
  • Access level requested
  • Duration requested (within policy maximum)
  • Business justification
  • Related ticket/incident number
  • Emergency flag (yes/no)

SLA Targets

Metric Target
Mean time to access (low risk) < 1 minute
Mean time to access (medium risk) < 15 minutes
Mean time to access (high risk) < 30 minutes
Emergency access grant < 2 minutes
Access revocation at expiry Immediate (< 1 minute)
Post-emergency review Within 24 hours

Monitoring Alerts

  • Emergency access granted
  • Access duration extended
  • Approved access not used within 30 minutes
  • Unusual access patterns detected
  • Approval SLA breached
  • Revocation failure

references/api-reference.md (verbatim)

API Reference: Implementing Just-In-Time Access Provisioning

Azure AD PIM API (JIT for Azure)

import requests
headers = {"Authorization": "Bearer <token>"}
# Activate eligible role
requests.post(
    "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests",
    headers=headers,
    json={"action": "selfActivate", "roleDefinitionId": ROLE_ID,
          "directoryScopeId": "/", "justification": "Incident response",
          "scheduleInfo": {"expiration": {"type": "afterDuration", "duration": "PT4H"}}})

JIT Risk-Based Approval

Risk Level Approval Max Duration
Low Auto-approve 4 hours
Medium Manager 8 hours
High Manager + Security 4 hours
Critical CISO + Manager + Security 2 hours

AWS IAM Access Analyzer

# Find unused permissions for JIT conversion
aws accessanalyzer list-findings --analyzer-arn ARN --filter '{"status": {"eq": ["ACTIVE"]}}'

CyberArk PAS REST API (JIT Privileged Access)

# Request JIT access
curl -X POST "https://VAULT/PasswordVault/api/MyRequests" \
  -H "Authorization: $TOKEN" \
  -d '{"AccountId": "ACC_ID", "Reason": "Maintenance", "TicketingSystemName": "ServiceNow"}'

Key Metrics

Metric Target
Avg approval time < 15 min
Auto-approval rate 40-60% (low risk)
Standing privilege reduction > 80%
Expired access auto-revoked 100%

References

references/standards.md (verbatim)

Standards and References - Just-In-Time Access Provisioning

NIST Standards

  • NIST SP 800-207: Zero Trust Architecture - Section 3 (Logical Components)
  • NIST SP 800-53 Rev 5:
    • AC-2(2): Automated Temporary and Emergency Account Management
    • AC-2(3): Disable Accounts
    • AC-6: Least Privilege
    • AC-6(5): Privileged Accounts
  • NIST SP 1800-35: Implementing a Zero Trust Architecture

Zero Trust Frameworks

  • CISA Zero Trust Maturity Model: Identity pillar - dynamic access provisioning
  • DoD Zero Trust Reference Architecture: JIT/JEA requirements
  • Forrester ZTX: Extended Zero Trust with JIT access

Tools and Platforms

  • Microsoft Entra PIM: Privileged Identity Management with JIT elevation
  • CyberArk JIT: Privileged access on-demand
  • SailPoint: Identity governance with access request workflows
  • HashiCorp Boundary: Just-in-time access to infrastructure
  • StrongDM: Dynamic access management

Compliance

  • SOX: Least privilege for financial system access
  • PCI DSS 4.0: Requirement 7.2 - Access based on need to know
  • HIPAA: Minimum necessary standard for PHI access

references/workflows.md (verbatim)

Just-In-Time Access Provisioning Workflows

Workflow 1: Standard JIT Access Request

Steps:

  1. User submits access request via self-service portal
  2. Request includes: target resource, duration, business justification
  3. System calculates risk score based on resource sensitivity and user context
  4. Risk-based routing:
    • Low risk (< 1 hr, non-privileged): Auto-approve
    • Medium risk: Route to resource owner for approval
    • High risk (privileged, production): Dual approval required
  5. Approver notified via email/Slack/Teams
  6. Approver reviews and approves/denies with comments
  7. On approval: system provisions access with time-bound constraint
  8. User notified of access grant with expiration time
  9. At expiration: system automatically revokes access
  10. All events logged for audit trail

Workflow 2: Emergency JIT Access (Break-Glass)

Steps:

  1. User declares emergency and requests immediate access
  2. System grants access immediately without pre-approval
  3. Access limited to shorter maximum duration (e.g., 2 hours)
  4. Security team notified of emergency access grant
  5. User must provide justification within 24 hours
  6. Manager and security team perform post-facto review
  7. If review finds access unjustified: security incident opened
  8. All emergency access events flagged in audit reports

Workflow 3: Privileged Elevation with PAM Integration

Steps:

  1. User requests privilege elevation through JIT portal
  2. Approval obtained per risk-based workflow
  3. JIT system triggers PAM credential checkout
  4. PSM session initiated with time-bound credential
  5. User performs privileged operations via isolated session
  6. Session recorded for audit
  7. At expiration: session terminated, credential checked in, password rotated
  8. JIT access record closed

Workflow 4: Vendor/Third-Party JIT Access

Steps:

  1. Internal sponsor submits access request on behalf of vendor
  2. Request includes: vendor identity, scope, duration, project reference
  3. Dual approval required (sponsor manager + security)
  4. Temporary account created with MFA enrollment
  5. Access restricted to specified resources only
  6. Network access limited to authorized segments
  7. Session monitoring enabled
  8. Account deactivated at expiration
  9. Account deleted after 30-day retention period

Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.