For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Theme

Collaboration et partage

Comptes de service

Configurez et gérez des comptes de service pour automatiser vos workflows Codex dans votre espace de travail ChatGPT

Les comptes de service vous permettent d’exécuter des workflows Codex sans interface graphique et de les déployer à l’échelle de votre organisation sans dépendre du compte d’un employé. Chaque runner 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. Vous bénéficiez des mêmes groupes, rôles, contrôles d’accès et possibilités d’audit que pour les membres de l’espace de travail.

Seuls les propriétaires et les administrateurs de l’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 jetons d’accès.

Les comptes de service sont disponibles uniquement avec les offres facturées à l’usage.

Un compte de service représente une identité non humaine dans l’espace de travail. Un jeton d’accès personnel représente le membre de l’espace de travail qui le crée. Sur la Plateforme API, les comptes de service des projets et les clés API relèvent de règles d’accès et d’une facturation distinctes, propres aux projets.

Créer et configurer un compte de service

Ce guide interactif prend GitHub comme exemple. Vous allez créer un compte, configurer un plugin, créer un jeton, puis attribuer des groupes et des rôles au compte.

Interactive walkthrough

Select the plus button, name your service account, and select Create.

Service accounts

Create workspace-owned accounts for automated workflows that need their own access.

1/1
  1. Ouvrez Comptes de service dans les paramètres de votre espace de travail.
  2. Sélectionnez le bouton plus (+) et saisissez un nom descriptif, par exemple release-automation.
  3. Sélectionnez Créer.

Connecter un plugin

Configurez les plugins directement pour le compte de service. Celui-ci n’hérite ni des plugins ni des applications connectées de la personne qui l’a créé.

  1. Ouvrez la section Plugins du compte et sélectionnez Ajouter un plugin.
  2. Choisissez un plugin et vérifiez qu’il apparaît comme configuré ou activé.

Les rôles Configurer et Gestionnaire permettent de configurer des plugins. Le rôle Utilisateur ne le permet pas.

Créer un jeton d’accès

Créez un jeton depuis la page de détails du compte de service. Le jeton représente le compte de service et non la personne qui le crée.

  1. Ouvrez le compte et sélectionnez Créer un jeton dans Jetons d’accès.
  2. Nommez le jeton, confirmez la portée Codex et choisissez une échéance.
  3. Sélectionnez Créer et enregistrez le jeton dans votre gestionnaire de secrets.

Le jeton ne s’affiche en entier qu’une seule fois. Les politiques de l’espace de travail déterminent les échéances disponibles.

Attribuer des rôles et des groupes

Comme tout membre de l’espace de travail, un compte de service peut recevoir des rôles et faire partie de groupes. Attribuez-lui directement ses droits d’accès, car il n’hérite pas des autorisations de la personne qui l’a créé.

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 jetons d’accès pour le compte de service
Utilisateur Non Oui
Configurer 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 que vous attribuez au compte de service dans l’espace de travail.

Les rôles Configurer et Gestionnaire permettent d’activer ou de 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 depuis leur propre compte 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 jetons d’accès des comptes de service nécessitent la version 0.142.0 ou ultérieure de Codex CLI. 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."

En CI, fournissez le jeton au moyen d’un gestionnaire de secrets ou d’un secret du runner.

Pour enregistrer les informations de connexion sur une machine de confiance, transmettez le jeton 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 commande enregistre le jeton localement. Sur les runners partagés ou temporaires, utilisez CODEX_ACCESS_TOKEN sans enregistrer les informations de connexion.

Provisionner des comptes de service avec SCIM

Si votre espace de travail prend en charge le provisionnement des comptes de service via le protocole System for Cross-domain Identity Management (SCIM), définissez userType sur ServiceAccount chez 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"
}

Affectez 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. Vous ne pouvez ni renommer ni supprimer dans ChatGPT les comptes gérés par SCIM. Consultez Groupes et provisionnement.

Gérer les comptes de service avec l’API d’administration

Si votre espace de travail a accès à l’API d’administration de ChatGPT, utilisez une clé de cette API pour gérer les comptes, les jetons et le partage. Les opérations de lecture nécessitent l’autorisation chatgpt.enterprise.service_account.read et les modifications nécessitent l’autorisation chatgpt.enterprise.service_account.write. Un jeton de compte de service ne permet pas d’authentifier les requêtes adressées à l’API d’administration.

Consultez la référence de l’API d’administration pour connaître les opérations disponibles et les chemins de requête en vigueur.

Comptes

Opération Méthode Description
Lister les comptes GET Renvoie les comptes de service de l’espace de travail
Créer un compte POST Crée un compte de service portant le nom indiqué
Récupérer un compte GET Renvoie un seul compte de service
Activer ou désactiver un compte PATCH Met à jour la valeur de enabled pour le compte
Supprimer un compte DELETE Supprime le compte et révoque ses jetons

Créez les comptes avec POST /v1/manage/workspaces/{workspace_id}/service-accounts. Seule la valeur de enabled peut être modifiée lors de la mise à jour d’un compte.

Jetons

Opération Méthode Description
Lister les jetons GET Renvoie les métadonnées des jetons du compte
Créer un jeton POST Crée un jeton d’accès dont la portée est définie
Révoquer un jeton DELETE Révoque définitivement le jeton indiqué

Par exemple, créez un jeton Codex qui expire au bout de 30 jours :

{
  "name": "production-release-runner",
  "ttl": 2592000,
  "scopes": ["chatgpt.workspace.feature.allow-codex-local-access.access"]
}

ttl indique la durée de validité du jeton en secondes. Si vous définissez une durée de validité limitée, elle doit être inférieure à un an et respecter la politique d’expiration de votre espace de travail. L’API renvoie la valeur complète de access_token uniquement à la création du jeton.

L’API d’administration permet aussi de lister, d’ajouter, de modifier et de supprimer les droits d’accès aux comptes partagés. Les valeurs possibles pour les rôles sont manager, configurer et user. Le rôle configurer apparaît sous le libellé Configurer dans ChatGPT.

Sécuriser et gérer les comptes de service

  • Accordez au compte uniquement les rôles, les groupes, les plugins et les connexions nécessaires au workflow.
  • Stockez les jetons dans un gestionnaire de secrets et utilisez des runners de confiance.
  • Ne consignez aucune information d’authentification dans les journaux, les messages de discussion ou le système de gestion de versions.
  • Fixez une échéance pour chaque jeton et vérifiez régulièrement les droits d’accès et l’activité du compte.
  • Pour renouveler un jeton, créez son remplaçant, mettez à jour le workflow, vérifiez l’accès, puis révoquez l’ancien jeton dans l’espace de travail ou via l’API d’administration.
  • Révoquez immédiatement tout jeton exposé et examinez l’activité récente du compte concerné.
  • Désactivez ou supprimez les comptes inutilisés dans l’espace de travail ou via l’API d’administration. Ces deux opérations révoquent tous les jetons actifs du compte. Vous pouvez réactiver un compte désactivé avec de nouveaux jetons. La suppression est irréversible.

Les exécutions sont attribuées au compte de service. Les données d’analyse et les journaux d’audit disponibles dans l’espace de travail peuvent également indiquer qui a créé des jetons ou modifié les paramètres du compte. Vérifiez quels événements sont couverts dans la référence de l’API d’administration.

Documentation associée