5
5
Table of Contents

Objective

This blog shows how users can sign in to AWS through JumpCloud, without creating a separate IAM user for every employee.

You will also learn how one JumpCloud application can give access to many AWS IAM roles. After login, the user simply picks the role they need.

Traditionally, people use IAM users with a password and access keys. This is hard to manage when a company has many employees. With SSO, JumpCloud keeps the users, and AWS gives short-lived access only when needed.

The hidden cost of one IAM user per employee

Why Direct IAM Federation?

This blog uses direct SAML 2.0 federation between JumpCloud and AWS IAM. It works well when you need SAML sign-in to a specific AWS account, or when you want full control of the IAM roles and trust policies.

If you need one central place to manage workforce access across many AWS accounts, AWS recommends AWS IAM Identity Center. Please compare both options before you choose your design.

Why Direct IAM Federation?

How the Sign-In Works

Behind a simple click, there are a few clear steps. The key point is that the browser carries the SAML response from JumpCloud to AWS.

How the Sign-In Works

Who does what

Who does what

Final flow

Final flowOne JumpCloud login, many AWS permission levels

Prerequisites

Keep these ready before you start.

Prerequisites

In this blog, the sample AWS account ID is 123456789012. Replace it with your own account ID.

Step 1 — Create a JumpCloud Account

Go to the official JumpCloud website and create your organization. You need administrator access, because SSO application settings need admin rights. JumpCloud also lists an admin account and the SSO entitlement as requirements for the AWS IAM connector.

JumpCloud administrator login page

JumpCloud admin console dashboard
Step 2 — Create a Test User

In the JumpCloud Admin Console, open this path:

Use demo details like these:
Demo details
Save the user. Later, this user will be allowed to open the AWS application.

Open Identity Management and select UsersThe Users page, where you add a new user

Step 3 — Create a User Group

Groups make access easy to manage. Create one group for the people who can use AWS.
Step 3 — Create a User Group
Step 3 — Create a User Group

Open User Groups to see your custom group of users

Add the test user to the group and save
Step 4 — Add the AWS Application in JumpCloud

This is the main JumpCloud setting. Open this path and search for the AWS connector:

Open Access and select SSO Applications Click Add New ApplicationChoose the AWS connector (not AWS IAM Identity Center)

Amazon Web Services (IAM) selected. It supports SSO with SAML
Fill in the general information:
general information
When Show in User Portal is on, authorized users can see the AWS tile in their JumpCloud portal.

General information: display label and Show in User Portal

Step 5 — Export the JumpCloud Metadata

Open the application and go to the SSO tab. JumpCloud creates its own SAML details, such as the IdP certificate and the IdP URL. The SSO URL looks like this (your region may be different):

https://sso.jumpcloud.com/saml2/amazonwebservicesiam

The SSO tab with the JumpCloud SAML configuration

Click Export Metadata and save the XML file, for example JumpCloud-AWS-IAM-metadata.xml. AWS uses this file to trust JumpCloud as the SAML identity provider.

Export Metadata or copy the Metadata URL

Important: The SSO tab may show an IdP private key. Never copy, share, or publish it. AWS does not need it. AWS only needs the metadata file, which contains the public certificate.

Step 6 — Create the SAML Provider in AWS

Now open the AWS console and go to IAM:

Shortcut: click Create new while creating a role to open the Add provider pageAdd identity provider: type SAML, name jumpcloud, upload the metadata file

After you save, the provider ARN looks like this:

The jumpcloud provider summary with its ARN

The SAML provider only sets up trust with JumpCloud. Users still need IAM roles to get any permissions.

Step 7 — Create the IAM Roles

This is where one JumpCloud app becomes powerful. Create three roles, each with a different job. The role names below are the ones used in the screenshots.

Create the IAM Roles

Create each role

  1. For Trusted entity type, choose SAML 2.0 federation.
  2. For SAML provider, choose jumpcloud.
  3. Choose Allow programmatic and AWS Management Console access.
  4. Check that the condition is SAML:aud with the value https://signin.aws.amazon.com/saml.
  5. Attach the permission policy from the table above.
  6. Enter the role name and click Create role.
  7. Repeat for the other two roles.
