Azure Active Directory - Target - Permissions
[!IMPORTANT]
This repository contains the connector and configuration code only. The implementer is responsible to acquire the connection details such as username, password, certificate, etc. You might even need to sign a contract or agreement with the supplier before implementing this connector. Please contact the client’s application manager to coordinate the connector requirements.
User.ReadWrite.All
: Read and write all user’s full profiles.Group.ReadWrite.All
: Read and write all groups in an organization’s directory.GroupMember.ReadWrite.All
: Read and write all group memberships.UserAuthenticationMethod.ReadWrite.All
: Read and write all users’ authentication methods.User.Invite.All
: Invite guest users to the organization.User-Phone.ReadWrite.All
: Read and write all user mobile phone and business phones.userType
as ‘Guest’ in the mapping, Guest accounts with login names under the tenant domain can be created effortlessly.guestInvite
folder. The orginal config and other event scripts can be used from the original connector.GuestInvited
account.email
and phone
authentication methods are supported.grantPermissions.ps1
according to the HelloID person model.OnlySetWhenEmpty
and RemoveWhenRevokingEntitlement
settings in permissions.ps1
if needed.$false
.$null
. If the value in the HelloID person model is $null
, it is also filtered out. If this behavior is not desired, change the mapping to complex and ensure you return a string with a space
or empty
when the value is $null
. This way, the value is correctly handled by the script.
function getCompanyName() {
let companyName = Person.PrimaryContract.Employer.Name;
if (companyName === null) {
companyName = " ";
}
return companyName;
}
getCompanyName();
**
This connector is designed exclusively for Entra ID and does not integrate with Exchange Online. As a result, it has the following limitations compared to the built-in Azure AD connector:
[!NOTE]
If theuserPrincipalName
fields are different, theuserPrincipalName
will be added as an alias.
HelloID-Conn-Prov-Target-Microsoft-Entra-ID is a target connector. Microsoft provides a set of REST API’s that allow you to programmatically interact with its data. The Microsoft Entra ID connector uses the API endpoints listed in the table below.
The following lifecycle actions are available:
Action | Description |
---|---|
create.ps1 | Create or correlate to an account. Separate create.ps1 available for GuestInvites |
delete.ps1 | Delete an account |
disable.ps1 | Disable an account |
enable.ps1 | Enable an account |
update.ps1 | Update an account |
uniquenessCheck.json | Default uniquenessCheck.json |
groups - permissions.ps1 | List groups as permissions |
groups - grantPermission.ps1 | Grant groupmembership to an account |
groups - revokePermission.ps1 | Revoke groupmembership from an account |
groups - resources.ps1 | Create groups from resources |
groups - subPermissions.ps1 | Grant/Revoke groupmembership from an account |
emailAuthenticationMethods - permissions.ps1 | List emailAuthenticationMethods as permissions |
emailAuthenticationMethods - grantPermission.ps1 | Grant emailAuthenticationMethod to an account |
emailAuthenticationMethods - revokePermission.ps1 | Revoke emailAuthenticationMethod from an account |
emailAuthenticationMethods - configuration.json | Additional configuration.json with settings specifically for emailAuthenticationMethods |
phoneAuthenticationMethods - permissions.ps1 | List phoneAuthenticationMethods as permissions |
phoneAuthenticationMethods - grantPermission.ps1 | Grant phoneAuthenticationMethod to an account |
phoneAuthenticationMethods - revokePermission.ps1 | Revoke phoneAuthenticationMethod from an account |
phoneAuthenticationMethods - configuration.json | Additional configuration.json with settings specifically for phoneAuthenticationMethods |
configuration.json | Default configuration.json |
fieldMapping.json | fieldMapping.json for when using the the full account lifecycle |
fieldMapping.correlateOnly.json | fieldMapping.json for when only using the correlation and not the full account lifecycle |
fieldMapping.guestInvite.json | fieldMapping.json for when using the guestInvite functionality |
By using this connector you will have the ability to seamlessly create and user accounts and groups in Microsoft Entra ID. Additionally, you can set the MFA phone or email settings.
Connecting to Microsoft the Microsoft Graph API is straightforward. Simply utilize the API Key and API Secret pair.
For further details, refer to the following pages in the Microsoft Docs:
The correlation configuration is used to specify which properties will be used to match an existing account within Microsoft Entra ID to a person in HelloID.
To properly setup the correlation:
Open the Correlation
tab.
Specify the following configuration:
| Setting | Value |
| ————————————- | —————— |
| Enable correlation | True
|
| Person correlation field | ExternalId
|
| Account correlation field | employeeId
|
[!IMPORTANT]
The account correlation field is added to the create action. If you use a different value thenemployeeId
, please make sure this is support by the graph api[!TIP] > For more information on correlation, please refer to our correlation documentation pages.
The field mapping can be imported by using the fieldMapping.json file.
The following settings are required to connect to the API.
Setting | Description | Mandatory |
---|---|---|
App Registration Directory (tenant) ID | The ID to the Tenant in Microsoft Entra ID | Yes |
App Registration Application (client) ID | The ID to the App Registration in Microsoft Entra ID | Yes |
App Registration Client Secret | The Client Secret to the App Registration in Microsoft Entra ID | Yes |
Delete the account when revoking the entitlement | When toggled, this delete accounts when revoking the account entitlement. | No |
Set primary manager when an account is created | When toggled, this connector will calculate and set the manager upon creating an account. | No |
Update manager when the account updated operation is performed | When toggled, this connector will calculate and set the manager upon updating an account. | No |
IsDebug | When toggled, extra logging is shown. Note that this is only meant for debugging, please switch this off when in production. | No |
The first step to connect to the Graph API and make requests is to register a new Microsoft Entra ID Application. This application will be used to connect to the API and manage permissions.
Follow these steps:
Navigate to App Registrations:
Register the Application:
Web
and enter a redirect URI (e.g., http://localhost
).Complete the Registration:
For more detailed instructions, please see the official Microsoft documentation: Quickstart: Register an app in the Microsoft identity platform.
Next, configure the necessary API permissions for your Microsoft Entra ID application. For this connector, we use the Microsoft Graph API.
Follow these steps:
User.ReadWrite.All
: Read and write all user’s full profiles.Group.ReadWrite.All
: Read and write all groups in an organization’s directory.GroupMember.ReadWrite.All
: Read and write all group memberships.UserAuthenticationMethod.ReadWrite.All
: Read and write all users’ authentication methods.User.Invite.All
: Invite guest users to the organization.For more detailed instructions, please see the official Microsoft documentation: Quickstart: Configure a client application to access a web API.
To authenticate to the Graph API using the Authorization Code grant type, you need to obtain the necessary credentials. We recommend using the Client secret.
Follow these steps:
Get the Tenant ID:
Get the Client ID:
Create a Client Secret:
For more detailed instructions, please see the official Microsoft documentation: Add credentials.
[!TIP] > For more information on how to configure a HelloID PowerShell connector, please refer to our documentation pages.
[!TIP] > If you need help, feel free to ask questions on our forum.
The official HelloID documentation can be found at: https://docs.helloid.com/