How to Manage Access for Apps That Don’t Support SAML

This is one of those areas where most IAM advice quietly falls apart.

On paper, identity looks clean. You centralize everything in your IdP. Users authenticate through SSO. Access is controlled through groups. Lifecycle is automated.

In practice, a meaningful portion of your environment does not support SAML at all.

These are the apps that sit just outside the clean architecture:

  • Smaller SaaS vendors
  • Internal tools
  • Developer platforms and APIs
  • Legacy systems
  • Tools that only support email/password or OAuth
  • Anything with its own local user store

So when people ask how to manage access for these apps, they are really asking:

How do you control access when your IdP cannot enforce it?

If you look at how experienced IT and security teams answer this, the pattern is consistent. They are not solving it with a single tool. They are layering controls and accepting that access lives in multiple places.

Start with lifecycle control, not SSO

The first move most practitioners make is to shift focus from authentication to lifecycle.

Even if an app does not support SAML, it may support:

  • SCIM provisioning
  • API-based user management
  • Basic admin endpoints

Teams will try to connect these into systems like Okta, Microsoft Entra ID, or Google Workspace, or they will build scripts to handle it.

The goal is simple and pragmatic:

  • Create accounts when someone joins
  • Disable or delete accounts when they leave

This is the baseline that experienced operators insist on.

But they are also very clear about the limitation. Provisioning controls whether an account exists. It does not control what that account can do.

That distinction shows up everywhere.

Accept that access control moves into the application

Once SAML is not available, the center of gravity shifts.

Access is no longer controlled in the IdP. It is controlled inside each individual application.

That means:

  • Roles are defined per app
  • Permissions are assigned locally
  • Admin privileges are granted directly

Teams try to map these roles to job functions, but over time things drift. People change roles. Temporary access becomes permanent. Permissions accumulate.

One of the more candid ways practitioners describe this is: Every non-SAML app becomes its own identity system.

And that creates a predictable set of problems:

  • No consistent role model across apps
  • No central visibility into permissions
  • No easy way to answer “who has access to what”

You are not managing identity once. You are managing it dozens of times.

Use password managers when you have to

For apps that only support username and password, teams often fall back to password managers like 1Password, LastPass, or Bitwarden.

This shows up frequently in real environments, especially for:

  • Shared admin accounts
  • Vendor accounts
  • Tools with limited user licensing

It gives you some control:

  • You can revoke access to the vault
  • You can rotate credentials
  • You can track usage in some cases

But most experienced teams treat this as a compromise.

You lose individual accountability. You lose clean auditability. You lose the ability to model permissions in a meaningful way.

It works. It is just not where you want to end up.

Make offboarding your strongest control point

When access cannot be fully centralized, teams rely heavily on offboarding.

This becomes the moment where you reduce risk.

Practitioners will:

  • Maintain app checklists by team or role
  • Disable accounts manually or via API
  • Rotate shared credentials
  • Remove OAuth connections where possible

This is where discipline matters. If offboarding is weak, gaps accumulate quickly.

But even strong offboarding has a dependency. You have to know what to remove.

And that brings you back to discovery.

Use SaaS management tools as a coordination layer

Some teams bring in SaaS management platforms like BetterCloud or Torii to help organize the chaos.

These tools are useful for:

  • Building an application inventory
  • Assigning ownership
  • Tracking which users exist in which apps

They can support lifecycle workflows and help surface obvious issues like orphaned accounts.

But the feedback from practitioners is consistent.

They help you find and organize access. They do not deeply control it.

They are a coordination layer, not an enforcement layer.

Plan for manual access reviews

Without SAML, access reviews become much more manual.

Teams will export user lists from each app, compare them to HR systems, and ask managers to validate access.

This is time-consuming and often frustrating:

  • Every app has a different format
  • Roles are inconsistent
  • Reviews degrade into checkbox exercises

Still, experienced teams do this regularly because there is no shortcut.

If access lives in the app, it has to be reviewed in the app.

Do not ignore OAuth and delegated access

One of the more advanced answers you will hear, especially from security-focused teams, is to pay attention to OAuth.

Apps that do not support SAML often integrate through Google Workspace or Microsoft 365.

Users grant permissions like:

  • Reading files
  • Sending email
  • Accessing calendars
  • Acting on their behalf

This creates a layer of access that:

  • Does not go through the IdP
  • Is easy to miss in inventories
  • Can persist even after a user leaves

Teams that have dealt with real incidents tend to call this out explicitly as a blind spot.

It is not enough to manage users. You also have to manage what users have delegated.

The pattern across all of this

If you step back, the answers from practitioners all converge on the same reality.

There is no clean, centralized way to manage access for non-SAML apps using traditional IAM approaches.

Instead, teams are combining:

  • Provisioning and deprovisioning
  • Local role management inside apps
  • Password managers for edge cases
  • Offboarding discipline
  • SaaS discovery and inventory tools
  • Periodic manual reviews

Each piece helps. None of them gives a complete answer.

Why this keeps happening

Because access is not actually centralized anymore.

It lives in multiple places at once:

  • In the IdP for SAML-enabled apps
  • Inside each SaaS application for roles and permissions
  • In OAuth grants for delegated access
  • In service accounts, API keys, and automation
  • In shared credentials and workarounds

When an app does not support SAML, access does not disappear.

It just moves somewhere else.

A more useful way to think about it

The question is not really:

How do I manage this app without SAML?

The better question is:

Where does access live for this app, and how do I control it there?

That might mean:

  • Managing roles inside the app
  • Using APIs to enforce lifecycle
  • Monitoring OAuth connections
  • Tracking effective access across systems

Because the goal is not to force everything through SSO.

The goal is to understand what people and systems can actually do, and keep that aligned with intent.

Practical takeaway

If you are dealing with apps that do not support SAML, the experienced approach looks like this:

  • Treat lifecycle automation as the baseline.
  • Accept that permissions will live inside the app.
  • Use password managers carefully, not as a default.
  • Make offboarding tight and repeatable.
  • Pay attention to OAuth and delegated access.
  • Plan for ongoing discovery and review.

And keep one thing in mind.

A user existing in a system is not the same as their access being controlled.