Microsoft Graph API connector

This connector is developed for managing cloud services via MS Graph API You can follow this project on Redmine or GitHub

This connector is using Microsoft Graph API for communication. For more information about the API capabilities see https://docs.microsoft.com/en-us/graph/overview?view=graph-rest-1.0

Supported operations for USER (Member, Guest types)

If you creating Guest user only email and displayName can be set to the invitation. For this reason connector will perform update operation right after the invitation is send. This can end as failed operation in IdM, because update could not find the new user. Don't worry, thanks to provisioning queue and retry mechanism IdM will try to repeat the operation after some time and the update will end successfully.

Supported operations for LICENCE

Assigning/removing of licence is done via UUID. If you need to know the UUID of specific licence, see https://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/licensing-service-plan-reference other option is to display licence detail in Azure portal and you will see UUID in the URL bar in the end.

Supported operations for AD GROUP, AZURE ROLE

Assigning/removing of groups/roles is done via UUID. UUID is used as indetifier in conenctor, so you will get this info during synchronization.

Permissions All permission are assigned to the Application(See Configuration section below for more info about App). This permissions are tested, but if you want only to read data from AAD for example, you should be good to go only with read permissions. For complete info about permissions check official API documentation, where each endpoind has section with required permissions.

Configuration If you change some configuration you need to perform Test operation so the new config will load into connector and new grapClient instance is created.

If you want secret with longer expiration then 2 years use this powershell.

$startDate = Get-Date
$endDate = $startDate.AddYears(10)
$Credential = Get-Credential
Connect-AzureAD -Credential $Credential
$aadAppsecret01 = New-AzureADApplicationPasswordCredential -ObjectId "Object ID na overwiew apliakce" -CustomKeyIdentifier "idm-key" -StartDate $startDate -EndDate $endDate
Write-Host $aadAppsecret01

You will see something like this in console. Use the value from field "Value:"

class PasswordCredential {
  CustomKeyIdentifier: System.Byte[]
  EndDate: 06.05.2031 7:38:47
  KeyId:
  StartDate: 06.05.2021 7:38:47
  Value: VALUE OF YOUR SECRET KEY
}

Schema Connector will generate default schema for object class ACCOUNT Currently we are supporting "basic" (String, Integer, Boolean) attributes such as firstname, lastname, … Other supported attributes are password object and licence object

Connector will generate default schema for object class GROUP Currently we are supporting "basic" (String, Integer, Boolean) attributes such as displayName, … Other supported attributes are members, memberOf, owners

Some notes: