Skip to content

[TEC-650] SCIM docs (hold) - #2816

Open
abhijna wants to merge 11 commits into
mainfrom
abhijna/tec-650-scim-beta-docs
Open

[TEC-650] SCIM docs (hold)#2816
abhijna wants to merge 11 commits into
mainfrom
abhijna/tec-650-scim-beta-docs

Conversation

@abhijna

@abhijna abhijna commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Preview

  • A subject matter expert reviews the content
  • This change has no security implications or else you have pinged the security team

@abhijna abhijna self-assigned this Aug 25, 2026
@mintlify

mintlify Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
semgrep-docs 🟢 Ready View Preview Aug 25, 2026, 11:29 PM

Comment thread docs/deployment/scim.mdx Outdated
- **Deployment role assignment**: Map IdP groups to Semgrep roles such as **Admin**, **Member**, or **Read-only**.
- **Team creation from IdP groups** (optional): When [Teams (beta)](/deployment/teams/overview) is enabled, IdP groups that follow Semgrep's `[team]` naming convention can create Semgrep teams for project-scoped access.

Members provisioned through SCIM are matched and managed by email address. Users who predated the directory connection are matched to existing Semgrep accounts when they use the same SSO connection.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should call out that the existing Semgrep users will need to be assigned to the directory.

"Users who predated the directory connection will be matched to their existing Semgrep accounts by email when assigned to the directory"

Comment thread docs/deployment/scim.mdx Outdated

- **User provisioning**: Create Semgrep members when users are assigned to the Semgrep application in your IdP.
- **Profile updates**: Update member profile attributes when they change in your IdP.
- **Deprovisioning**: Remove Semgrep access when users are unassigned or deactivated in your IdP.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: When a user is removed from a directory it removes access from a single Semgrep deployment, not the other deployments they could've been members of under the same organization / auth provider.

Comment thread docs/deployment/scim.mdx Outdated
With SCIM enabled, Semgrep supports:

- **User provisioning**: Create Semgrep members when users are assigned to the Semgrep application in your IdP.
- **Profile updates**: Update member profile attributes when they change in your IdP.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove Profile updates - we don't currently process any profile changes on directory user events.

Comment thread docs/deployment/scim.mdx Outdated

Before you set up SCIM, confirm you have the following:

- A Semgrep plan that includes SSO. Contact your Semgrep account team if you are unsure whether your plan includes SSO.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andy-r2c can/should we explain that the SSO connection must be migrated?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it happens to such a small subset of users that it's probably okay to leave out.

Maybe we can say something like "For some users setting up for the first time, you might encounter an error saying “Requires migrated SSO connection”" —  we don’t expect that occur frequently, but if it does for you, please reach out to Support"

- SCIM events aren't always instantaneous. Changes can take up to a minute or longer to propagate to Semgrep.
- Adding an unprovisioned user to a push group does nothing and doesn't trigger JIT provisioning.
- Okta push groups don't map to Semgrep sub-teams. Don't create an Okta group whose name matches an existing sub-team in Semgrep.
- If you add an **Admin** to a team push group, they appear in the group in Okta but not in the team in Semgrep. This is expected.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe update to
"Deployment Admins already have implicit access to all teams, so they can't be explicitly added to a Semgrep team. Assigning a Deployment Admin to a directory group that maps to a team is not a recommended use case — the user will appear in the directory group but won't be added to the Semgrep team."
since it's not really expected it's more a consequence of an unsupported use case.

- Demoting an admin who was added to an Okta group to **Member** or **Read-only** can cause drift. Remove them from the group in Okta and re-add them after their role has changed.
- Mapping an Okta group to the default team and operating on that group has no effect in Semgrep.
- If a push group spans multiple organizations, membership and team changes apply across all of them.
- Don't share a SAML/SCIM app across multiple Semgrep deployments.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Don't share a SAML/SCIM app across multiple Semgrep deployments.
- Each SCIM application is designed to manage a single Semgrep deployment. If you want to build your SCIM integration into an existing SAML application, it's not recommended to do so if that SAML app is used as the SSO connection for multiple deployments. Instead, create a separate SCIM app for each deployment.

