Prerequisites and Permissions
Prerequisites
Azure Management
-
Ensure that a client application has been registered on your Azure Management portal as a web application or web API, and you have access to the Client ID and Client Secret for this application.
-
For cloud management prerequisites and requirements, refer to Group Management for Azure Cloud Objects.
-
To use Graph API, a client application must be registered on the Azure management portal. This application is responsible for calling Web APIs on behalf of the connector. The application's client ID and client secret key are required while configuring the application.
To register an application on Azure, perform the following:
-
Use either of these Azure management portals to do the configuration: https://portal.azure.com Or https://aad.portal.azure.com
-
Select Microsoft Entra ID in the left pane.
-
Select App registrations.
-
Select New registration.
-
On the Register an application page, in the Name field, enter the name of the application that you want to set up. For example, SailPointAzureADManagement.
-
In the Supported account types, set up accounts based on users that are able to use that application or the API.
-
(Optional) Set up the URL in Redirect URL, to have the successful response after authentication. You can use the following format: http://domainName/GraphWebapp
Note
The Microsoft Entra ID SaaS connector does not use the URL mentioned above, the above example is just a placeholder and does not impact functionality.
-
Select Register. An application is created. On the Application page the Application (client) ID, and other details are displayed. Note down this ID.
-
On the left-hand panel, select Certificates & secrets. On the Certificates & secrets page, in the Client secrets section, select New client secret.
-
On the Add a client secret page, enter the Description to generate a secret, choose the validity duration in the Expires list. Select Add. Note down the value of the secret that you have just created.
-
Microsoft Entra
The required host values (https://<host>/) by the Microsoft Entra ID SaaS connector to interact with the managed system are as follows:
-
https://login.microsoftonline.com
Note
If you are using this option, refer to the Azure Government Endpoint Configuration topic for configuration details.
Creating OAuth 2.0 JWT Certificate Credentials
Note
SailPoint recommends JWT certificate credentials for OAuth 2.0 authentication.
Use the following steps to create JWT certificate credentials for OAuth 2.0 authentication. For more information, refer to OAuth 2.0 Authentication.
Registering an Application and Assigning API Permissions
-
Register an application in Azure portal. For more information, refer to register an application in the Microsoft documentation.
Note
The linked document is not maintained by SailPoint and is subject to change without notice.
-
After you register the app, copy the Application (client) ID, and then generate a client secret.
-
Assign API permissions to the application. For the permissions this connector requires, refer to Required Permissions. For more information about assigning permissions, refer to API permissions in the Microsoft documentation.
Note
The linked document is not maintained by SailPoint and is subject to change without notice.
If you have already registered the application and assigned API permissions, continue with Creating and Using the Certificate.
Creating and Using the Certificate
-
Run PowerShell as an administrator on a Windows computer, and then generate a self-signed certificate with the following command:
New-SelfSignedCertificate -DnsName "EntraID" -CertStoreLocation "cert:\LocalMachine\My" -
Go to certlm.msc > Personal > Certificates, right-click the certificate, and select Export. Complete the Certificate Export Wizard and export the certificate in PFX format.
-
Select Include all certificates in the certification path if possible and Enable certificate privacy.
-
Enter a password to protect the private key, and use AES-256-SHA256 encryption. You need this password when you use the PFX file.
-
Save the PFX file to a directory of your choice. Download OpenSSL, or use Git Bash.
Note
The linked document is not maintained by SailPoint and is subject to change without notice.
Copy the PFX file into the directory where the command prompt or terminal is open as an administrator. Run the following commands one at a time, and press Enter after each command. The file names are examples. You can use other file names if you use the same names in each command.
-
openssl pkcs12 -in test1.pfx -nocerts -out sp.key -
openssl pkcs12 -in test1.pfx -clcerts -nokeys -out sp.crt -
openssl rsa -in sp.key -out rsasp.key
-
-
Upload the
sp.crtfile to the Microsoft Entra app registration:- Sign in to the Azure portal.
- In App registrations, select the client application.
- Select Certificates & secrets.
- Select Upload certificate, select the certificate file, and then select Add.
-
On the Connection Settings page, enter the text of
rsasp.keyin Private Key and the text ofsp.crtin Certificate. For more information, refer to Connection Settings.Private Key Password is the passphrase you entered when you created
sp.key.
Required Permissions
Note
This list of permissions includes the most commonly used features from the connector, however there may be custom permissions and roles required for certain specific features. Ensure to read the details for each feature in the Supported Features section.
If you don’t want to provide granular permissions on each API, provide the following permissions on the entire directory to the client application created in Azure, which will enable the connector to perform read and write operations on users and groups (excluding deleting users and groups) :
- Directory.Read.All (Read Directory Data)
- Directory.ReadWrite.All (Read and Write Directory Data)
Important
To grant read-only access, assign the built-in Reader role to the service principal or the application you created at the tenant root group level.
Assigning the Built-in Reader Role to the Application
To grant the built-in reader role to the application, follow these steps in the Microsoft Entra ID portal:
- Go to Management groups.
- Select the Tenant Root Group and open its Access control (IAM) settings.
- Select Add, then choose Add role assignment from the dropdown menu.
- Select the Reader(built-in) role from the list.
- Go to the Members tab and select Select members.
- Search for the application you created earlier and select it.
- Select the Review and assign to finalize the role assignment.
Assigning Necessary Permissions to the Client Application
To grant the necessary permissions to the client application, follow these steps:
- In the Microsoft Entra console, go to API permissions and select Add a permission.
- On the Request API permissions page, select Microsoft Graph API from the list of APIs.
- For the permission type, select Application permissions.
- Under Select permissions, choose the permissions listed in the table below, and then select Add permissions.
- Go to the Grant consent section and select Grant admin consent for your directory.
- When the confirmation dialog appears, select Yes.
Granular Level Application Permission
- To perform Set Password and Delete user operations, an application created on Azure must have the User Administrator role.
- To manage users with administrative roles or users who are members/owners of role-assignable groups, an application created on Azure must have the User Administrator or Global Administrator role and the Privileged Authentication Administrator role.
- Use the Azure portal to assign the previously mentioned administrative roles. For more information, refer to Assign Microsoft Entra Roles to Users.
Additional API Permissions for CIEM
The following API permissions are necessary for SailPoint CIEM to include potential Azure cloud resource access derived from eligible membership in PIM groups:
- PrivilegedAccess.Read.AzureADGroup
- PrivilegedAssignmentSchedule.Read.AzureADGroup
- PrivilegedEligibilitySchedule.Read.AzureADGroup
The following table lists the required permission types and their purposes:
| Permission | Type | Purpose |
| User.Invite.All | Application | Creating / Inviting B2B User |
| User.Read.All | Account Aggregation, Account Delta, Get Object, Roles and Groups Membership Aggregation | |
| User.ReadWrite.All | Create User, Update User Properties (Non Entitlement), Add / Remove License Pack and Plan, Enable/ Disable User Account, Delete User | |
| Organization.Read.All | Aggregate License Pack and Plan Details of tenant | |
| RoleManagement.ReadWrite.Directory | Add / Remove Directory Roles | |
| User.Read | Pass-through Authentication | |
| Group.Read.All | Group Aggregation | |
| Group.ReadWrite.All | Create Group, Update Group, Delete Group | |
| Application.Read.All | Aggregation of Application Roles | |
| AppRoleAssignment.ReadWrite.All | Add / Remove users from Service Principal | |
| DelegatedPermissionGrant.Read.All | Aggregation of Admin/User Consented Permissions for Service Principals | |
| RoleManagement.ReadWrite.Directory | Role provisioning (if defined as Entitlement object) | |
| RoleManagement.Read.Directory | Role Aggregation (if defined as Entitlement object) |
The following permission applies to SAML Bearer Assertion, Refresh Token / AuthCode, and JWT Certificate Credentials grant types:
| Permission | Type | Purpose |
|---|---|---|
| Directory.AccessAsUser.All | Delegated | Change Password, Delete User |
The following permissions apply to Access Packages management:
| Permission | Type | Purpose |
|---|---|---|
| EntitlementManagement.ReadWrite.All | Application | Add / Remove Access Packages |
| EntitlementManagement.Read.All | Application | Access Package Aggregation |
The following permissions apply to User management:
| Permission | Type | Purpose |
|---|---|---|
| User.EnableDisableAccount.All | Application | Delete User |
| User-PasswordProfile.ReadWrite.All | Application | Set Password |
Additional Permissions for SailPoint Non-Human Identity (NHI) Discovery
The following permissions are required when you enable SailPoint NHI Discovery features on the Microsoft Entra ID SaaS connector. Grant only the permissions that correspond to the features you plan to use. For supported features, refer to Supported Features.
The following table lists additional Microsoft Graph application permissions:
| Applicable For | Permission | Type | Purpose |
| Azure cloud and NHI analysis | AuditLog.Read.All | Application | Access Microsoft Entra ID audit logs for activity tracking and correlation between secrets and related identity activity. |
| Azure cloud and NHI analysis | Device.Read.All | Azure cloud and NHI analysis. | |
| Microsoft Teams secret scanning | Channel.ReadBasic.All | Enumerate channels and basic channel metadata. | |
| Microsoft Teams secret scanning | ChannelMember.Read.All | Read channel membership for access correlation. | |
| Microsoft Teams secret scanning | ChannelMessage.Read.All | Read channel messages for secrets scanning. | |
| Microsoft Teams secret scanning | ChannelSettings.Read.All | Read channel settings and moderation configuration. | |
| Microsoft Teams secret scanning | Chat.Read.All | Read chat messages and metadata for secrets scanning. | |
| Microsoft Teams secret scanning | TeamsActivity.Read.All | Read Teams activity metadata for discovery and correlation. | |
| Microsoft Teams secret scanning | TeamsAppInstallation.ReadForChat.All | Read app installations in chats. | |
| Microsoft Teams secret scanning | TeamsAppInstallation.ReadForTeam.All | Read app installations in teams. | |
| Microsoft Teams secret scanning | TeamsAppInstallation.ReadForUser.All | Read app installations for users. | |
| Microsoft Teams secret scanning | TeamsTab.Read.All | Read installed Teams tabs and related configuration. | |
| Microsoft Teams secret scanning | TeamSettings.Read.All | Read team settings and configuration metadata. | |
| Microsoft Teams messaging | TeamsAppInstallation.ReadWriteForTeam.All | Install and manage a Teams app in teams to deliver risk notifications. | |
| Microsoft Teams messaging | TeamsAppInstallation.ReadWriteForUser.All | Install and manage a Teams app for users who receive risk notifications. | |
| Microsoft Teams messaging | TeamsAppInstallation.ReadWriteSelfForUser.All | Allow the Teams app to manage its own user-level installation state. | |
| SharePoint and OneDrive secret scanning | Files.Read.All | Read file metadata and document structure across SharePoint and OneDrive. | |
| SharePoint and OneDrive secret scanning | Sites.Read.All | Read SharePoint site collections and site metadata. | |
| Copilot and AI agent discovery | AiEnterpriseInteraction.Read.All | Read Microsoft Copilot enterprise AI interaction metadata. | |
| Copilot and AI agent discovery | Reports.Read.All | Access usage and activity reports for discovery and analysis. | |
| Copilot and AI agent discovery | ExternalConnection.Read.All | Read external connection metadata used by Copilot. | |
| Copilot and AI agent discovery | AppCatalog.Read.All | Enumerate app catalog entries and related application metadata. | |
| Microsoft Defender - WindowsDefenderATP API, not Microsoft Graph | Machine.Read.All | Read device inventory and related machine metadata. | |
| Microsoft Defender - WindowsDefenderATP API, not Microsoft Graph | ThreatHunting.Read.All | Query advanced hunting data for AI agent discovery visibility. |
Using the Microsoft Teams Permissions with SailPoint Entro
If you use the same Microsoft Entra app registration with SailPoint Entro for Microsoft Teams message scanning, grant admin consent for the Microsoft Teams secret scanning application permissions listed in the preceding table. These permissions are optional for the Microsoft Entra connector on its own, and are required only when Entro scans Teams content with the shared app registration. For Entro setup, refer to Microsoft Teams Onboarding and Microsoft Teams Permissions Reference.
Documentation Feedback
Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.