Configurer la gestion des graphiques

  • Last update on March 14th, 2024

Cet article vous guide pour vérifier et autoriser l'utilisation du module Microsoft Graph, nécessaire à l'utilisation de toutes les actions de gestion personnalisées.

Afficher la liste des autorisations

Pour vérifier si vous avez accordé les autorisations, rendez-vous dans : « Paramètres » > « Mon organisation » > « Gestion des graphiques ».

Initialement, cette section apparaît vide, mais une fois configurée, vous pourrez afficher les détails pertinents. De plus, vous serez informé si certaines autorisations sont requises : comme illustré dans l'image ci-dessous, la case rouge avec le texte «administration_PermissionRequired » indique que certaines autorisations doivent encore être accordées.

Pour plus d'informations sur la manière d'accorder des autorisations et de configurer votre locataire pour le passage à « API Microsoft Graph », suivez le guide ci-dessous.

Lorsque vous cliquez sur « Supprimer », aucune confirmation ne vous sera demandée et le « Secret client » et « ID client » seront définitivement supprimés. Comme il n'est pas possible de le récupérer, vous devrez le recréer.

 

Accorder des autorisations

Étape 1: obtenir un identifiant client et un secret client

Si vous ne disposez pas encore d'un ID client et d'un secret client, vous pouvez en créer un de deux manières principales :

  1. Via le centre d'administration Entra ID (alias Azure Active Directory).
  2. Via le PowerShell avec le script fourni.

Utilisation du centre d'administration Entra ID (alias Azure Active Directory)

Étape 1 : nouvelle inscription

Sélectionnez « Inscriptions d'applications » > « Nouvelle inscription »

 

Étape 2 : nom de l'application

Donnez un nom à votre application (c'est-à-dire CoreView Integration) et cliquez sur « S'inscrire ».

Étape 3 : copier et conserver

Vous avez maintenant enregistré la demande. Veuillez copier et conserver l'ID de l'application. Vous devrez télécharger ces informations sur le portail de CoreView ultérieurement.

Étape 4 : ajouter une autorisation

Depuis l'application enregistrée, cliquez sur « Autorisations API » puis sur « Ajouter une autorisation ».

Étape 5 : sélectionnez le service

Sélectionnez « Microsoft Graph » dans la liste des services.

Étape 6 : sélectionnez les autorisations

Sélectionnez « Autorisations d'application » et ajoutez les autorisations « User.ReadWrite.All », « Directory.ReadWrite.All » et « Group.ReadWrite.All ». Si vous devez effectuer l'action Supprimer l'utilisateur du canal, l'autorisation supplémentaire « ChannelMemberReadWriteAll » est également requise.

Étape 7 : accorder le consentement de l'administrateur

Une fois que vous avez ajouté les autorisations, cochez la case « Accorder le consentement de l'administrateur pour… ».

Étape 8 : créer un nouveau secret

Sélectionnez « Certificats & secrets », puis « Nouveau secret client ».

Étape 9 : ajouter une description et une date d'expiration

Saisissez une description et une date d'expiration pour le secret client, puis sélectionnez « Ajouter ». Nous suggérons une date d'expiration de 18 mois à compter de la date de création du secret afin d'éviter de devoir passer 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 elle sera cryptée dès que vous quitterez la page.

 
 

Utiliser PowerShell

  1. 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
}
  1. Exécutez une commande en tant qu'administrateur
  2. Tapez PowerShell
  3. 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 
  1. Récupérez les données comme ci-dessous en utilisant l'emplacement du dossier où elles ont été copiées :
. "path\RegisterAzureAdApp.ps1"
  1. Appelez la fonction de la manière suivante :
Register-AzureadApp -Name "CoreView Management Integration" -permissions "User.ReadWrite.All", "Directory.ReadWrite.All", "Group.ReadWrite.All"

Si vous devez effectuer l'action Supprimer l'utilisateur du canal, l'autorisation supplémentaire est également requise :

"ChannelMemberReadWriteAll"

Si vous devez gérer l'adhésion à des groupes attribuables à des rôles, l'autorisation supplémentaire est requise :

"RoleManagement.ReadWrite.Directory"
  1. Par défaut, la date d'expiration du Client Secret est d'un an à compter de l'exécution du script. Nous suggérons d'ajouter le paramètre permettant de prolonger la date d'expiration à 18 mois.
ExpiresClientSecret "12/31/2023"
  1. Le script générera l'ID client, le secret client et l'URL que vous devez utiliser pour fournir le consentement sur Azure AD.
  1. Vous pouvez ajouter le paramètre facultatif ci-dessous
-Urlredirect "myurl"

Les URL seront acceptées comme destinations lors du renvoi des réponses d'authentification (jetons) après l'authentification ou la déconnexion réussie des utilisateurs. S'il n'est pas spécifié, il sera défini par défaut sur : https://coreview.com

  1. Copiez et collez l'URL dans un navigateur Web et donnez votre consentement en utilisant un utilisateur disposant des droits d'administrateur globaux.
 
 

Étape 2 : configurer la gestion des graphiques sur CoreView

Il est maintenant temps de copier l'ID d'application, le secret client et la date d'expiration sur le portail de CoreView .

Accédez à la gestion des graphiques

Vous pouvez le faire en cliquant sur « PARAMÈTRES » > « Mon organisation », puis « Gestion des graphiques ».

Ajouter des informations

Une fois que vous aurez enregistré votre configuration, vous aurez la possibilité de mettre à jour le secret client si nécessaire ou de supprimer entièrement la configuration.

L’ID client correspond à l’ID d’application d’Azure Entra ID :

Et le secret client est également extrait d’Azure Entra ID :