Skip to Content
AdminsSSO & Access Control

SSO & Access Control

Juno provides enterprise-grade authentication and authorization through integration with your identity provider, ensuring secure access while maintaining full control over user permissions.

Single Sign-On (SSO)

Overview

Juno supports major SSO protocols including SAML 2.0, OpenID Connect (OIDC), and Active Directory, ensuring seamless authentication aligned with your security standards.

Benefits

BenefitDescription
Seamless IntegrationUsers sign in with their existing corporate credentials
Enhanced SecurityCentralized authentication reduces password-related security risks
Simplified ManagementIT administrators manage access through your existing identity provider
Audit TrailComplete logging of authentication events for compliance

Setting Up SSO

During implementation, your IT team will work with our team to:

  1. Configure Connection: Set up the SSO connection between Juno and your identity provider
  2. Test Integration: Validate the connection with test users before go-live
  3. Map Attributes: Configure user attribute mapping for seamless profile creation
  4. Domain Verification: Verify your organization’s domains for automatic SSO routing

Your Juno implementation team will provide detailed setup instructions and direct support for your IT team during SSO configuration.

Role-Based Access Control (RBAC)

Overview

Juno uses a combination of role-based and relationship-based access control to ensure users only access data and features appropriate to their role.

Built-in Access Levels

Juno provides three primary access levels out of the box:

Organization Admin

  • Access Method: SSO or code-based authentication
  • Scope: Full organizational administration
  • Use Case: Primary administrators responsible for configuring policies, managing users, and overseeing operations

Coordinator

  • Access Method: SSO or code-based authentication
  • Scope: Coordinator-level operations
  • Use Case: Coordinators responsible for inviting and managing travelers

Guest/Traveler

  • Access Method: Code-based authentication
  • Scope: Travel booking and expense submission
  • Use Case: Non-employee travelers submitting expenses and managing bookings

Custom Roles

Beyond the built-in levels, Juno supports fully customizable role creation with fine-grained permissions:

PermissionDescription
ReportingAccess reporting and analytics
Travel ManagementInvite and coordinate travelers
Trip OversightView all organizational trips
User ManagementAdd/remove users
ConfigurationModify organizational settings
FinancialManage payment accounts
Universal ApprovalOverride approval workflows
User AdministrationComprehensive user management

Creating Custom Roles

Custom roles are configured by a Juno account manager. Contact your account manager to request one.

Import traveler profiles from a CSV

With the User Management permission, you can create users and traveler profiles or update existing traveler details in bulk, before sending invitations or making bookings.

  1. Go to Settings → User Management and click Import travel profiles.
  2. Click Download Template CSV and replace the sample rows with your travelers’ details. Use the template for your current organization and include no more than 5,000 rows.
  3. Upload your CSV. Match each source column to its intended profile field, then click Continue. Unmapped columns are not imported.
  4. Review the uploaded values. Use Needs attention to find errors, edit cells, or remove rows. Fix all errors before submitting; the review does not show previously saved profile values.
  5. Click Import with the displayed traveler count. The import runs in the background. Under Recent imports, expand the new batch to check each row’s Processed or Failed result.

Prepare required and optional fields

Every row requires email, legal_first_name, legal_last_name, date_of_birth, gender, and phone_number, including rows that update an existing traveler. Use YYYY-MM-DD for dates, MALE, FEMALE, or UNSPECIFIED for gender, and an international phone number such as +12125550123. Email identifies the traveler; duplicate emails in one file are rejected even if their capitalization differs.

The standard template includes optional legal middle name, display names, Known Traveler Number (KTN), redress number, seat preference, six airline loyalty slots, two hotel loyalty slots, five rental car loyalty slots (rental_car_loyalty_program_1 and rental_car_loyalty_number_1 through rental_car_loyalty_program_5 and rental_car_loyalty_number_5), and, when passport details are available for your organization, passport number, issuing country, nationality, and expiration date. Supply all four passport fields or leave all four blank. Enter both the program and membership number for each supplied loyalty slot. Unrecognized programs and incomplete pairs must be corrected or cleared in review. Keep identifiers as text in your spreadsheet to preserve leading zeroes. A KTN requires 9–10 letters or digits; a redress number requires exactly 7 digits.

The optional first_name and last_name columns set display names only when creating a new user. They do not rename an existing user, even when the import adds that user to your organization or creates their missing traveler profile. An existing user’s display name remains unchanged even if the row is Processed. The separate legal_first_name and legal_last_name columns update the traveler profile’s legal names when populated; they do not change the user’s display name.

When traveler profiles are turned on for your organization, the template also includes:

DetailsWhat you can supply
Air preferencesPreferred and excluded airline and departure-airport codes
Hotel preferencesPreferred and excluded hotel-chain codes, room type, floor, and smoking preference
Rental car preferencesPreferred and excluded rental-vendor codes
Contact and assistancePreferred contact method and assistance requests
Organization noteadditional_preferences for your current organization

If traveler profiles are turned off, you can still use the standard importer, including loyalty columns and any available passport columns, and view prior imports. Preference, contact, assistance, and organization-note columns in an uploaded file remain unmapped and are not imported through that flow.

