Github SCIM Provisioning allows to create account in a simplified way and link Github users' account to their existing or new apps. Github Provisioning automates user provisioning with their identities.
Provisioning saves time when setting up new users and teams, and also manages access privileges through the user lifecycle. miniOrange can create, read, and update user accounts for new or existing users, remove accounts for deactivated users, and synchronize attributes across multiple user stores.
Github SCIM User provisioning and deprovisioning actions are bi-directional, so you can create accounts inside an external application and import them into miniOrange, or alternatively create the accounts in miniOrange and then push them out to any linked external applications.
Github SCIM Deprovisioning means deleting a user and removing their access from multiple applications and network systems at once. Deprovisioning action is triggered when an employee leaves a company or changes roles within the organization. The deprovisioning features increase your organization's security profile by removing access to sensitive applications and content from people who leave your organization.
Provisioning & Deprovisioning Scenarios
miniOrange provides Provisioning solutions for all scenarios of user management (provisioning), which includes AD Integration, LDAP Integration and automated provisioning for all External Applications such as Github, Google Workspace, Workday, etc
Follow the step-by-step guide given below to setup GitHub Provisioning
1. Configure Provisioning in Github
Sign into GitHub.com as the setup user for your new enterprise with the username @SHORT-CODE_admin.
In the upper-right corner of any page, click your profile photo, then click Settings.
In the left sidebar, click > Developer settings.
In the left sidebar, click Personal access tokens.
Click Generate new token.
Under Note, give your token a descriptive name.
Select the Expiration drop-down menu, then click No expiration.
Select the admin:enterprise scope.
Click Generate token.
To copy the token to your clipboard, click the
.
To save the token for use later, store the new token securely in a password manager.
2. Configure SCIM for Github in miniOrange
If you are using any external IDP and just want to enable provisioning through us:
Go to Apps >> Provisioning >> Create a SCIM 2.0 App for Github.
If you want to enable SAML authentication + SCIM both:
Go to Apps >> SAML >> Github.
In the Provisioning section, enter the SCIM Base URL and Bearer Token that you copied from the above step.
In Enable Provisioning Features, you can enable any feature below.
Click on Save button.
4. Create Group
Go to Groups > Create Group. Enter the Group Name and click on Create Group button and the group will be created.(We have created a group named 'group' for the purpose of demonstration)
5. Add Policy
In the Policies section, navigate to Add Policy tab.
In Select Application section, select the application you have created in step2.
In Configure Settings section, select the group you have created in step4 and enter the policy name with the required login method.
Click on Save button.
6. Add Users
Go to Users > Add User.
Enter the Users Details and the user will be created.
7. Assign Users
Go to Groups.
Assign the users to the Group you have created in step4.
8. Update Users
To update user profile, Go to Users >> User List.
Select a particular user and in Actions dropdown select Edit.
Fill out user updated information and click on Save button.
9. Delete Users
To delete user, Go to Users >> User List.
Select a particular user and in Actions dropdown select Delete.
A pop up will appear in which click on Yes button.
View Provisioning Reports
How to access Provisioning Reports?
Navigate to the Reports in the left-hand navigation pane and select Provisioning Report.
Filter the reports by specifying Enduser Identifier and Application Name criteria. Additionally, choose the desired timespan for the reports. Once done, click on the Search.
Alternatively, you can directly click on Search to retrieve all provisioning reports based on time without applying any specific filters.