Trusted entity type: SAML 2.0 federation with the jumpcloud providerAdd permissions: here PowerUserAccess is selected for the power user roleName, review and create: the role name and the trust policyThe role is created and shows its ARN

Trust policy
The console builds the trust policy for you. The important part looks like this:

In simple words: this policy lets users who signed in through the JumpCloud SAML provider assume this role using sts:AssumeRoleWithSAML. The SAML:aud condition makes sure the assertion is meant for the AWS sign-in page.

The Trust relationships tab of the new roleAll three federated roles listed in IAM

Step 8 — Send the Roles from JumpCloud

Go back to JumpCloud and open the AWS application. On the SSO tab, find the attribute settings. JumpCloud must send the role details inside the SAML assertion. These are the attributes we use:

Attributes section: user attributes and constant attributes

Role attribute format

Add one Role attribute for each role. Each value has two ARNs, separated by a comma and no space: first the role ARN, then the SAML provider ARN.

Role attribute format

Check each ARN carefully. A small typo in a role name, account ID, or provider name will stop the role from working.

Copy the provider ARN from IAM and use it in the attribute valueAdd one Role constant attribute for each rolePaste the role ARN, then a comma, then the provider ARN

Session duration

SessionDuration is the time (in seconds) you request for the console session, for example 3600 for one hour. It must fit inside the maximum session duration set on the IAM role. Keep it short for powerful roles.

What the SAML assertion carries

This simple view shows what JumpCloud sends to AWS after the user signs in:
SAML assertion

Concept view: each offered role is paired with the SAML provider ARN (role names are examples)

Step 9 — Authorize the Users in JumpCloud

Creating the application does not give access to everyone. JumpCloud blocks users from an SSO application until an admin allows them.

  1. Open the AWS application in JumpCloud.
  2. Go to the User Groups tab.
  3. Select the group AWS-SSO-Users.
  4. Click Save.

 User Groups tab: select the group and click Save
Validation

Now test the full login with the demo user.

  1. Open the JumpCloud User Login page and sign in with the demo user.
  2. In the User Portal, click the Amazon Web Services IAM tile.
  3. Check that AWS shows the Select a role page with all three roles.
  4. Select jumpserverpoweruserrole and click Sign in.
  5. Confirm that the AWS console opens.
  6. Open a service that the policy allows and confirm it works.
  7. Open the IAM dashboard. Some IAM details show Access denied. This is expected, because PowerUserAccess does not allow IAM management.
JumpCloud user login pageThe User Portal shows the Amazon Web Services IAM tileAWS asks the user to select a roleThe console opens with the selected role. Some IAM pages show Access denied

Expected result

Expected Results

You can also open AWS CloudTrail and look for the AssumeRoleWithSAML event. It confirms that the federated login worked.

Security and Production Considerations

A working lab is only the start. Think about these points before you use this design in production.

  • Turn on MFA in JumpCloud, especially for users with powerful roles.
  • Use least privilege. Give each IAM role only what the job needs.
  • Do not use the AWS root user for setup or daily work.
  • Use short session durations for privileged roles.
  • Never share the IdP private key.
  • Watch the SAML certificate expiry. Plan the renewal before it expires.
  • Monitor access with AWS CloudTrail.
  • Review group assignments in JumpCloud on a regular basis.
  • Keep a break-glass path. Make sure you can still enter AWS if SSO fails.

Security and Production Considerations
Conclusion

You now have JumpCloud working as the identity provider for AWS IAM. Users sign in once, pick the role they need, and get temporary access that expires on its own. There are no extra IAM users to manage.
Direct IAM federation is a good choice for specific accounts and clear role needs. For large multi-account setups, also look at AWS IAM Identity Center.

12
Let's discuss your cloud challenges and see how CloudKeeper can solve them all!
Meet the Author
  • Vikas Singh
    DevOps Engineer

    Vikas specializes in AWS cloud infrastructure, DevOps engineering, and automation, with a focus on building reliable, scalable, and secure cloud environments.

No Comments Yet
Leave a Comment
Certified. Trusted. Industry Recognized.

Stop paying for cloud tools. Start paying for outcomes.

Get Started with CloudKeeper