doc-locale/fr-fr/administration/raketasks/user_management.md
{{< details >}}
{{< /details >}}
GitLab fournit des tâches Rake pour gérer les utilisateurs. Les administrateurs peuvent également utiliser la zone Admin pour gérer les utilisateurs.
Pour ajouter un utilisateur en tant que développeur à tous les projets, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_projects[[email protected]]
# installation from source
bundle exec rake gitlab:import:user_to_projects[[email protected]] RAILS_ENV=production
Pour ajouter tous les utilisateurs à tous les projets, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:import:all_users_to_all_projects
# installation from source
bundle exec rake gitlab:import:all_users_to_all_projects RAILS_ENV=production
Les administrateurs sont ajoutés en tant que responsables et tous les autres utilisateurs sont ajoutés en tant que développeurs.
Pour ajouter un utilisateur en tant que développeur à tous les groupes, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:import:user_to_groups[[email protected]]
# installation from source
bundle exec rake gitlab:import:user_to_groups[[email protected]] RAILS_ENV=production
Pour ajouter tous les utilisateurs à tous les groupes, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:import:all_users_to_all_groups
# installation from source
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production
Les administrateurs sont ajoutés en tant que propriétaires afin qu'ils puissent ajouter des utilisateurs supplémentaires au groupe.
project_limit:0 et can_create_group: false {#update-all-users-in-a-given-group-to-project_limit0-and-can_create_group-false}Pour mettre à jour tous les utilisateurs d'un groupe donné vers project_limit: 0 et can_create_group: false, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:user_management:disable_project_and_group_creation\[:group_id\]
# installation from source
bundle exec rake gitlab:user_management:disable_project_and_group_creation\[:group_id\] RAILS_ENV=production
Cette opération met à jour tous les utilisateurs du groupe donné, de ses sous-groupes et des projets dans cet espace de nommage de groupe, avec les limites indiquées.
Activez ce paramètre pour que les nouveaux utilisateurs restent bloqués jusqu'à ce qu'ils aient été validés par l'administrateur. La valeur par défaut est false :
block_auto_created_users: false
Cette tâche désactive l'authentification à deux facteurs (2FA) pour tous les utilisateurs qui l'ont activée. Cela peut être utile si le fichier config/secrets.yml de GitLab a été perdu et que les utilisateurs ne peuvent pas se connecter, par exemple.
Pour désactiver l'authentification à deux facteurs pour tous les utilisateurs, exécutez :
# omnibus-gitlab
sudo gitlab-rake gitlab:two_factor:disable_for_all_users
# installation from source
bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production
GitLab stocke les données secrètes requises pour l'authentification à deux facteurs (2FA) dans une colonne de base de données chiffrée. La clé de chiffrement de ces données est désignée par otp_key_base et est stockée dans config/secrets.yml.
Si ce fichier est divulgué, mais que les secrets 2FA individuels ne l'ont pas été, il est possible de re-chiffrer ces secrets avec une nouvelle clé de chiffrement. Cela vous permet de modifier la clé divulguée sans obliger tous les utilisateurs à modifier leurs informations 2FA.
Pour faire pivoter la clé de chiffrement de l'authentification à deux facteurs :
Recherchez l'ancienne clé dans le fichier config/secrets.yml, mais assurez-vous que vous travaillez avec la section en production. La ligne qui vous intéresse ressemble à ceci :
production:
otp_key_base: fffffffffffffffffffffffffffffffffffffffffffffff
Générez un nouveau secret :
# omnibus-gitlab
sudo gitlab-rake secret
# installation from source
bundle exec rake secret RAILS_ENV=production
Arrêtez le serveur GitLab, sauvegardez le fichier de secrets existant et mettez à jour la base de données :
# omnibus-gitlab
sudo gitlab-ctl stop
sudo cp config/secrets.yml config/secrets.yml.bak
sudo gitlab-rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key=<old key> new_key=<new key>
# installation from source
sudo /etc/init.d/gitlab stop
cp config/secrets.yml config/secrets.yml.bak
bundle exec rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key=<old key> new_key=<new key> RAILS_ENV=production
La valeur <old key> peut être lue depuis config/secrets.yml (<new key> a été générée précédemment). Les valeurs chiffrées des secrets 2FA des utilisateurs sont écrites dans le filename spécifié. Vous pouvez l'utiliser pour effectuer une restauration en cas d'erreur.
Modifiez config/secrets.yml pour définir otp_key_base sur <new key> et redémarrez. Assurez-vous à nouveau d'opérer dans la section de production.
# omnibus-gitlab
sudo gitlab-ctl start
# installation from source
sudo /etc/init.d/gitlab start
En cas de problème (peut-être en utilisant une mauvaise valeur pour old_key), vous pouvez restaurer votre sauvegarde de config/secrets.yml et annuler les modifications :
# omnibus-gitlab
sudo gitlab-ctl stop
sudo gitlab-rake gitlab:two_factor:rotate_key:rollback filename=backup.csv
sudo cp config/secrets.yml.bak config/secrets.yml
sudo gitlab-ctl start
# installation from source
sudo /etc/init.d/gitlab start
bundle exec rake gitlab:two_factor:rotate_key:rollback filename=backup.csv RAILS_ENV=production
cp config/secrets.yml.bak config/secrets.yml
sudo /etc/init.d/gitlab start
Vous pouvez attribuer des utilisateurs en masse à GitLab Duo à l'aide d'un fichier CSV contenant les noms des utilisateurs. Le fichier CSV doit avoir un en-tête nommé username, suivi des noms d'utilisateur sur chaque ligne suivante.
username
user1
user2
user3
user4
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Pour effectuer une attribution d'utilisateurs en masse pour GitLab Duo Pro, vous pouvez utiliser la tâche Rake suivante :
bundle exec rake duo_pro:bulk_user_assignment DUO_PRO_BULK_USER_FILE_PATH=path/to/your/file.csv
Si vous préférez utiliser des crochets dans le chemin du fichier, vous pouvez les échapper ou utiliser des guillemets doubles :
bundle exec rake duo_pro:bulk_user_assignment\['path/to/your/file.csv'\]
# or
bundle exec rake "duo_pro:bulk_user_assignment[path/to/your/file.csv]"
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Cette tâche Rake attribue en masse des sièges GitLab Duo Pro ou Enterprise au niveau de l'instance à une liste d'utilisateurs à partir d'un fichier CSV, en fonction du module complémentaire acheté disponible.
Pour effectuer une attribution d'utilisateurs en masse pour une instance GitLab Self-Managed :
bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv
Si vous préférez utiliser des crochets dans le chemin du fichier, vous pouvez les échapper ou utiliser des guillemets doubles :
bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv]"
Les administrateurs de GitLab.com peuvent également utiliser cette tâche Rake pour attribuer en masse des sièges GitLab Duo Pro ou Enterprise pour les groupes GitLab.com, en fonction du module complémentaire acheté disponible pour ce groupe.
Pour effectuer une attribution d'utilisateurs en masse pour un groupe GitLab.com :
bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment DUO_BULK_USER_FILE_PATH=path/to/your/file.csv NAMESPACE_ID=<namespace_id>
Si vous préférez utiliser des crochets dans le chemin du fichier, vous pouvez les échapper ou utiliser des guillemets doubles :
bundle exec rake gitlab_subscriptions:duo:bulk_user_assignment\['path/to/your/file.csv','<namespace_id>'\]
# or
bundle exec rake "gitlab_subscriptions:duo:bulk_user_assignment[path/to/your/file.csv,<namespace_id>]"
Lorsque vous utilisez la tâche Rake pour l'attribution d'utilisateurs en masse, vous pouvez rencontrer les erreurs suivantes :
User is not found : L'utilisateur spécifié n'a pas été trouvé. Veuillez vous assurer que le nom d'utilisateur fourni correspond à un utilisateur existant.ERROR_NO_SEATS_AVAILABLE : Il n'y a plus de sièges disponibles pour l'attribution d'utilisateurs. Veuillez consulter comment afficher les utilisateurs GitLab Duo attribués pour vérifier les attributions de sièges actuelles.ERROR_INVALID_USER_MEMBERSHIP : L'utilisateur n'est pas éligible à l'attribution car il est inactif, un bot ou un fantôme. Veuillez vous assurer que l'utilisateur est actif et, s'il est sur GitLab.com, membre de l'espace de nommage fourni.