L'authentification et l'autorisation sont des mécanismes utilisés respectivement pour vérifier l'identité et l'accès aux ressources. Ce document identifie les termes clés que vous devez connaître avant de mettre en œuvre l'authentification et l'autorisation dans votre application.
L'authentification identifie qui effectue 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 vous souhaitez accéder sans établir au préalable 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 personnel de la réception demande votre pièce d'identité pour valider votre réservation. Votre pièce d'identité vous authentifie auprès de l'hôtel. Le secrétaire de la réception vous donne une clé. Cette clé vous donne accès à certaines ressources de l'hôtel, telles que votre chambre, la salle de sport et le centre d'affaires. La clé d'hôtel autorise l'accès à ces ressources.
Présentation du processus
Le schéma suivant illustre les étapes générales de l'authentification et de l'autorisation pour les API Google Workspace:

Configurez votre projet et votre application Google Cloud:pendant le développement, vous enregistrez votre application dans la console Google Cloud, en définissant des champs d'application 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.
Authentifier votre application pour l'accès: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 aux ressources Google, elle demande à Google d'utiliser les champs d'application d'accès que vous avez précédemment enregistrés.
Demander l'autorisation de l'utilisateur:si votre application s'authentifie en tant qu'utilisateur final, Google affiche l'écran de consentement OAuth pour que l'utilisateur puisse décider d'autoriser votre application à accéder aux données demandées.
Envoyer une demande de ressources approuvée:si l'utilisateur consent aux niveaux d'accès, votre application regroupe dans une requête les identifiants et les niveaux d'accès approuvés par l'utilisateur. La requête est envoyée au serveur d'autorisation Google afin d'obtenir un jeton d'accès.
Google renvoie un jeton d'accès:le jeton d'accès contient la liste des niveaux d'accès accordés. Si la liste de champs d'application renvoyée est plus limitée que les champs d'application 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 pertinentes et accéder aux ressources.
Obtenir 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 seul jeton d'accès, 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 génère une nouvelle requête pour obtenir un jeton d'accès (étapes 3 à 6).
Terminologie importante
Vous trouverez ci-dessous une liste de termes liés à l'authentification et à l'autorisation:
- Authentification
S'assurer qu'un compte principal, qui peut être un utilisateur ou une application agissant pour le compte d'un utilisateur, est bien ce qu'il prétend. Lorsque vous écrivez des applications Google Workspace, vous devez connaître les types d'authentification suivants:
- Authentification des utilisateurs
- L'action d'un utilisateur qui s'authentifie (connexion) à votre application. L'authentification de l'utilisateur est généralement effectuée via un processus de connexion dans lequel l'utilisateur utilise une combinaison de nom d'utilisateur et mot de passe pour vérifier son identité. L'authentification de l'utilisateur peut être intégrée à une application à l'aide de Se connecter avec Google.
- Authentification des applications
- L'action d'une application qui s'authentifie directement auprès des services Google pour le compte de l'utilisateur qui l'exécute. L'authentification de l'application est généralement effectuée à l'aide d'identifiants prédéfinis dans le code de votre application.
- Autorisation
Autorisations ou "autorité" dont le compte principal doit accéder aux données ou effectuer des opérations. L'autorisation est effectuée par le code que vous écrivez dans votre application. Ce code informe l'utilisateur que l'application souhaite agir en son nom et, si cela est autorisé, utilise les identifiants uniques de votre application pour obtenir un jeton d'accès de Google, utilisé pour accéder aux données ou effectuer des opérations.
- Credential (Identifiant)
Une forme d'identification utilisée pour la sécurité logicielle. 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 justificatif d'identité est généralement une forme d'identification, comme une chaîne secrète unique, connue uniquement entre le développeur de l'application et le serveur d'authentification. Google prend en charge 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 via l'API Google Maps ou les fichiers Google Workspace partagés via le paramètre "Tous les internautes disposant du 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 des identifiants principaux utilisés 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 de votre application et du serveur d'autorisation. Le code secret du client protège les données de l'utilisateur en n'accordant des jetons qu'aux demandeurs autorisés. Vous ne devez jamais inclure le code secret du client dans votre application.
- Clés de compte de service
- Utilisé par les comptes de service pour obtenir l'autorisation d'un service Google.
- Compte de service
- Identifiant utilisé pour les interactions de serveur à serveur, comme une application sans visage qui s'exécute en tant que processus pour accéder à certaines 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 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.
- Scope (Portée)
Chaîne d'URI OAuth 2.0 qui définit le niveau d'accès aux ressources ou aux actions accordés à une application. Pour Google Workspace, les URI du champ d'application d'autorisation contiennent le nom de l'application Google Workspace, le type de données auquel il accède et le niveau d'accès. Les utilisateurs de votre application peuvent examiner les champs d'application demandés et choisir l'accès à accorder. Le serveur d'authentification de Google renvoie ensuite les champs d'application autorisés à votre application dans un jeton d'accès. Pour en savoir plus, consultez la section Choisir des champs d'application pour votre application.
- Serveur d'autorisation
Serveur de Google pour accorder l'accès aux données et opérations demandées par une application à l'aide d'un jeton d'accès
- Code d'autorisation
Code envoyé par le serveur d'autorisation permettant d'obtenir un jeton d'accès. Un code n'est nécessaire que lorsque votre type d'application est une application de serveur Web ou une application installée.
- Jeton d'accès
Jeton accordant l'accès à une API Google Workspace. Un même jeton d'accès peut accorder divers degrés d'accès à plusieurs API, appelés champs d'application. 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 accorder un "accès délégué sécurisé" ou un accès aux données et aux opérations au nom 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é, qui peut être autorisée à accéder à une ressource. 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 un contexte d'authentification et d'autorisation, le type de données désigne l'entité qui détient 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, telles que certaines données Google Maps. Ces données sont généralement accessibles à l'aide d'une clé API.
- Données utilisateur final
- Données appartenant à un utilisateur final ou à un groupe spécifique, tels que 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 nécessitant que l'utilisateur de votre application l'autorise à 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), application Android, application Chrome, iOS, téléviseurs et périphériques d'entrée limités, application de bureau (également appelée "application installée") et plate-forme universelle Windows (UWP).
- Compte de service
Type de compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et être autorisé à accéder aux données. Votre application suppose l'identité du compte de service pour appeler les API Google afin que les utilisateurs ne soient pas directement impliqués. Les comptes de service ne peuvent pas être utilisés seuls pour accéder aux données utilisateur. Les données sont généralement consultées à l'aide des API Workspace. Toutefois, un compte de service peut accéder aux données utilisateur en mettant en œuvre une délégation au niveau du domaine. Pour en savoir plus, consultez Comprendre les comptes de service.
- Délégation d'autorité au niveau du domaine
Une fonctionnalité d'administration permettant d'autoriser une application à accéder aux données utilisateur pour le compte d'utilisateurs de l'organisation Google Workspace. La délégation au niveau du domaine permet d'effectuer des tâches d'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. Grâce à 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 l'article 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 le type d'accès de votre application à leurs données.