Permissions du compte de service Okta

Avant d'ajuster les permissions dans votre Directory, vérifiez que vous comprenez la manière dont sont définies les permissions Active Directory (AD) et prévoyez comment les gérer dans votre environnement. Pour plus d'informations sur les conditions préalables requises concernant les comptes pour effectuer cette tâche, consultez la rubrique Conditions préalables pour l'intégration Active Directory.

Cette rubrique est divisée en trois parties. Elles traitent respectivement des permissions requises pour les comptes de service, des cas d'utilisation facultatifs et d'une référence.

Permissions obligatoires

À défaut de sélectionner un compte existant au préalable, le programme d'installation de l'agent Okta AD crée un nouveau compte de service Okta par défaut, intitulé OktaService. Ce compte hérite des permissions du groupe Utilisateurs du domaine. OktaService est également membre des groupes d'identité spéciale Utilisateurs authentifiés et Everyone, lorsque l'agent est en exécution. Par défaut, le groupe Utilisateurs authentifiés est membre du groupe Accès compatible avec les versions antérieures à Windows 2000. Retirer le groupe Utilisateurs authentifiés du groupe Accès compatible avec les versions antérieures à Windows 2000 risque d'entraîner des problèmes d'importation incrémentielle. Pour résoudre les problèmes d'importation incrémentielle, Okta recommande d'effectuer l'un des changements suivants :

  • Ajoutez le compte OktaService au groupe Accès compatible avec les versions antérieures à Windows 2000.
  • Vérifiez que le compte de service Okta dispose bien de l'autorisation Lire toutes les permissions pour l'ensemble des objets AD synchronisés.

L'utilitaire de gestion de l'agent Okta AD inclut également une option qui permet d'ajouter le compte OktaService au groupe Administrateurs du domaine. Sinon, vérifiez que les permissions sont définies pour les cas d'utilisation qui vous concernent. Cela évite de donner à votre compte de service les droits d'administrateur complet.

Chaque compte de service qui exécute un agent Okta AD doit disposer de ces permissions.

Permissions pour les importations avec DirSync

Version de l'accès anticipé. Consultez la section Activer les fonctionnalités en libre-service.

Vous pouvez optimiser la communication avec AD en utilisant des importations avec le contrôle DirSync d'Active Directory. Cela vous permet d'exécuter des importations incrémentielles de manière plus fiable et d'intégrer plus rapidement les modifications depuis AD. Pour utiliser les importations avec DirSync, vous devez accorder à l'agent l'autorisation de répliquer les modifications du Directory.

Pour accorder une autorisation via la console Responsable de serveur, procédez de la manière suivante :

  1. Connectez-vous à votre console Responsable de serveur.
  2. Sélectionnez DashboardUtilisateurs et ordinateurs Active Directory.
  3. Faites un clic droit sur le nom de domaine et sélectionnez Propriétés.
  4. Sélectionnez l'onglet Sécurité, puis cliquez sur Ajouter. Cet onglet ne s'affiche que si vous sélectionnez Fonctionnalités avancées dans le menu Voir.
  5. Dans la boîte de dialogue Sélectionner l'utilisateur, un ordinateur, des comptes de service ou des groupes, sélectionnez le compte de service de l'agent Okta AD, puis cliquez sur OK.
  6. Dans la boîte de dialogue Entrée de permissions, sélectionnez Modifier la réplication de l'annuaire, puis cliquez sur OK.

Pour accorder une autorisation via la ligne de commande, exécutez le script PowerShell suivant pour chaque domaine AD intégré. Chaque fois que vous exécuterez le script, remplacez OktaService et DOMAIN_DNS_NAME par les valeurs appropriées pour le domaine AD.

$Identity = "<DOMAIN\OktaService>" $RootDSE = [ADSI]"LDAP://<DOMAIN_DNS_NAME>/RootDSE" $DefaultNamingContext = $RootDse.defaultNamingContext $UserPrincipal = New-Object Security.Principal.NTAccount("$Identity") DSACLS "$DefaultNamingContext" /G "$($UserPrincipal):CA;Replicating Directory Changes"

Cas d'utilisation

Il s'agit des permissions nécessaires pour certains cas d'utilisation facultatifs.

Approvisionner l'utilisateur

Pour qu'un compte de service puisse approvisionner les utilisateurs, les permissions suivantes sont requises.

  • Autorisation Créer un objet enfant requise pour les objets utilisateur dans l'unité organisationnelle (OU) cible.
  • Autorisation Supprimer un objet enfant requise pour les objets utilisateur dans l'OU cible.
  • Droit d'accès au contrôle Réinitialiser le mot de passe requis pour les objets utilisateur dans l'OU cible.
  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour les attributs suivants :
    • mail
    • userPrincipalName
    • SAMaccountName
    • givenName
    • sn
    • userAccountControl
    • pwdLastSet
    • lockoutTime
    • cn
    • name
  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour l'ensemble des autres attributs mappés sur le profil utilisateur AD dans Okta. Les mappages sont répertoriés sous Répertoires à l'adresse https://<org>/admin/universaldirectory.

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

