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

Gérer les permissions sur la plateforme OpenAI

Utilisez le contrôle d’accès basé sur les rôles (RBAC) pour gérer les permissions dans votre organisation et vos projets.

Le contrôle d’accès basé sur les rôles (RBAC) vous permet de définir qui peut effectuer quelles actions dans votre organisation et vos projets, via l’API comme dans le tableau de bord. Les mêmes permissions s’appliquent aux deux interfaces. Si un utilisateur peut appeler un point de terminaison (par exemple /v1/chat/completions), il peut utiliser la page correspondante du tableau de bord. Si une permission lui manque, les éléments d’interface associés sont désactivés, comme le bouton Importer dans le Playground. Le RBAC vous permet de :

  • Regrouper les utilisateurs et attribuer des permissions à grande échelle
  • Créer des rôles personnalisés avec les permissions précises dont vous avez besoin
  • Définir la portée des accès au niveau de l’organisation ou du projet
  • Appliquer les mêmes permissions dans le tableau de bord et l’API

Notions clés

  • Organisation : votre compte de plus haut niveau. Les rôles attribués au niveau de l’organisation peuvent donner accès à tous ses projets.
  • Projet : un espace de travail qui regroupe des clés, des fichiers et des ressources. Les rôles attribués au niveau d’un projet donnent accès à ce seul projet.
  • Groupes : des ensembles d’utilisateurs auxquels vous pouvez attribuer des rôles. Vous pouvez synchroniser les groupes avec votre fournisseur d’identité via SCIM pour tenir automatiquement à jour la liste de leurs membres.
  • Rôles : des ensembles de permissions, comme l’envoi de requêtes aux modèles ou l’écriture de fichiers. Vous pouvez créer des rôles pour l’organisation dans les Paramètres de l’organisation, ou pour un projet précis dans les paramètres de ce projet. Vous pouvez ensuite attribuer ces rôles à des utilisateurs ou à des groupes. Un utilisateur peut cumuler plusieurs rôles et bénéficie alors de toutes les permissions accordées par ces rôles.
  • Permissions : les actions précises qu’un rôle autorise, comme envoyer des requêtes aux modèles, lire ou écrire des fichiers et gérer des clés.

Permissions

Le tableau ci-dessous indique les permissions disponibles, les rôles prédéfinis qui les incluent et les permissions que vous pouvez configurer pour des rôles personnalisés.

Domaine Actions autorisées Permissions du propriétaire de l’organisation Permissions du lecteur de l’organisation Permissions du propriétaire du projet Permissions du membre du projet Permissions de l’observateur du projet Disponible pour les rôles personnalisés
Liste des modèles Lister les modèles auxquels l’organisation a accès Read Read Read Read Read ✓
Groupes Consulter et gérer les groupes Read, Write Read Read, Write Read, Write Read
Rôles Consulter et gérer les rôles Read, Write Read Read, Write Read, Write Read
Administration de l’organisation Gérer les utilisateurs, les projets, les invitations, les clés API d’administration et les limites de débit de l’organisation Read, Write
Utilisation Consulter le tableau de bord d’utilisation et exporter les données Read ✓
Clés externes Consulter et gérer les clés utilisées par Enterprise Key Management Read, Write
Liste des adresses IP autorisées Consulter et gérer la liste des adresses IP autorisées Read, Write
mTLS Consulter et gérer les paramètres d’authentification TLS mutuelle Read, Write
OIDC Consulter et gérer la configuration OIDC Read, Write
Fonctionnalités des modèles Envoyer des requêtes pour les complétions de discussion, l’audio, les embeddings et les images Request Request Request Request ✓
Assistants Créer et récupérer des assistants Read, Write Read, Write Read, Write Read, Write Read ✓
Fils de discussion Créer et récupérer des fils de discussion, des messages et des exécutions Read, Write Read, Write Read, Write Read, Write Read ✓
Évaluations Créer, récupérer et supprimer des évaluations Read, Write Read, Write Read, Write Read, Write Read ✓
Ajustement fin Créer et récupérer des tâches d’ajustement fin Read, Write Read, Write Read, Write Read, Write Read ✓
Fichiers Créer et récupérer des fichiers Read, Write Read, Write Read, Write Read, Write Read ✓
Bases vectorielles Créer et récupérer des bases vectorielles Read, Write Read, Write Read, Write Read, Write ✓
Responses API Créer des réponses Read, Write Read, Write Read, Write Read, Write ✓
Prompts Créer et récupérer des prompts à utiliser comme contexte dans Responses API et Realtime API Read, Write Read, Write Read, Write Read, Write Read ✓
Webhooks Créer et consulter les webhooks de votre projet Read, Write Read Read, Write Read, Write Read ✓
Jeux de données Créer et récupérer des jeux de données Read, Write Read, Write Read, Write Read, Write Read ✓
Applications Créer et gérer des applications dans le tableau de bord et les soumettre pour examen Read, Write ✓
Tunnels Inspecter, utiliser et gérer les tunnels au niveau de l’organisation Read, Use, Manage ✓
Clés API du projet Permettre à un utilisateur de gérer ses propres clés API Read, Write Read, Write Read, Write Read, Write Read ✓
Administration du projet Gérer les utilisateurs, les comptes de service, les clés API et les limites de débit du projet via l’API de gestion Read, Write Read, Write
Traitement par lots Créer et gérer des tâches de traitement par lots Read, Write Read, Write Read, Write Read, Write Read
Comptes de service Consulter et gérer les comptes de service du projet Read, Write Read, Write
Voix Créer et récupérer des voix Read, Write Read, Write Read, Write Read, Write Read
Agent Builder Créer et gérer des agents et des workflows dans Agent Builder Read, Write Read Read, Write Read, Write Read ✓