Format preferences and passport details

  • Separate list entries with semicolons, such as UA;DL for airlines or JFK;LGA for departure airports. Preferred lists are ranked strongest first. Exclusions are unordered lists of options the traveler does not want; capturing them does not by itself enforce a booking restriction.
  • Use recognized codes rather than free-text supplier names. Do not repeat codes, leave empty entries between semicolons, or include the same code in both preferred and excluded lists. Hotel exclusions refer to chains, not individual properties.
  • Use KING, DOUBLE_QUEEN, or SINGLE_QUEEN for room type; LOW or HIGH for floor; true or false for smoking; and EMAIL, SMS, or PHONE for contact method. Use the supported assistance codes, such as COURTESY_ASSISTANCE, rather than free-text requests. The organization note can contain up to 2,000 characters.
  • For each rental car loyalty slot, enter the program name, such as Enterprise Plus or Hertz Gold+, and its membership number. Vendor codes like ZE are not recognized as program names. Supply both cells of a pair, and don’t repeat a program across slots. The five slots limit memberships per row, not which rental programs you can use. Saving a membership stores it on the traveler profile; it does not apply it to an existing reservation.
  • When passport columns are available, supply all four passport fields together: passport_number, passport_issuing_country_code, passport_nationality_country_code, and passport_expiration_date. Use two-letter country codes, such as US and CA, and an unexpired YYYY-MM-DD date. Nationality is separate from issuing country and is never inferred. Leave all four cells blank to preserve an existing passport. If passport columns aren’t available, remove passport values before importing.

Edit expanded fields in review

Click an expanded cell to open its editor. Choose supported room, floor, smoking, contact, and country values from the dropdowns; use the date control for passport expiration and the multiline editor for organization notes.

For airline, airport, hotel-chain, rental-vendor, and assistance lists, search and select an option to add it. Preferred lists are numbered strongest first: use Earlier and Later to change rank. Use Remove to delete a specific entry. Invalid uploaded values, duplicates, and empty list entries remain visible until you explicitly correct or remove them.

Click Apply to update the review cell, or Cancel to discard that cell’s edits. Clear cell followed by Apply leaves an optional field out of the import; it does not erase a saved value. Review validation runs again after you apply a change.

Understand what an import changes

Populated traveler-profile fields overwrite the corresponding saved values; the display-name columns described above apply only to new users. Legal identity, phone, passport, seat and structured travel preferences, assistance, and loyalty details are shared across the traveler’s authorized organizations. Only Additional preferences for this organization stays specific to your current organization. There is no import undo.

Blank optional cells and omitted optional columns preserve saved values. Clearing an optional cell in review also means “leave the saved value unchanged,” not “delete it.” To remove a saved value, use an authorized profile edit or API update. Each supplied preference list replaces that list; supplied loyalty memberships update the named programs while preserving unmentioned programs.

If import availability or your account context changes while the drawer is open, an unsubmitted draft may reset with a notice to upload again. Submitted imports continue processing and remain in history.

Correct an unsuccessful import

Review validation catches problems such as invalid values, incomplete passports, duplicate emails, and preference conflicts. Processing also checks current reference data and saved preferences, so a row that passes review can still fail later. For example, a newly preferred airline may conflict with an exclusion already saved on the profile.

Expand Recent imports to identify failed rows. Processed covers new profiles, updates, and rows whose saved values were already the same; it does not reveal whether a user existed previously. Other rows can succeed when one fails.

Check the source data and, where you have permission, the current traveler profile before correcting and uploading only the intended failed rows. A fresh upload applies its populated values again; do not resend successful rows just because another row failed. If the outcome is unclear, contact support before re-uploading.

Security Features

Session Management

  • Secure Cookies: Session tokens stored in secure, HTTP-only cookies
  • Session Refresh: Automatic token refresh for a seamless experience
  • Organization Context: Sessions tied to specific organizational contexts
  • Timeout Policies: Configurable session timeout based on organizational policies

Audit and Compliance

  • Authentication Logging: Complete audit trail of all authentication events
  • Permission Changes: Tracked and logged permission modifications
  • Access Attempts: Failed authentication attempts logged for security monitoring
  • Integration Events: SSO connection events monitored and recorded

Changes to user permissions may take up to 5 minutes to propagate throughout the system due to caching optimizations.

Best Practices

Role Design

  1. Principle of Least Privilege: Grant only the minimum permissions required for each role
  2. Regular Review: Periodically audit user permissions and remove unnecessary access
  3. Separation of Duties: Avoid combining conflicting permissions in single roles
  4. Clear Naming: Use descriptive role names that clearly indicate their purpose

User Management

  1. Automated Provisioning: Leverage SSO attribute mapping for automatic user provisioning
  2. Offboarding Process: Before removing or deactivating an approver, transfer their pending approval responsibilities to an eligible, active successor, including pending rail card-limit requests. Approvers can approve requests only while they remain active members of your organization.
  3. Regular Audits: Conduct periodic access reviews to identify and remove stale accounts
  4. Training: Ensure users understand their permissions and appropriate usage

Troubleshooting

Common SSO Issues

  • Connection Failures: Verify domain configuration and certificate validity
  • Attribute Mapping: Check user attribute mapping between identity provider and Juno
  • Permissions Not Loading: Clear browser cache and verify role assignments

For additional support with SSO configuration or access control issues, contact your Juno account manager or implementation specialist.

Last updated on