Cloudanix Achieves AWS Security Competency Status for Its CNAPP+ Platform and Just-in-Time Access Engine

Cloudanix – Your Partner in Cloud Security Excellence

Build JIT: Securing Jenkins CI/CD Pipelines with Just-in-Time Access Instead of Standing AdministratorAccess

  • Monday, Aug 24, 2026

The Jenkins Permissions Problem

Your Jenkins server has AdministratorAccess. You know this. Your security team knows this. Everyone agrees it should be fixed. And yet it persists — because fixing it is hard and breaking it is worse.

Here’s how it happened:

  1. The first pipeline needed s3:PutObject to deploy an artifact. A developer added S3 access to the Jenkins role.
  2. The second pipeline needed ecs:UpdateService. ECS permissions were added.
  3. The third pipeline needed ecr:PushImage. ECR permissions were added.
  4. By pipeline number 15, the IAM policy was 200 lines long, nobody fully understood it, and someone said “just give it Admin and we’ll scope it down later.”
  5. “Later” never came.

Now your Jenkins server — a build host that runs arbitrary code from every PR in your organization — has the keys to your entire AWS account. Permanently. 24/7. Even when no builds are running.

Why This Is Your Biggest Blast Radius

Human access has improved. Your engineers use SSO, MFA, and maybe even JIT for cloud console access. But the Jenkins server:

  • Runs 24/7 with permanent credentials.
  • Executes untrusted code (every dependency in every build is code the pipeline runs).
  • Has a single static role that doesn’t rotate because rotation breaks 47 pipelines.
  • Cannot be MFA’d (it’s a machine identity).
  • Audit stops at the role name. CloudTrail says JenkinsDeployRole deleted the bucket. Which build? Which commit? Which engineer’s PR triggered it? The trail ends.

If someone pops shell on your Jenkins box — through a vulnerable plugin, a malicious dependency, a compromised build step — they inherit AdministratorAccess. Not for 30 seconds while a deploy runs. Forever. Until someone notices and rotates the role.

This isn’t hypothetical. Supply chain attacks targeting CI/CD systems are among the most common attack vectors in modern cloud environments. Your Jenkins server is simultaneously your most powerful non-human identity and your least governed one.

The Insight: Pipelines Need Privilege for Seconds, Not Hours

Look at a typical Jenkins pipeline:

