L'authentification et l'autorisation sont des mécanismes utilisés pour vérifier l'identité et l'accès aux ressources, respectivement. Ce document identifie les termes clés que vous devez connaître avant d'implémenter l'authentification et l'autorisation dans votre application.
L'authentification identifie qui envoie la requête. L'autorisation identifie les ressources auxquelles le demandeur peut accéder et le niveau d'accès dont il dispose. L'authentification est une condition préalable à l'autorisation. Vous ne pouvez pas déterminer les ressources auxquelles accéder sans avoir d'abord établi l'identité du demandeur. Pour une définition plus détaillée, consultez la section Terminologie importante.
Prenons l'exemple simplifié suivant d'une réservation d'hôtel. Lorsque vous arrivez à l'hôtel, le réceptionniste vous demande votre pièce d'identité pour vérifier votre réservation. Votre pièce d'identité vous authentifie auprès de l'hôtel. Le réceptionniste vous remet une clé d'hôtel. Cette clé vous donne accès à certaines ressources de l'hôtel, comme votre chambre, la salle de sport et le centre d'affaires. La clé d'hôtel vous autorise à accéder à ces ressources.
Présentation du processus
Le diagramme suivant présente les étapes générales d'authentification et d'autorisation pour les API Google Workspace :

Configurez votre projet et votre application Google Cloud : lors du développement, enregistrez votre application dans la console Google Cloud en définissant des niveaux d'autorisation et des identifiants d'accès pour authentifier votre application avec une clé API, des identifiants d'utilisateur final ou des identifiants de compte de service.
Authentifiez votre application pour y accéder : lorsque votre application s'exécute, les identifiants d'accès enregistrés sont évalués. Si votre application s'authentifie en tant qu'utilisateur final, une invite de connexion peut s'afficher.
Demander des ressources : lorsque votre application a besoin d'accéder à des ressources Google, elle en fait la demande à Google à l'aide des niveaux d'accès appropriés que vous avez enregistrés précédemment.
Demander le consentement de l'utilisateur : si votre application s'authentifie en tant qu'utilisateur final, Google affiche l'écran de consentement OAuth afin que l'utilisateur puisse décider d'accorder ou non à votre application l'accès aux données demandées.
Envoyez une demande approuvée pour les ressources : si l'utilisateur accepte les niveaux d'accès, votre application regroupe les identifiants et les niveaux d'accès approuvés par l'utilisateur dans une demande. La requête est envoyée au serveur d'autorisation Google pour obtenir un jeton d'accès.
Google renvoie un jeton d'accès : le jeton d'accès contient une liste des niveaux d'accès accordés. Si la liste des niveaux d'accès renvoyée est plus limitée que les niveaux d'accès demandés, votre application désactive toutes les fonctionnalités limitées par le jeton.
Accéder aux ressources demandées : votre application utilise le jeton d'accès de Google pour appeler les API concernées et accéder aux ressources.
Obtenez un jeton d'actualisation (facultatif) : si votre application a besoin d'accéder à une API Google au-delà de la durée de vie d'un jeton d'accès unique, elle peut obtenir un jeton d'actualisation.
Demander plus de ressources : si un accès supplémentaire est nécessaire, votre application demande à l'utilisateur d'accorder de nouveaux niveaux d'accès, ce qui entraîne une nouvelle demande d'obtention d'un jeton d'accès (étapes 3 à 6).
Terminologie importante
Voici une liste de termes liés à l'authentification et à l'autorisation :
- Authentification
Action consistant à s'assurer qu'un principal, qui peut être un utilisateur ou une application agissant pour le compte d'un utilisateur, est bien celui qu'il prétend être. Lorsque vous écrivez des applications Google Workspace, vous devez connaître les types d'authentification suivants :
- Authentification des utilisateurs
- Action par laquelle un utilisateur s'authentifie (se connecte) à votre application. L'authentification de l'utilisateur est généralement effectuée par le biais d'un processus de connexion dans lequel l'utilisateur utilise une combinaison nom d'utilisateur/mot de passe pour vérifier son identité auprès de l'application. L'authentification de l'utilisateur peut être intégrée à une application à l'aide de Se connecter avec Google.
- Authentification des applications
- Processus d'authentification d'une application directement auprès des services Google au nom de l'utilisateur qui exécute l'application. L'authentification de l'application est généralement effectuée à l'aide d'identifiants précréés dans le code de votre application.
- Autorisation
Autorisations ou "droits" dont dispose le principal pour accéder aux données ou effectuer des opérations. L'autorisation est accordée par le biais du code que vous écrivez dans votre application. Ce code informe l'utilisateur que l'application souhaite agir en son nom et, si elle y est autorisée, utilise les identifiants uniques de votre application pour obtenir un jeton d'accès auprès de Google, qui lui permet d'accéder aux données ou d'effectuer des opérations.
- Credential (Identifiant)
Forme d'identification utilisée dans la sécurité des logiciels. En termes d'authentification, un identifiant est souvent une combinaison nom d'utilisateur/mot de passe. En termes d'autorisation pour les API Google Workspace, un identifiant est généralement une forme d'identification, telle qu'une chaîne secrète unique, connue uniquement entre le développeur de l'application et le serveur d'authentification. Google accepte les identifiants d'authentification suivants : clé API, ID client OAuth 2.0 et comptes de service.
- Clé API
- Identifiant utilisé pour demander l'accès aux données publiques, telles que les données fournies à l'aide de l'API Maps ou les fichiers Google Workspace partagés à l'aide du paramètre "Toute personne sur Internet disposant de ce lien" dans les paramètres de partage Google Workspace.
- ID client OAuth 2
- Identifiant utilisé pour demander l'accès aux données appartenant à l'utilisateur. Il s'agit de l'identifiant principal utilisé pour demander l'accès aux données à l'aide des API Google Workspace. Ces identifiants nécessitent le consentement de l'utilisateur.
- Code secret du client
- Chaîne de caractères qui ne doit être connue que par votre application et le serveur d'autorisation. Le secret client protège les données de l'utilisateur en n'accordant des jetons qu'aux demandeurs autorisés. Vous ne devez jamais inclure votre code secret client non chiffré dans votre application. Nous vous recommandons de stocker le code secret client de manière sécurisée. Pour en savoir plus, consultez Gérer les identifiants client de manière sécurisée.
- Clés de compte de service
- Utilisé par les comptes de service pour obtenir l'autorisation d'accéder à un service Google.
- Compte de service
- Identifiant utilisé pour les interactions entre serveurs, comme une application sans interface graphique qui s'exécute en tant que processus pour accéder à des données ou effectuer une opération. Les comptes de service sont généralement utilisés pour accéder aux données et aux opérations basées dans le cloud. Toutefois, lorsqu'ils sont utilisés avec la délégation au niveau du domaine, ils peuvent servir à accéder aux données utilisateur.
- Portée
Chaîne d'URI OAuth 2.0 qui définit un niveau d'accès aux ressources ou aux actions accordé à une application. Pour Google Workspace, les URI de champ d'application d'autorisation contiennent le nom de l'application Google Workspace, le type de données auxquelles elle accède et le niveau d'accès. Les utilisateurs de votre application peuvent examiner les niveaux d'accès demandés et choisir ceux qu'ils souhaitent accorder. Le serveur d'authentification de Google renvoie ensuite les niveaux d'accès autorisés à votre application dans un jeton d'accès. Pour en savoir plus, consultez Choisir des champs d'application pour votre application.
- Serveur d'autorisation
Serveur Google permettant d'accorder l'accès, à l'aide d'un jeton d'accès, aux données et opérations demandées par une application.
- Code d'autorisation
Code envoyé par le serveur d'autorisation et utilisé pour obtenir un jeton d'accès. Un code n'est nécessaire que si votre type d'application est une application de serveur Web ou une application installée.
- Jeton d'accès
Jeton permettant d'accéder à une API Google Workspace. Un même jeton d'accès peut accorder différents niveaux d'accès, appelés scopes, à plusieurs API. Le code d'autorisation de votre application demande des jetons d'accès et les utilise pour appeler les API Google Workspace.
- Serveur de ressources
Serveur hébergeant l'API que votre application souhaite appeler.
- Framework OAuth 2.0
Norme que votre application peut utiliser pour lui fournir un "accès délégué sécurisé" ou un accès aux données et aux opérations pour le compte de l'utilisateur de l'application. Les mécanismes d'authentification et d'autorisation que vous utilisez dans votre application représentent votre implémentation du framework OAuth 2.0.
- Principal
Entité, également appelée identité, à laquelle l'accès à une ressource peut être accordé. Les API Google Workspace sont compatibles avec deux types de comptes principaux : les comptes utilisateur et les comptes de service. Pour en savoir plus, consultez Comptes principaux.
- Type de données
Dans le contexte de l'authentification et de l'autorisation, le type de données fait référence à l'entité qui possède les données auxquelles votre application tente d'accéder. Il existe trois types de données :
- Données du domaine public
- Données accessibles à tous, comme certaines données Google Maps. L'accès à ces données se fait généralement à l'aide d'une clé API.
- Données utilisateur final
- Données appartenant à un utilisateur final ou à un groupe spécifiques, comme les fichiers Google Drive d'un utilisateur spécifique. Ce type de données est généralement accessible à l'aide d'un ID client OAuth 2 ou d'un compte de service.
- Données cloud
- Données appartenant à un projet Google Cloud. Ce type de données est généralement accessible par un compte de service.
- Consentement de l'utilisateur
Étape d'autorisation qui demande à l'utilisateur de votre application d'autoriser l'application à accéder aux données et à effectuer des opérations en son nom.
- Type d'application
Type d'application que vous allez créer. Lorsque vous créez des identifiants à l'aide de la console Google Cloud, vous êtes invité à sélectionner le type d'application. Les types d'applications sont les suivants : application Web (JavaScript), Android, application Chrome, iOS, téléviseurs et appareils à saisie limitée, application pour ordinateur (également appelée "application installée") et plate-forme Windows universelle (UWP).
- Compte de service
Type spécial de compte Google destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données. Votre application revêt l'identité du compte de service pour appeler les API Google, afin que les utilisateurs ne soient pas directement impliqués. En soi, les comptes de service ne peuvent pas être utilisés pour accéder aux données utilisateur, qui sont généralement accessibles à l'aide des API Workspace. Toutefois, un compte de service peut accéder aux données utilisateur en implémentant la délégation de l'autorité au niveau du domaine. Pour en savoir plus, consultez Comprendre les comptes de service.
- Délégation d'autorité au niveau du domaine
Fonctionnalité d'administration qui permet d'autoriser une application à accéder aux données utilisateur pour le compte des utilisateurs de l'organisation Google Workspace. La délégation au niveau du domaine peut être utilisée pour effectuer des tâches liées à l'administration sur les données utilisateur. Pour déléguer l'autorité de cette manière, les administrateurs Google Workspace utilisent des comptes de service avec OAuth 2.0. En raison de la puissance de cette fonctionnalité, seuls les super-administrateurs peuvent activer la délégation d'autorité à l'échelle du domaine. Pour en savoir plus, consultez Déléguer l'autorité au niveau du domaine à un compte de service.
Étape suivante
Configurez l'écran de consentement OAuth de votre application pour vous assurer que les utilisateurs comprennent et approuvent l'accès de votre application à leurs données.