-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Scim Interface and resource in OM #21512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates SCIM provisioning into OpenMetadata by adding new configuration settings, API schemas, and resource endpoints while extending existing entity schemas to support SCIM-related attributes.
- Adds a new SCIM configuration schema and integrates it into the settings JSON.
- Extends user and team JSON schemas with an externalId field for identity provider integration.
- Introduces new SCIM API schemas, endpoints, and a default provisioning service with unimplemented stub functions.
Reviewed Changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
openmetadata-spec/src/main/resources/json/schema/settings/settings.json | Added "scimConfiguration" to the settings array. |
openmetadata-spec/src/main/resources/json/schema/scim/scimConfiguration.json | New schema for SCIM configuration. |
openmetadata-spec/src/main/resources/json/schema/entity/teams/user.json | Added externalId field to user schema. |
openmetadata-spec/src/main/resources/json/schema/entity/teams/team.json | Added externalId field to team schema. |
openmetadata-spec/src/main/resources/json/schema/api/teams/createUser.json | Extended schema to include externalId for users. |
openmetadata-spec/src/main/resources/json/schema/api/teams/createTeam.json | Extended schema to include externalId for teams. |
openmetadata-spec/src/main/resources/json/schema/api/scim/scimUser.json | New SCIM User schema. |
openmetadata-spec/src/main/resources/json/schema/api/scim/scimPatchOp.json | New SCIM PatchOp schema. |
openmetadata-spec/src/main/resources/json/schema/api/scim/scimGroup.json | New SCIM Group schema. |
openmetadata-service/src/main/java/org/openmetadata/service/security/SecurityUtil.java | Integrated SCIM configuration check in user name extraction and added isBotW helper. |
openmetadata-service/src/main/java/org/openmetadata/service/scim/impl/DefaultScimProvisioningService.java | Introduced a default SCIM provisioning service returning not-implemented responses. |
openmetadata-service/src/main/java/org/openmetadata/service/scim/ScimProvisioningService.java | New interface for SCIM provisioning. |
openmetadata-service/src/main/java/org/openmetadata/service/resources/scim/ScimResource.java | Added new SCIM endpoints supporting user and group provisioning. |
Other integration files (SettingsCache, SystemRepository, CollectionDAO, OpenMetadataApplicationConfig, OpenMetadataApplication) | Updated to include SCIM configuration and register the new SCIM resource. |
Comments suppressed due to low confidence (1)
openmetadata-spec/src/main/resources/json/schema/api/scim/scimPatchOp.json:16
- The property name 'Operations' is capitalized while other SCIM schema properties use lower-case. Consider renaming it to 'operations' for consistency.
"Operations": {
|
|
Scim Resource Test @aji-aju will handle in a different PR |
Describe your changes:
Fixes
I worked on ... because ...
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>