Comptes de service
Configurez et gérez des comptes de service pour automatiser Codex dans votre espace de travail ChatGPT
Les comptes de service vous permettent d’exécuter et de déployer à grande échelle des processus Codex sans interface dans toute votre organisation, sans dépendre du compte d’un employé. Chaque exécuteur d’intégration continue (CI), tâche planifiée ou intégration partagée dispose de sa propre identité dans l’espace de travail ChatGPT, avec les mêmes groupes, rôles, contrôles d’accès et possibilités d’audit que ceux prévus pour les personnes.
Seuls les propriétaires et les administrateurs d’un espace de travail peuvent créer des comptes de service. Ils peuvent autoriser d’autres personnes ou groupes à gérer un compte, à configurer des plugins ou à créer des tokens d’accès.
Un compte de service représente une identité non humaine dans l’espace de travail. Un token d’accès personnel représente le membre de l’espace de travail qui le crée. Les comptes de service de projet et les API keys de la plateforme API utilisent un accès au projet et une facturation distincts.
Créer et configurer un compte de service
Cette procédure interactive utilise GitHub comme exemple : créez un compte, configurez un plugin, créez un token et attribuez des groupes et des rôles.
Créer une identité appartenant à l’espace de travail
Sélectionnez le bouton Plus, nommez votre compte de service, puis sélectionnez Créer.
Configurer le plugin du compte
Ouvrez Plugins, sélectionnez Ajouter un plugin, choisissez GitHub et vérifiez qu’il est activé pour ce compte.
Créer un token d’accès à portée limitée
Nommez le token, vérifiez la portée Codex, choisissez une date d’expiration et enregistrez le token dans votre gestionnaire de secrets.
Attribuer des groupes et des rôles
Ajoutez le compte de service aux groupes requis de l’espace de travail, puis partagez l’accès de gestion avec des personnes ou des groupes au moyen du rôle Utilisateur, Configuration ou Gestionnaire.
- Ouvrez Comptes de service dans les réglages de votre espace de travail.
- Sélectionnez le bouton Plus (+) et saisissez un nom descriptif, tel que
release-automation. - Sélectionnez Créer.
Connecter un plugin
Configurez les plugins pour le compte de service lui-même. Il n’hérite pas des plugins ni des apps connectées de son créateur.
- Ouvrez la section Plugins du compte et sélectionnez Ajouter un plugin.
- Choisissez un plugin et vérifiez qu’il apparaît comme configuré ou activé.
Les rôles Configuration et Gestionnaire peuvent configurer des plugins. Le rôle Utilisateur ne le peut pas.
Créer un token d’accès
Créez un token depuis la page de détails du compte de service. Le token représente le compte de service, et non la personne qui le crée.
- Ouvrez le compte et sélectionnez Créer un token dans Tokens d’accès.
- Nommez le token, vérifiez la portée Codex et choisissez une date d’expiration.
- Sélectionnez Créer et enregistrez le token dans votre gestionnaire de secrets.
Le token complet ne s’affiche qu’une seule fois. Les politiques de l’espace de travail déterminent les durées d’expiration disponibles.
Attribuer des rôles et des groupes
Un compte de service peut recevoir des rôles dans l’espace de travail et rejoindre des groupes comme un membre humain. Attribuez-lui directement ses accès ; il n’hérite pas des autorisations de son créateur.
Pour permettre à des personnes ou à des groupes de gérer le compte, sélectionnez Partager, puis Ajouter des personnes ou des groupes, et attribuez un rôle :
| Rôle sur le compte partagé | Configurer le compte et ses plugins | Créer des tokens d’accès pour le compte de service |
|---|---|---|
| Utilisateur | Non | Oui |
| Configuration | Oui | Non |
| Gestionnaire | Oui | Oui |
Ces rôles s’appliquent aux personnes qui gèrent le compte. Ils sont distincts des rôles et des groupes de l’espace de travail attribués au compte de service.
Les rôles Configuration et Gestionnaire peuvent activer ou désactiver le compte. Seuls les propriétaires et les administrateurs de l’espace de travail peuvent créer, supprimer ou partager des comptes. Les opérateurs gèrent les comptes partagés tout en étant connectés à leurs propres comptes ChatGPT.
Pour en savoir plus sur les autorisations de l’espace de travail, consultez Rôles et autorisations de l’espace de travail.
Exécuter Codex sans se connecter
Les tokens d’accès des comptes de service nécessitent Codex CLI version 0.142.0 ou ultérieure. Définissez CODEX_ACCESS_TOKEN et exécutez Codex sans ouvrir de navigateur :
export CODEX_ACCESS_TOKEN="<service-account-access-token>"
codex exec --json "Inspect this repository and summarize its current state."Dans un environnement CI, fournissez le token au moyen d’un gestionnaire de secrets ou d’un secret de l’exécuteur.
Pour enregistrer une connexion sur une machine de confiance, transmettez le token via l’entrée standard :
printf '%s' "$CODEX_ACCESS_TOKEN" | codex login --with-access-token
codex exec "Summarize the changes in the current branch."Cette opération enregistre les identifiants localement. Sur les exécuteurs partagés ou temporaires, utilisez CODEX_ACCESS_TOKEN sans enregistrer de connexion.
Provisionner des comptes de service avec SCIM
Si votre espace de travail prend en charge le provisionnement des comptes de service au moyen du protocole System for Cross-domain Identity Management (SCIM), définissez userType sur ServiceAccount dans votre fournisseur d’identité :
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "svc-codex-release@company.example",
"displayName": "Codex release automation",
"active": true,
"userType": "ServiceAccount"
}Attribuez l’identité à l’espace de travail et aux groupes requis, puis synchronisez-la. Le fournisseur d’identité gère le nom du compte, son appartenance aux groupes et son cycle de vie. Les comptes gérés par SCIM ne peuvent pas être renommés ni supprimés dans ChatGPT. Consultez Groupes et provisionnement.
Gérer les comptes de service avec l’Admin API
Si votre espace de travail y a accès, utilisez une ChatGPT Admin API key pour gérer les comptes, les tokens et le partage. Les opérations de lecture nécessitent chatgpt.enterprise.service_account.read ; les modifications nécessitent chatgpt.enterprise.service_account.write. Un token de compte de service ne peut pas authentifier les requêtes Admin API.
Consultez la référence de l’Admin API pour connaître les opérations disponibles et les chemins de requête actuels.
Comptes
| Opération | Méthode | Fonction |
|---|---|---|
| Répertorier les comptes | GET |
Renvoie les comptes de service de l’espace de travail |
| Créer un compte | POST |
Crée un compte de service nommé |
| Obtenir un compte | GET |
Renvoie un compte de service |
| Activer ou désactiver un compte | PATCH |
Met à jour la valeur enabled du compte |
| Supprimer un compte | DELETE |
Supprime le compte et révoque ses tokens |
Créez des comptes avec POST /v1/manage/workspaces/{workspace_id}/service-accounts. Les mises à jour de compte modifient uniquement enabled.
Tokens
| Opération | Méthode | Fonction |
|---|---|---|
| Répertorier les tokens | GET |
Renvoie les métadonnées des tokens du compte |
| Créer un token | POST |
Crée un token d’accès à portée limitée |
| Révoquer un token | DELETE |
Révoque définitivement un token |
Par exemple, créez un token Codex qui expire après 30 jours :
{
"name": "production-release-runner",
"ttl": 2592000,
"scopes": ["chatgpt.workspace.feature.allow-codex-local-access.access"]
}ttl correspond à la durée de vie du token en secondes. Une durée de vie limitée doit être inférieure à un an et respecter la politique d’expiration de votre espace de travail. La valeur access_token complète est renvoyée uniquement lors de la création du token.
L’Admin API peut également répertorier, ajouter, mettre à jour et supprimer les accès aux comptes partagés. Les valeurs de rôle correspondantes sont manager, configurer et user ; configurer apparaît sous la forme Configuration dans ChatGPT.
Sécuriser et gérer les comptes de service
- Accordez uniquement les rôles, groupes, plugins et connexions dont le processus a besoin.
- Stockez les tokens dans un gestionnaire de secrets et utilisez des exécuteurs de confiance.
- Ne consignez pas les identifiants dans les journaux, les messages de conversation ni le contrôle de code source.
- Définissez des durées d’expiration limitées et examinez régulièrement les accès et l’activité du compte.
- Effectuez la rotation d’un token en créant un remplacement, en mettant à jour le processus, en vérifiant l’accès, puis en révoquant l’ancien token dans l’espace de travail ou l’Admin API.
- Révoquez immédiatement les tokens exposés et examinez l’activité récente du compte.
- Désactivez ou supprimez les comptes inutilisés dans l’espace de travail ou l’Admin API. Ces deux actions révoquent tous les tokens actifs. Les comptes désactivés peuvent être réactivés avec de nouveaux tokens ; une suppression est irréversible.
Les exécutions sont attribuées au compte de service. Les données d’analyse de l’espace de travail et les journaux d’audit disponibles peuvent également indiquer qui a créé des tokens ou modifié les paramètres du compte. Vérifiez la couverture des événements dans la référence de l’Admin API.