Cet article vous guide pour vérifier et autoriser l’utilisation du module Microsoft Graph, nécessaire pour utiliser :
qui utilisent le module Graph PowerShell ou des points de terminaison de l’API Graph.
Afficher la liste des autorisations
Pour vérifier si vous avez accordé les autorisations, accédez à : « Paramètres > Mon organisation > Gestion App. Cette section apparaîtra initialement vide, mais une fois configurée, vous verrez tous les détails pertinents. Si des autorisations sont encore requises, vous en serez informé. Par exemple, une zone rouge intitulée « Permission required » indiquera des autorisations manquantes.
Bannières d’alerte
Les administrateurs du Tenant recevront automatiquement une bannière d’alerte dans l’application si un consentement Gestion App est manquant ou doit être configuré. S’il n’est pas possible d’accorder certaines autorisations, les administrateurs du Tenant peuvent choisir d’activer l’option « Ignore alert » dans les paramètres « Gestion App » afin de supprimer cette bannière d’alerte.


Pour savoir comment accorder des autorisations et configurer votre tenant pour le passage à « Microsoft Graph API », suivez le guide ci-dessous.
Veuillez noter que si vous avez une session de gestion ouverte lors de ces modifications, vous devrez la redémarrer pour que Graph se charge correctement.

Lorsque vous cliquez sur « Delete », il ne vous sera pas demandé de confirmation, et le « Client secret » et le « Client ID » seront définitivement supprimés. Comme il n’est pas possible de les récupérer, vous devrez les recréer.

Accorder des autorisations
Étape 1 : obtenir un Client ID et un Client Secret
Si vous n’avez pas déjà un client ID et un client secret, il existe deux principales façons d’en créer un :
- Via le centre d’administration Entra ID (aka Azure Active Directory).
- Via PowerShell avec le script fourni.
Utiliser le centre d’administration Entra ID (aka Azure Active Directory)
Étape 1 : nouvel enregistrement
Sélectionnez « App registrations » > « New registration »

Étape 2 : nom de l’application
Donnez un nom à votre application (par ex., CoreView Integration) et cliquez sur « Register » .

Étape 3 : copier et enregistrer
Vous avez maintenant enregistré l’application. Veuillez copier et enregistrer l’ID de l’application. Vous devrez charger ces informations dans le portail CoreView ultérieurement.

Étape 4 : ajouter une autorisation
Depuis l’application enregistrée, cliquez sur « API permissions » puis sur « Add a permission ».

Étape 5 : sélectionner le service
Sélectionnez « Microsoft Graph » dans la liste des services.

Étape 6 : sélectionner des autorisations
Sélectionnez « Application permissions » et ajoutez les autorisations suivantes :
User.ReadWrite.All
Directory.ReadWrite.All
Group.ReadWrite.All
- Si vous devez effectuer l’action Remove Channel User, l’autorisation supplémentaire suivante est également requise :
"ChannelMember.ReadWrite.All"
- Si vous devez gérer les méthodes d’authentification des utilisateurs, l’autorisation supplémentaire suivante est requise :
"UserAuthenticationMethod.ReadWrite.All"
- Si votre package inclut la solution Entra Apps Solution et que vous devez gérer des autorisations d’application, l’autorisation supplémentaire suivante est requise :
AppRoleAssignment.ReadWrite.All
- Si vous devez gérer des applications Entra ID, l’autorisation suivante est requise :
Application.ReadWrite.All
- Si vous devez gérer la MFA (activer/désactiver) pour vos utilisateurs, l’autorisation suivante est requise :
Policy.ReadWrite.AuthenticationMethod


Étape 7 : accorder le consentement administrateur
Une fois les autorisations ajoutées, cochez la case « Grant admin consent for… ».

Étape 8 : créer un nouveau secret
Sélectionnez « Certificates & secrets », puis « New client secret ».

Étape 9 : ajouter une description et une date d’expiration
Saisissez une description et une date d’expiration pour le client secret, puis sélectionnez « Add ». Nous suggérons une date d’expiration de 18 mois à compter de la création du secret afin d’éviter d’avoir à repasser trop souvent par la création et la mise à jour du secret.

Étape 10 : ajouter une description et une date d’expiration
Vous avez maintenant créé votre secret. Copiez la valeur du secret immédiatement après sa création, car il sera chiffré dès que vous quitterez la page.