this may be too wordy but some customers got confused thinking this meant SCIM was not designed to work when auth is shared between multiple deployments

Comment thread docs/deployment/scim.mdx
Comment thread docs/deployment/scim.mdx Outdated
Comment thread docs/deployment/scim.mdx Outdated

While this feature is in beta, the following limitations apply:

- Only Okta and Microsoft Entra ID workflows are supported.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we clarify this and say that Okta and Entra are the only ones we've tested and documented (like above), other IdPs could work but are not explicitly documented here.

Comment thread docs/deployment/scim.mdx Outdated
@abhijna abhijna changed the title [TEC-650] SCIM docs [TEC-650] SCIM docs [HOLD] Sep 2, 2026
Comment thread docs/deployment/scim.mdx
- **User provisioning**: Create Semgrep members when users are assigned to the Semgrep application in your IdP.
- **Deprovisioning**: Remove access to the Semgrep deployment when users are unassigned or deactivated in your IdP. Deprovisioning applies to the deployment connected to that directory, not to other deployments the user may belong to under the same organization or auth provider.
- **Deployment role assignment**: Map IdP groups to Semgrep roles such as **Admin**, **Member**, or **Read-only**.
- **Team creation from IdP groups** (optional): When [Teams (beta)](/deployment/teams/overview) is enabled, IdP groups that follow Semgrep's `[team]` naming convention can create Semgrep teams for project-scoped access.

@isabellejb isabellejb Sep 4, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andy-r2c Do we want a bigger warning here on using push groups for SCIM teams based off the recent feedback we've got? This does already call out the naming convention.

We could also add: If you decide to use Teams (beta), your IdP directory groups must map to two distinct concepts in Semgrep: deployment role groups and Semgrep teams, each with their own role groups. This is why the naming convention is required, to differentiate between them.

We could add this warning to the "Manage teams" sections of the entra and okta pages instead.

Comment thread docs/deployment/scim.mdx
- [Admin privileges](/deployment/teams/overview#roles-and-access) for your Semgrep deployment.
- Permission in your identity provider to manage the Semgrep application. See [SCIM provisioning with Okta](/kb/semgrep-appsec-platform/scim-okta#prerequisites) or [SCIM provisioning with Microsoft Entra ID](/kb/semgrep-appsec-platform/scim-microsoft-entra-id#prerequisites) for provider-specific requirements.
- Optional: Enable [Teams (beta)](/deployment/teams/overview) only if you want SCIM to create and manage Semgrep teams from IdP groups. Teams isn't required for user provisioning or deployment-level role mapping.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add that SCIM is not available to single-tenant customers?
@andy-r2c is "single-tenant" that right customer-facing terminology?

Comment thread docs/deployment/scim.mdx
## Limitations

While this feature is in beta, the following limitations apply:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another callout on push groups for teams (for both okta and entra)

"Make sure the group intended to trigger team creation includes the naming convention [team:<role>] Otherwise, it will be treated only as a group for deployment-role mapping. Team creation won’t be triggered by renaming a group already assigned to match the naming convention. To trigger team creation, create new groups with the correct naming convention from the start, then assign those to the application."

Comment thread docs/deployment/scim.mdx
Members provisioned through SCIM are matched and managed by email address. Users who predated the directory connection are matched to their existing Semgrep accounts by email when assigned to the directory.

## How SCIM works with SSO

@isabellejb isabellejb Sep 4, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think a note on users need to be also be assigned to the SSO app here would be helpful here too? Or maybe in the SCIM and Okta Manage users section? It's already called out later on https://github.com/semgrep/semgrep-docs/pull/2816/changes#diff-99259a80e487374b02476c621dbd0d686063c6f45f1ed169c10211e53945f9f8R254
@andy-r2c

Comment thread docs/deployment/scim.mdx
@abhijna abhijna changed the title [TEC-650] SCIM docs [HOLD] [TEC-650] SCIM docs Sep 8, 2026
@abhijna abhijna changed the title [TEC-650] SCIM docs [TEC-650] SCIM docs (hold) Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants