Maison >outils de développement >git >Comment modifier par lots le nom d'utilisateur et le mot de passe dans gitlab

Comment modifier par lots le nom d'utilisateur et le mot de passe dans gitlab

PHPz
PHPzoriginal
2023-04-10 09:36:021311parcourir

Si vous êtes une entreprise, vous devrez peut-être gérer plusieurs comptes GitLab, et les noms d'utilisateur et mots de passe de ces comptes doivent être modifiés régulièrement pour garantir la sécurité. À l’heure actuelle, il est particulièrement important de modifier les noms d’utilisateur et les mots de passe GitLab par lots.

Ci-dessous, je vais vous présenter comment utiliser un script pour modifier le nom d'utilisateur et le mot de passe GitLab par lots.

Étape 1 : Créer un jeton API GitLab

Tout d'abord, vous devez créer le jeton API de GitLab pour accéder à l'API de GitLab. Pour créer un jeton API, suivez ces étapes :

  1. Dans GitLab, cliquez sur l'avatar ou l'icône et sélectionnez "Paramètres".
  2. Retrouvez l'onglet « Jetons d'accès » à gauche et cliquez pour créer un jeton d'accès personnel.
  3. Sélectionnez l'autorisation API « API » sous « Portées » et cliquez sur le bouton « Créer un jeton d'accès personnel ». GitLab générera un nouveau jeton API et il n'apparaîtra qu'une seule fois.

Veuillez noter que les jetons d'accès à l'API seront considérés comme des identifiants d'authentification, alors assurez-vous de les enregistrer et de les conserver en sécurité.

Deuxième étape : créer un script Python

Vous devez maintenant écrire un script en utilisant Python pour modifier par lots les noms d'utilisateur et les mots de passe sur GitLab. Voici un exemple de code d'un script Python :

#!/usr/bin/env python
import requests
import json

# 配置API访问令牌,API端点和要更改的用户名和密码
GITLAB_API_ENDPOINT = "https://gitlab.com/api/v4"
GITLAB_API_TOKEN = "YOUR_GITLAB_API_TOKEN"
USERNAMES_TO_UPDATE = ["john.doe", "jane.doe"]
NEW_PASSWORD = "newpassword"

# 认证
headers = {"PRIVATE-TOKEN": GITLAB_API_TOKEN}

# 循环处理每个用户
for username in USERNAMES_TO_UPDATE:
    # 获取给定用户的当前信息
    response = requests.get(
        f"{GITLAB_API_ENDPOINT}/users?username={username}",
        headers=headers,
    )
    user_data = response.json()[0]
    user_id = user_data["id"]
    user_name = user_data["name"]
    user_email = user_data["email"]

    # 更新给定用户的密码
    password_update_response = requests.put(
        f"{GITLAB_API_ENDPOINT}/users/{user_id}",
        headers=headers,
        data={
            "password": NEW_PASSWORD
        },
    )

    # 打印结果
    print(f"用户 {user_name} ({user_email}) 的密码已更新。")

Ce code est relativement simple. L'idée de base est d'utiliser la bibliothèque de requêtes pour appeler l'API GitLab, obtenir les données utilisateur et mettre à jour le mot de passe des données utilisateur. Pour adapter le script à votre situation spécifique, vous devez remplacer les constantes suivantes :

  • GITLAB_API_TOKEN : Le jeton d'accès à l'API GitLab que vous avez créé. GITLAB_API_TOKEN:您创建的GitLab API访问令牌。
  • USERNAMES_TO_UPDATE:您要更改它们的用户的用户名列表。
  • NEW_PASSWORD:您要为这些用户设置的新密码。

最后,将脚本保存为例如update_gitlab_passwords.py

USERNAMES_TO_UPDATE : Liste des noms d'utilisateur des utilisateurs que vous souhaitez modifier.

NEW_PASSWORD : Le nouveau mot de passe que vous souhaitez définir pour ces utilisateurs.

Enfin, enregistrez le script sous par exemple update_gitlab_passwords.py.

Troisième étape : Exécuter le script

Maintenant, vous pouvez exécuter le script à l'aide de la ligne de commande. Vous pouvez exécuter la commande suivante dans le terminal ou l'invite de commande :

python update_gitlab_passwords.py
Vous pouvez également exécuter automatiquement un script dans une tâche Cron pour modifier régulièrement le nom d'utilisateur et le mot de passe GitLab. 🎜🎜Résumé🎜🎜Vous savez maintenant comment mettre à jour par lots votre nom d'utilisateur et votre mot de passe GitLab à l'aide d'un script Python. N'oubliez pas que ces jetons API seront considérés comme des identifiants d'authentification, veillez à les protéger et à les utiliser uniquement de manière sécurisée. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn