SAML Using AzureAD with SCIM
Single sign-on (SSO) enables you to authenticate your users using your organization’s identity provider. This document focuses on using AzureAD as SAML IdP for Prophecy and enabling SCIM provisioning for syncing users and groups.
Configure AzureAD
- Log into AzureAD as an administrator and create a new Enterprise Application say
ProphecyAzureADApp
. - In the home page search bar, search for
Enterprise Applications
- Click
New Application
->Create your own application
- Give name for the application say
ProphecyAzureADApp
, choose the radio button which saysIntegrate any other application you don't find in the gallery (Non-gallery)
, and then click onCreate
button. - In Manage section on the left, click
Single sign-on
- Choose
SAML
as the Single sign-on method - Now the form for
Set up Single Sign-On with SAML
will open which will have various sections as mentioned below:- In
Basic SAML Configuration
section, provideIdentifier (Entity ID)
which is a unique ID to identify this application to Azure Active Directory sayprophecyWithSamlEntity
. - In the same section, configure
Reply URL
andSign on URL
with same values:https://your-prophecy-ide-url.domain/api/oauth/samlCallback
. Then click on Save. - In
Attributes & Claims
section, click Edit button and thenAdd new claim
. GiveName
asemail
andSource Attribute
asuser.userprincipalname
, and click Save. - Similarly, add one more claim by clicking on
Add new claim
. GiveName
asname
andSource Attribute
asuser.givenname
, and click Save and go back to the page withSet up Single Sign-On with SAML
form. - From
SAML certificates
section, downloadCertificate (Base64)
file to be used while configuring SSO in Prophecy UI. - From
Set up ProphecyAzureADApp
section, copyLogin URL
andAzure AD Identifier
to be used while configuring SSO in Prophecy UI.
- In
- Before configuring rest of the sections like
Users and groups
andProvisioning
in this Enterprise Application, lets configure SSO in Prophecy UI and get the SCIM token.
Configure Prophecy to connect to Azure AD
- Login to Prophecy IDE as an admin user
- Go to settings and SSO tab which will show
Authentication Provider
asProphecyManaged
- Fill in
Organization ID
andTeam Name
that you want to set for your organization and team respectively. Make sure both these fields are of the regex[a-zA-z0-9]*
and have no spaces or special characters. - Click
Configure
and this will generate a SCIM Token. Make a note of this token which needs to be filled later while Provisioning SCIM in AzureAD. Also, now the Authentication Provider should show asSAML
.
- Click
Save
. - Choose IDP as
Azure Active Directory
from the drop-down. - Fill in
SSO URL
as the Login URL you copied from Azure AD application in step 7 of above section. - Upload the Base64 certificate downloaded from Azure AD application in step 7 of above section.
- Fill in
Entity issuer
asIdentifier (Entity ID)
you chose in Azure AD application in step 7 to identify it to Azure Active Directory. Identifier as per this documentation example will beprophecyWithSamlEntity
. - Fill in
SSO issuer
asAzure AD Identifier
you copied from Azure AD application in step 7 of above section. - Once SCIM Provisioning is enabled for the Prophecy Enterprise app in Azure AD and users/groups are assigned to it, you can logout from Prophecy IDE and the assigned users will be able to login to Prophecy IDE via AzureAD.
Assigning Users/Groups to Prophecy in Azure AD
- Go to
Users and Groups
tab inManage
section of Prophecy Enterprise App in Azure AD - Click
Add user/group
->Users/Groups None Selected
. Search for your users/groups and assign them to Prophecy app.
Note: To be able to assign groups to an Enterprise Application in Azure, make sure your plan should be Azure AD Premium P2
.
Sync Users and Groups from Azure AD using SCIM
This section describes how to configure your Azure AD and Prophecy to provision users and groups to Prophecy using SCIM, or System for Cross-domain Identity Management, an open standard that allows you to automate user provisioning.
About SCIM provisioning in Prophecy
Prophecy provides a SCIM connector that lets you use Azure AD to create/update users and groups/teams in Prophecy, give them the proper level of access, and remove access (de-provision them) when they leave your organization or no longer need access to Prophecy.
The Prophecy Enterprise App in Azure AD must be assigned to users/groups in AzureAD for the SCIM connector to be triggered and create corresponding users in Prophecy.
Note:
- Importing user/groups from AzureAD to Prophecy is supported but not vice-versa i.e. any changes made to a synced user in Prophecy IDE will not be synced back to AzureAD and will get overwritten whenever any update to user is synced from AzureAD.
- Any changes to user/groups in AzureAD are not immediately synced from AzureAD to Prophecy and get reflected in next synchronization cycle. If you want the changes to immediately reflect in Prophecy,
you need to go to
Provisioning
section of Prophecy Enterprise App and clickProvision on Demand
. - Updates to primary email is not supported in Prophecy via SCIM.
- Login via secondary emails registered with AzureAD is not supported in Prophecy.
- De-provisioning of a user from Azure deletes that user from Prophecy and not deactivates it. As a result, a de-provisioned user will lose their personal projects in Prophecy.
Requirements
To provision users/groups to your Prophecy account using SCIM,
- you must be AzureAD admin
- you must be a Prophecy account admin.
Enable SCIM Provisioning for Prophecy Enterprise App in AzureAD
- Go to
Provisioning
tab inManage
section of Prophecy Enterprise App in Azure AD and click onGet Started
. - Choose the
Provisioning Mode
to beAutomatic
from the drop down. - In
Admin Credentials
, provide theTenant URL
ashttps://your-prophecy-ide-url.domain/proscim
andSecret Token
as theSCIM token
copied from Prophecy IDE. - Click
Test Connection
to check the connectivity with Prophecy's SCIM connector. - Click
Save
. - User Provisioning doesn't start automatically. You need to go back to
Provisioning
section of the app and click onStart Provisioning
.