Utiliser PowerShell
- Copiez le code suivant et collez-le dans un fichier nommé « RegisterAzureAdApp.ps1 » :
function Register-AzureADApp{
[CmdletBinding()]
param(
[Parameter(Mandatory, HelpMessage="Display name for this application", Position=0)][string]$Name,
[Parameter(Mandatory,ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, HelpMessage="List of permission.", Position=1)][string[]]$permissions,
[Parameter(HelpMessage="Expires Client Secret in the following format: MM/dd/yyyy", Position=2)][string]$ExpiresClientSecret,
[Parameter(HelpMessage="The URIs we will accept as destinations when returning authentication responses (tokens) after successfully authenticating or signing out users", Position=3)][string]$UrlRedirect
)
$summary = @{}
Connect-AzureAD | Out-Null
if( [string]::IsNullOrWhiteSpace( $ExpiresClientSecret)){
$ExpiresClientSecret = Get-Date -Date (((Get-date).AddYears(1))) -Format "MM/dd/yyyy"
}
$tenantId = (Get-AzureADTenantDetail).objectId
$app = Get-AzureADApplication -Filter "DisplayName eq '$Name'"
if( $null -ne $app){
Write-Warning -Message "App: $Name already exists"
}
try{
$endDate = [datetime]::ParseExact($ExpiresClientSecret, 'MM/dd/yyyy', [CultureInfo]::InvariantCulture)
if( [string]::IsNullOrWhiteSpace( $UrlRedirect)){
$UrlRedirect = "https://www.coreview.com/"
}
#new application
$newApp = New-AzureADApplication -DisplayName $Name -ReplyUrls $UrlRedirect
$summary.Add( "Application (client) ID", $newApp.AppId) > $null
#add owner
$currentUser = (Get-AzureADUser -ObjectId (Get-AzureADCurrentSessionInfo).Account.Id)
Add-AzureADApplicationOwner -ObjectId $newApp.ObjectId -RefObjectId $currentUser.ObjectId
#generate a secret key
$appPassword = New-AzureADApplicationPasswordCredential -ObjectId $newApp.ObjectId -CustomKeyIdentifier "AppAccessKey" -EndDate $endDate
$summary.Add("Secret key value", $appPassword.value) > $null
$summary.Add("Url granting consent", [string]::Format("https://login.microsoftonline.com/{0}/adminconsent?client_id={1}", $tenantId, $newApp.AppId)) > $null
#define API permissions
$graphSP = Get-AzureADServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'"
$graphPermissions = New-Object Microsoft.Open.AzureAD.Model.RequiredResourceAccess
$graphPermissions.ResourceAppId = $graphSP.AppId
$graphPermissions.ResourceAccess = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.ResourceAccess]
foreach( $permission in $permissions){
$checkPermission = $graphSP.AppRoles | Where-Object {$_.Value -eq $permission}
if( $checkPermission){
$resourceAccess = New-Object Microsoft.Open.AzureAD.Model.ResourceAccess
$resourceAccess.Type = "Role"
$resourceAccess.Id = $checkPermission.Id
$graphPermissions.ResourceAccess.Add($resourceAccess) > $null
}
else{
Write-Warning "$permission not found"
}
}
if( $graphPermissions.ResourceAccess.Count -gt 0){
Set-AzureADApplication -ObjectId $newApp.ObjectId -RequiredResourceAccess $graphPermissions
}
}
catch{
Write-Error -Message $_.Exception.Message -ErrorAction Stop
}
finally{
Disconnect-AzureAD
}
$summary | Format-Table -AutoSize | Out-String -Width 1200
}
- Exécutez une commande en tant qu’administrateur
- Tapez PowerShell
- Assurez-vous d’avoir installé le module Azure AD, sinon exécutez ce qui suit :
Install-Module -Name AzureAD -RequiredVersion 2.0.2.137 -Confirm:$false -Scope AllUsers -Force
- Récupérez les données comme ci-dessous en utilisant l’emplacement du dossier où il a été copié :
. "path\RegisterAzureAdApp.ps1"
- Appelez la fonction comme ci-dessous :
Register-AzureadApp -Name "CoreView Management Integration" -permissions "User.ReadWrite.All", "Directory.ReadWrite.All", "Group.ReadWrite.All"
- Si vous devez effectuer l’action Remove Channel User, l’autorisation supplémentaire suivante est également requise :
"ChannelMember.ReadWrite.All"
- Si vous devez gérer les méthodes d’authentification des utilisateurs, l’autorisation supplémentaire suivante est requise :
"UserAuthenticationMethod.ReadWrite.All"
- Si votre package inclut la solution Entra Apps Solution et que vous devez gérer des autorisations d’application, l’autorisation supplémentaire suivante est requise :
AppRoleAssignment.ReadWrite.All
- Si vous devez gérer des applications Entra ID, l’autorisation suivante est requise :
Application.ReadWrite.All
- Si vous devez gérer la MFA (activer/désactiver) pour vos utilisateurs, l’autorisation suivante est requise :
Policy.ReadWrite.AuthenticationMethod
- Par défaut, la date d’expiration du Client Secret est d’un an à compter du moment où le script est exécuté. Nous suggérons d’ajouter le paramètre afin d’étendre la date d’expiration à 18 mois.
ExpiresClientSecret "12/31/2023"
- Le script générera le Client ID, le Client Secret et l’URL que vous devez utiliser pour fournir le consentement sur Azure AD.

- Vous pouvez ajouter le paramètre optionnel ci-dessous
-Urlredirect "myurl"
Les URL seront acceptées comme destinations lors du renvoi des réponses d’authentification (tokens) après l’authentification réussie ou la déconnexion des utilisateurs. Si non spécifié, par défaut il sera défini sur : https://coreview.com
- Copiez et collez l’URL dans un navigateur web et fournissez le consentement à l’aide d’un utilisateur disposant de droits d’administrateur global.
Étape 2 : configurer Gestion App sur CoreView
Il est maintenant temps de copier l’Application ID, le client secret et la date d’expiration dans le portail CoreView.
Accéder à Gestion App
Vous pouvez le faire en cliquant sur « PARAMÈTRES » > « Mon organisation », puis sur « Gestion App ».

Ajouter des informations
Une fois votre configuration enregistrée, vous pourrez mettre à jour le client secret si nécessaire ou supprimer entièrement la configuration.
Le Client ID correspond à l’Application ID depuis Azure Entra ID :

Et le Client Secret est également récupéré depuis Azure Entra ID :

Note importante concernant les autorisations et les rôles
N’oubliez pas que, pour exécuter certaines actions, telles que celles qui affectent les données sensibles des utilisateurs, les autorisations accordées à l’application Graph pourraient ne pas être suffisantes, et il peut être nécessaire d’attribuer également un rôle.
Consultez l’article Granting roles for Graph application pour plus d’informations.