Netwrix 1Secure offre une visibilité unifiée sur les données et l’identité - gratuit pendant 14 jours avec un accès complet.Commencez un essai gratuit

Centre de ressourcesGuide pratique
Comment générer un rapport des autorisations OU d’Active Directory

Comment générer un rapport des autorisations OU d’Active Directory

Pour établir un rapport sur les autorisations accordées à une unité organisationnelle (OU) Active Directory, vous avez besoin de la liste de contrôle d'accès de l'OU, l'enregistrement qu'AD conserve sur les comptes qui détiennent quels droits. Ci-dessous, vous trouverez comment cette liste de contrôle d'accès est structurée, un script PowerShell qui la récupère gratuitement, comment lire ce qui est renvoyé, et comment générer le même rapport sans scripts en utilisant Netwrix Auditor.

Découvrez qui accède à quoi, quand et pourquoi avec Netwrix Auditor.

Comment fonctionnent les permissions OU dans Active Directory ?

Chaque objet dans Active Directory, y compris chaque OU, possède une liste de contrôle d'accès (ACL) : un ensemble d'entrées de contrôle d'accès (ACE) indiquant quels comptes ou groupes peuvent faire quoi sur cet objet. Les autorisations sur une OU proviennent de trois sources :

  • Explicite, accordé directement sur l’OU elle-même.
  • Par l'appartenance à un groupe, où un compte obtient des droits parce qu'il appartient à un groupe auquel l'accès a été accordé.
  • Inherited, descendant d’un conteneur parent, car les autorisations AD se propagent depuis la racine du domaine à travers chaque OU parente, sauf si l’héritage est explicitement bloqué.

C’est pourquoi un rapport utile sur les permissions doit montrer plus que qui a accès. Il doit aussi montrer comment ils l’ont obtenu, car une attribution directe comporte un risque différent du même accès hérité d’un conteneur parent ou obtenu via un groupe.

Générez le rapport avec PowerShell (Get-Acl)

  1. Ouvrez Powershell ISE → Créez un nouveau script avec le code ci-dessous, définissez le Nom d’utilisateur et le chemin d’exportation, puis exécutez-le :
      $schemaIDGUID = @{}
#ignore duplicate errors if any#
$ErrorActionPreference = 'SilentlyContinue'
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -Properties
name, schemaIDGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}
Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter
'(objectClass=controlAccessRight)' -Properties name, rightsGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.rightsGUID,$_.name)}
$ErrorActionPreference = 'Continue'
# Get OU.
$OUs = Get-ADOrganizationalUnit -Filter 'Name -like "Production"'| Select-Object -ExpandProperty
DistinguishedName
# retrieve OU permissions.
# Add report columns to contain the OU path and string names of the ObjectTypes.
ForEach ($OU in $OUs) {
$report += Get-Acl -Path "AD:\$OU" |
Select-Object -ExpandProperty Access |
Select-Object @{name='organizationalUnit';expression={$OU}}, `
@{name='objectTypeName';expression={if ($_.objectType.ToString() -eq '00000000-0000- 0000-0000-
000000000000') {'All'} Else {$schemaIDGUID.Item($_.objectType)}}}, `
@{name='inheritedObjectTypeName';expression={$schemaIDGUID.Item($_.inheritedObjectType)}}, `
*
}
# Export report out to a CSV file for analysis in Excel.
$report | Export-Csv -Path "C:\data\OU_Permissions.csv" -NoTypeInformation
      
  • Ouvrez le fichier exporté dans Excel.

Rapport d'exemple :

a table with a lot of rows and columns of data

Lire et interpréter le rapport

Une fois que vous avez le CSV, quelques colonnes sont les plus importantes :

  • IdentityReference : qui ou quel groupe a accès.
  • ActiveDirectoryRights : ce que ce compte peut réellement faire. GenericAll, par exemple, signifie un contrôle total sur l'objet, pas seulement un accès en lecture.
  • IsInherited: si le droit a été accordé directement ou hérité d’un conteneur parent. C’est généralement là que le risque se cache. Une attribution directe (IsInherited = False) à un compte individuel, ou à un groupe large comme Authenticated Users détenant plus que nécessaire, mérite un examen plus approfondi.
  • AccessControlType : indique si l’entrée autorise ou refuse le droit. Les entrées de refus sont rares et méritent d’être examinées séparément.

Si vous voyez un niveau de droits comme GenericAll ou WriteProperty accordé directement à un compte individuel plutôt que via un groupe attendu, ou un large groupe intégré disposant de plus qu’un accès en lecture, c’est un candidat pour un nettoyage selon le principe du moindre privilège.

Rapport à grande échelle avec un outil

Lorsque vous avez besoin de cela sur plusieurs OU, selon un calendrier récurrent ou sans maintenir un script, Netwrix Auditor vous offre le même rapport intégré.

  1. Dans Netwrix Auditor, allez dans "Reports" → Développez la section "Active Directory" → Allez dans "Active Directory - State-in-Time" → Sélectionnez "Object Permissions in Active Directory" → Cliquez sur "View".
  2. Spécifiez les valeurs pour les filtres ci-dessous, puis cliquez sur "Voir le rapport" :
    • Chemin UNC de l'objet
    • Moyens accordés
    • Autorisations
  3. Pour enregistrer le rapport, cliquez sur le bouton "Export" → Choisissez un format dans le menu déroulant → Cliquez sur "Save".
object permissions in active directory shows accounts with explicit or inherited permissions on a specific active directory object

Au-delà de ce rapport ponctuel, Netwrix Auditor suit également qui a modifié quoi, quand et comment, afin que vous puissiez détecter une activité inhabituelle avant qu'elle ne devienne un incident, et pas seulement une simple capture. Et il n'y a rien à décoder : Nom de compte, Type de compte et Moyens accordés sont déjà étiquetés, pas de GenericAll ni d'IsInherited à traduire.

Découvrez qui accède à quoi, quand et pourquoi avec Netwrix Auditor. Téléchargez l’essai gratuit.

Obtenez une liste des autorisations Active Directory pour une OU spécifique afin de révoquer les droits d'accès excessifs et prévenir les abus de privilèges

Appliquer strictement le principe du moindre privilège, c’est-à-dire que chaque compte dispose uniquement des accès dont il a réellement besoin, est essentiel pour une solide sécurité Active Directory. Un rapport complet sur les permissions AD vous montre qui a accès à quoi dans le domaine, comment chaque permission a été accordée (directement ou via l’appartenance à un groupe) et si l’accès d’un compte correspond toujours à ses responsabilités ou s’il résulte d’un rôle qu’il ne détient plus.

Un rapport sur une seule OU est un bon point de départ, mais l’accès s’étend bien au-delà de toute OU, à travers des groupes imbriqués, partages de fichiers, SharePoint et dépôts cloud accessibles par vos comptes AD. Netwrix Access Analyzer étend cette même question : qui peut accéder à quoi dans tout votre environnement, signale automatiquement les permissions excessives ou obsolètes, et permet aux propriétaires des données de revoir et révoquer les accès dont ils n’ont plus besoin.

FAQ

Partager sur