Accès accordés par les permissions de traitement par lots

Les permissions de traitement par lots comprennent les accès nécessaires pour préparer les fichiers d’entrée d’un lot, exécuter les requêtes et récupérer les résultats. Les points de terminaison que vous pouvez appeler dans un lot font l’objet d’une liste distincte dans le guide de l’API Batch.

Permission de traitement par lots Accès supplémentaires accordés
Lecture (api.batch.read) Lecture des fichiers (api.files.read) pour /v1/files
Écriture (api.batch.write) Lecture des lots
Liste des modèles (api.model.read et model.read) pour /v1/models
Lecture et écriture des fichiers (api.files.read et api.files.write) pour /v1/files
Envoi de requêtes aux fonctionnalités des modèles (api.model.request et model.request) pour /v1/audio, /v1/chat/completions, /v1/embeddings, /v1/images, /v1/moderations, /v1/realtime et /v1/responses

Mise en place du RBAC

Comptez jusqu’à 30 minutes pour que les modifications des rôles et la synchronisation des groupes prennent effet partout.

  1. Créez des groupes Ajoutez des groupes pour vos équipes, par exemple Science des données et Assistance. Si vous utilisez un fournisseur d’identité (IdP), activez la synchronisation SCIM pour tenir à jour la liste des membres de chaque groupe.

  2. Créez des rôles personnalisés Partez du principe du moindre privilège. Par exemple :

    • Testeur de modèles : lecture des modèles, envoi de requêtes aux fonctionnalités des modèles, évaluations
    • Ingénieur en modélisation : envoi de requêtes aux fonctionnalités des modèles, lecture et écriture des fichiers, ajustement fin
    • Éditeur d’applications : lecture et écriture des applications
  3. Attribuez les rôles

    • Les rôles au niveau de l’organisation s’appliquent à tous les projets de l’organisation.
    • Les rôles au niveau du projet s’appliquent uniquement au projet concerné. Vous pouvez attribuer des rôles à des utilisateurs et à des groupes. Un utilisateur peut cumuler plusieurs rôles. Ses permissions correspondent à l’union des permissions de ces rôles.
  4. Vérifiez les accès Utilisez un compte sans rôle de propriétaire pour vérifier que les accès correspondent à vos attentes dans l’API et le tableau de bord. Ajustez les rôles si les utilisateurs peuvent consulter plus d’éléments que nécessaire.

Appliquez le principe du moindre privilège. Commencez par les permissions strictement nécessaires à la tâche, puis ajoutez-en uniquement si le besoin se présente.

Exemples de configuration des accès

Petite équipe

  • Attribuez à l’équipe principale un rôle au niveau de l’organisation qui autorise l’envoi de requêtes aux fonctionnalités des modèles ainsi que la lecture et l’écriture des fichiers.
  • Créez un projet par application. Ajoutez les prestataires uniquement aux projets concernés et attribuez-leur des rôles au niveau de ces projets.

Grande organisation

  • Synchronisez les groupes depuis votre fournisseur d’identité, par exemple Recherche, Assistance et Finance.
  • Créez des rôles personnalisés par fonction et attribuez-les au niveau de l’organisation. Si un projet nécessite un contrôle plus strict, attribuez uniquement des rôles propres à ce projet.

Prestataires et fournisseurs

  • Créez un groupe « Prestataires » sans rôle au niveau de l’organisation.
  • Ajoutez ses membres aux projets concernés et attribuez-leur des rôles de projet aux permissions restreintes, par exemple un accès en lecture seule.

Comment les droits d’accès des utilisateurs sont déterminés

Dans le tableau de bord, nous combinons :

  • les rôles de l’organisation attribués directement à l’utilisateur ou via ses groupes
  • les rôles du projet attribués directement à l’utilisateur ou via ses groupes

Les permissions effectives correspondent à l’union des permissions de tous les rôles attribués.

Lorsque vous envoyez une requête avec une clé API dans un projet, nous vérifions les permissions attribuées à la clé et nous nous assurons qu’un rôle de l’utilisateur dans ce projet lui accorde ces permissions. Par exemple, pour appeler /v1/models, la clé API doit disposer de la permission api.model.read et l’utilisateur doit détenir un rôle de projet qui inclut api.model.read.

Bonnes pratiques

  • Créez des groupes à l’image de votre organisation : créez dans votre fournisseur d’identité des groupes correspondant aux équipes et attribuez les rôles à ces groupes plutôt qu’aux utilisateurs individuellement.
  • Séparez les responsabilités : distinguez la lecture des modèles, l’importation de fichiers et la gestion des clés.
  • Isolez les projets : utilisez des projets distincts pour les expérimentations, la préproduction et la production.
  • Vérifiez régulièrement les rôles et les clés : supprimez les rôles et les clés inutilisés et renouvelez les clés sensibles.
  • Testez avec un compte sans rôle de propriétaire : vérifiez que les accès correspondent à vos attentes avant de généraliser le déploiement.