dsacls "OU=targetOU,DC=domain" /G domain\agentserviceaccount:CCDC;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user

Mettre à jour les attributs d'utilisateur

Pour qu'un compte de service puisse mettre à jour les attributs d'utilisateur, les permissions suivantes sont requises.

  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour les attributs suivants :
    • mail
    • userPrincipalName
    • SAMaccountName
    • givenName
    • sn
    • userAccountControl
    • pwdLastSet
    • lockoutTime
    • cn
    • name
  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour l'ensemble des autres attributs mappés sur le profil utilisateur AD dans https://<org>/admin/universaldirectory.

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

# include other attributes that are mapped in your org within Okta dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user

Transfert de groupes ou gestion bidirectionnelle des groupes

Pour qu'un compte de service puisse effectuer un transfert de groupe ou une gestion bidirectionnelle de groupes, les permissions suivantes sont requises. Consultez Transfert de groupes et Gestion bidirectionnelle des groupes avec Active Directory.

  • Permissions Créer un objet enfant requises pour les objets groupe dans l'OU cible.
  • Permissions Supprimer un objet enfant requises pour les objets groupe dans l'OU cible.
  • Permissions Écriture sur une propriété requises sur les objets groupe dans l'OU cible pour les attributs suivants :
    • SAMaccountName
    • description
    • groupType
    • member
    • cn
    • name

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CCDCDT;group # If your use case requires that you grant the preceding permission only for child objects, you can replace /I:T with /I:S. dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;description;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;groupType;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;member;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;group

Réinitialisation de mot de passe, mot de passe oublié, synchronisation de mot de passe

Pour qu'un compte de service puisse gérer les réinitialisations et synchronisations de mots de passe, et les mots de passe oubliés, les permissions suivantes sont requises.

  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour les attributs suivants :
    • lockoutTime
    • pwdLastSet
  • Droit de contrôle Réinitialiser le mot de passe requis pour les objets utilisateur dans l'OU cible.

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

dsacls "OU=targetOU,DC=domain" /I:S /G "domain\agentserviceaccount:CA;Reset Password;user" dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user

Activer et désactiver un utilisateur

Pour qu'un compte de service puisse activer et désactiver des utilisateurs, les permissions suivantes sont requises.

  • Permissions Écriture sur une propriété requises sur les objets utilisateur dans l'OU cible pour les attributs suivants :
    • userAccountControl

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user

Déplacer l'utilisateur vers une autre OU

Pour qu'un compte de service puisse déplacer un utilisateur d'une OU à une autre, les permissions suivantes sont requises.

  • Requiert la permission Supprimer un utilisateur requise sur l'OU source.
  • Requiert la permission Créer un utilisateur requise sur l'OU cible.

Utilisez les commandes suivantes dans PowerShell pour définir les permissions pour ce cas d'utilisation.

dsacls "OU=sourceOU,DC=domain" /I:T /G domain\agentserviceaccount:DC;group dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CC;group

Références de commandes

Utilisez les commandes répertoriées pour ajouter des permissions. Enregistrez-les dans un fichier batch, puis remplacez les informations relatives à l'OU cible et au compte de service par celles qui correspondent à votre environnement. Pensez à retirer les permissions dont vous n'avez pas besoin et à ajouter les attributs que vous avez mappés pour l'approvisionnement dans Okta. Vous pouvez obtenir la liste exhaustive des attributs utilisateur dans le profil utilisateur de votre Directory sur https://<org>/admin/universaldirectory. Exécutez les commandes dsacls depuis PowerShell avec des privilèges administrateur. Pour obtenir ces privilèges, lancez PowerShell en utilisant l'option Exécuter en tant qu'administrateur.

# Créer et supprimer un utilisateur dsacls "OU=targetOU,DC=domain" /G domain\agentserviceaccount:CCDC;user # Créer ou mettre à jour un utilisateur # inclure les autres attributs mappés dans votre org dans Okta dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;mail;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userPrincipalName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;givenName;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;userAccountControl;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;user # Créer un utilisateur/Réinitiatliser un mot de passe dsacls "OU=targetOU,DC=domain" /I:S /G "domain\agentserviceaccount:CA;Reset Password;user" dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;pwdLastSet;user dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;lockoutTime;user #Transfert de groupe dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CCDCDT;group # Si votre scénario nécessite d'accorder l'autorisation uniquement aux objets enfants, vous pouvez remplacer /I:T par /I:S. dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;sAMAccountName;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;description;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;groupType;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;member;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;cn;group dsacls "OU=targetOU,DC=domain" /I:S /G domain\agentserviceaccount:WP;name;group # Déplacer un utilisateur vers une autre OU dsacls "OU=sourceOU,DC=domain" /I:T /G domain\agentserviceaccount:DC;group dsacls "OU=targetOU,DC=domain" /I:T /G domain\agentserviceaccount:CC;group