Pipeline: my-app (build #142)
Total duration: 4 minutes

00:00 - 01:30  Checkout code, run tests needs: nothing
01:30 - 02:00  Build container image needs: nothing  
02:00 - 02:30  Push to ECR needs: ecr:PushImage (30 seconds)
02:30 - 03:30  Run integration tests needs: nothing
03:30 - 04:00  Deploy to ECS needs: ecs:UpdateService (30 seconds)

Out of a 4-minute build, the pipeline needs elevated cloud privilege for 60 seconds total. The other 3 minutes are code compilation, test execution, and container building — operations that need zero AWS permissions.

Yet the Jenkins role has AdministratorAccess for all 4 minutes. And for the 23 hours and 56 minutes between builds. And overnight. And on weekends.

Agentic JIT: Elevate for the Step, Not the Pipeline

Cloudanix Agentic JIT flips the model: the Jenkins role starts with zero (or minimal) privileges. The pipeline calls elevate() at the moment it needs cloud access, runs the privileged operation, and calls revoke() when it’s done. The privilege exists for 30 seconds, not permanently.

How It Works with Jenkins

One-time setup:

  1. Register Jenkins as an Agent in Cloudanix Console (name, use case: Build Workflow, max session: 15 minutes).
  2. Define the cloud boundary: which AWS account, which IAM role, which policies this agent is ever allowed.
  3. Add two secrets to Jenkins: CLOUDANIX_AUTH_TOKEN and CLOUDANIX_AGENT_ID.
  4. Add the Cloudanix Jenkins shared library to your pipeline.

Per-pipeline usage:

@Library('cloudanix-jit') _

pipeline {
  agent any
  stages {
    stage('Test') {
      steps { sh 'npm test' }  // No elevation needed
    }
    stage('Build') {
      steps { sh 'docker build .' }  // No elevation needed
    }
    stage('Deploy') {
      steps {
        cloudanixElevate(policy: 'AmazonECS-FullAccess', ttl: '15m') {
          sh 'aws ecs update-service --cluster prod --service api'
        }
      }
    }
  }
}

The cloudanixElevate() block:

  1. Calls the Cloudanix API with the policy request and TTL.
  2. Cloudanix verifies the request is within the agent’s boundary (permitted policies, max duration).
  3. Policy is attached to the Jenkins IAM role.
  4. The enclosed block executes (the aws ecs command runs with the now-elevated role).
  5. When the block exits (success or failure), the policy is detached immediately.
  6. If the block fails to call revoke (crash, timeout), the TTL hard ceiling revokes automatically.

Elevation duration: 38 seconds out of a 4-minute build. Not 24 hours.

What the Audit Trail Shows

Elevation: elev-9c11f3a8
Agent: jenkins-deploy-agent
Build: my-app #142
Commit: a7c1f24
Policy: AmazonECS-FullAccess
TTL: 15m (used 38s)
Actions:
  [14:00:18] ecs:UpdateService → cluster prod → service api
  [14:00:19] ecs:DescribeServices → cluster prod
Revoked: 14:00:52 (SDK call, build step finished)

CloudTrail no longer says “JenkinsDeployRole did it.” The Cloudanix audit says: “Build #142, commit a7c1f24, triggered by engineer-X’s PR, elevated for 38 seconds, called ecs:UpdateService on the prod cluster, and the policy was detached.”

The audit chain: action → agent → build → commit → engineer. Forensics-grade. SOC 2-ready.

Beyond Jenkins: Every CI/CD System

The same pattern applies to:

PlatformIntegration
JenkinsShared library (@Library('cloudanix-jit'))
GitHub ActionsCloudanix Action (marketplace)
GitLab CICI template (include in .gitlab-ci.yml)
Bitbucket PipelinesBitbucket Pipe
CircleCIOrb
ArgoCDSDK call in sync hooks
AWS CodeBuildSDK call in buildspec
Anything with HTTPSRaw API call

One model for every CI/CD system. Same elevate() → action → revoke() contract. Same audit trail. Same boundary enforcement.

The Boundary: What Pipelines Can Never Request

When you register a Jenkins agent in Cloudanix, you define its permitted policies: the set of IAM policies this agent is ever allowed to be granted. The pipeline can request any policy within this set. Requests outside the set are denied at the API:

Agent: jenkins-deploy-agent
Permitted policies:
  - AmazonECS-FullAccess
  - AmazonECR-PushImage
  - AmazonS3-DeployBucket-Write

Max session: 15 minutes

Denied: AdministratorAccess (not in permitted set)
Denied: AmazonRDS-FullAccess (not in permitted set)
Denied: AmazonEC2-FullAccess (not in permitted set)

A compromised build step that tries to escalate beyond the agent’s boundary gets a 403. The pipeline can’t request privileges it was never registered to receive. The boundary is enforced at the Cloudanix API, not in the pipeline code.

What About Long-Lived Secrets?

“But you’re still putting secrets in Jenkins (CLOUDANIX_AUTH_TOKEN).”

True. But compare the blast radius:

ScenarioStanding AdminAgentic JIT
Token stolenFull AdministratorAccess 24/7Can request specific policies for max 15 min, boundary-limited
Pipeline compromiseFull AWS account accessLimited to agent’s permitted policies, for declared TTL
Credential rotationRequires coordinating 47 pipelinesRotate one auth token in Jenkins secret store
Audit after incident“JenkinsDeployRole did something”“Build #142, commit abc, policy X, 38 seconds”

The auth token grants the ability to request elevation within a boundary. It doesn’t grant standing cloud access. A stolen token without the pipeline context (specific build, specific step) provides limited value — and the boundary prevents escalation beyond the permitted set.

The ROI: Security Teams and Platform Teams Both Win

Security Team Gets

  • Zero standing NHI (non-human identity) access.
  • Every pipeline action linked to agent → build → commit → engineer.
  • Boundary enforcement that prevents privilege escalation.
  • Evidence-grade audit for SOC 2 / ISO / PCI.
  • Blast radius reduced from “entire account” to “30-second window with bounded policies.”

Platform Team Gets

  • No more 200-line IAM policies to maintain per pipeline.
  • No more “just give it Admin” conversations.
  • Clear, code-reviewable policy declarations in Jenkinsfiles.
  • One rotation target per pipeline (auth token) instead of managing the underlying IAM role policy.
  • Faster debugging: elevation failures point to boundary mismatches, not opaque IAM denials.

Developers Get

  • Pipeline still works the same way from their perspective.
  • PR reviews include the cloudanixElevate(policy: 'X', ttl: 'Y') declaration — visible security, not hidden configuration.
  • No more “the Jenkins role doesn’t have permission, ask DevOps to add it.” The request is in the code.

Still Running Jenkins with AdministratorAccess?

If your CI/CD pipelines have standing broad permissions — and you’ve been meaning to scope them down “when there’s time” — Agentic JIT eliminates standing pipeline access without requiring you to decompose your 200-line IAM policy into per-pipeline scoped roles. Register the agent, declare elevations in the pipeline, and the 200-line policy becomes irrelevant because the role starts empty and fills only for the seconds it needs privilege.

Learn more about Agentic JIT or book a demo to see Jenkins elevation in action.

What Our Users Are Saying

Customer Reviews

Cloudanix is trusted by security leaders worldwide to deliver proactive, reliable, and cutting-edge cloud security.

One day, I changed the password of a root account, and my CTO called me within less than a minute to confirm if I did so. I was not expecting a reaction this quick. He told me Cloudanix alerted him of this password change and that he wanted to confirm as it was a critical security notification. I couldn't believe it!

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Compliance is one way of staying secure, but what I want is the ability to go deeper and attain 'true security.' Cloudanix provides us the capability to do so.

Vishal Madan
Vishal Madan
Head of Engineering, iMocha

Cloudanix is building for the future of the cloud, which makes the product all the more desirable.

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Cloudanix gave us the visibility we were missing. Being able to move from permanent access to a robust Just-In-Time (JIT) workflow has fundamentally changed our security posture without slowing down our engineering velocity.

Pavan Kumar Lekkala
Pavan Kumar Lekkala
SRE Lead, HugoHub

We are excited to leverage Cloudanix's comprehensive multi-cloud DevSecOps solution to secure our production workloads on AWS. Cloudanix has demonstrated that it can solve many challenges that DevSecOps teams face while continually adding new features such as SOC2 compliance and drift detection.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Managing third-party partner access was once a major concern for our security posture. With Cloudanix JIT Cloud, we've effectively achieved zero third-party risk. We can now grant access confidently, knowing that it is temporary, audited, and automatically revoked, resulting in a 100% reduction in our privileged access exposure.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

The snooze feature and responsible alerts have helped us save time and prioritize what to tackle first.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Implementing Cloudanix JIT internally allowed us to practice what we preach. By eliminating permanent access to our own clouds and databases, we've neutralized the risk of standing privileges, ensuring our own 'keys to the kingdom' are never left exposed.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

The problem with permissions is a lot of times, the gaps are left open due to oversights from inside the organization itself. With Cloudanix's CIEM, we get a complete view of user permissions and access. This enables us to update the permissions, reducing the attack surface.

Nilesh Pethani
Nilesh Pethani
Application Architect, iMocha

In the world of Fintech, trust is our currency. Cloudanix provided the frictionless visibility we needed to secure our EKS workloads across AWS, ensuring we stay audit-ready for SOC2 and GDPR without slowing down our engineering velocity.

Amol Naik
Amol Naik
Head of Security & Infrastructure, HugoHub

Cloudanix delivered value within 5 minutes of onboarding. Continuous monitoring, timely detection, and excellent documentation helped us attain a great cloud security posture.

Divyanshu Shukla
Senior DevSecOps, Meesho

Technology strategies and business strategies are in a state of constant change which includes centralization and decentralization of responsibilities. Regardless of strategic shift, we still have intellectual property to protect. Cloudanix are critical partners for us in our public cloud security posture across our three cloud providers.

Jerry Locke
Jerry Locke
Senior Director Global Solutions Engineering, Eversana

Cloudanix has been amazing. They opened up a common Slack channel with us — and it feels like we are talking to our own team and getting things done with Cloud security. The support team is always available, friendly, helpful, and ready to go out of their way.

Satish Mohan
Satish Mohan
CTO, Airgap Networks

Beyond just access management, Cloudanix CSPM has given us a unified view of our AWS environment. The real-time alerting and anomaly detection allow us to prevent any untoward activity before it happens, which is critical for a marketplace connecting 50+ financial institutions.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

For a Fintech company, data is our most valuable — and most sensitive — asset. Cloudanix DAM hasn't just improved our visibility; it has given us control. The ability to mask data and prevent unauthorized queries in real-time is a game-changer for our compliance and customer trust.

Jiten Gala
Jiten Gala
President Engineering and Product, Kapittx

Our clients, especially in the Middle East financial sector, demand absolute accountability. Cloudanix JIT Cloud has been a competitive differentiator for us, allowing us to provide secure, governed access to customer accounts that meet their strictest audit and compliance requirements.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

Cloudanix is always on my team's lips because of its exceptional support. Be it a small or big query, Cloudanix has gone above and beyond to resolve them. This one's a keeper for us.

Sujit Karpe
Sujit Karpe
CTO, iMocha

For a long-lasting partnership, great support goes a long way. Cloudanix has delivered exceptional support whenever required. Their edge is their team is always ready to go beyond to solve any issues that we have. This speaks volumes about the culture at Cloudanix.

Akash Maheshwari
Akash Maheshwari
Co-founder, MoveInSync

Beyond the technology, Cloudanix feels like an extension of our own team. Their willingness to stand up a dedicated Middle East tenant for us and provide exceptional support at a sensible price makes them a long-term partner for Hugosave.

Surya Tamada
Surya Tamada
CTO, HugoHub

The real-time notifications that Cloudanix provides are a real lifesaver. Their adaptive notifications ensure that my team stays productive and doesn't get interrupted all the time.

Digvijay Singh
Staff Security Engineer, Meesho

The whole point in technological evolution is to help improve the world we live in. We must protect that and to do so requires an effective and efficient security strategy. The Cloudanix team helped make our public cloud security posture management strategy a reality. The symbiotic relationship we have allows for a continuous feedback loop which is how business should operate.

Larry Wheat
Larry Wheat
Staff Solutions Engineer, Eversana

Ready to see your graph?

Connect a cloud account in under 30 minutes. See every finding rooted in identity, asset, and blast radius — with a fix path attached.

Book a Demo