Contrôle des accès

Vous pouvez contrôler les accès en définissant des rôles au niveau du projet GCP. Attribuez un rôle à un membre du projet GCP ou à un compte de service pour déterminer son niveau d'accès à votre projet Google Cloud Platform et à ses ressources.

Vous pouvez utiliser des rôles primitifs lorsque vous travaillez sur des projets plus petits aux besoins moins complexes. Afin de mieux contrôler les accès, utilisez les rôles de gestion de l'authentification et des accès (IAM), qui incluent les rôles App Engine prédéfinis. Pour en savoir plus sur les rôles IAM, consultez la documentation IAM.

Pour en savoir plus sur l'attribution de rôles, consultez la page Accorder l'accès aux projets.

Pour obtenir des informations détaillées sur les autorisations accordées aux rôles IAM prédéfinis, jusqu'au niveau d'appel de méthode, consultez la section Rôles dans la documentation relative à l'API Admin.

Rôles primitifs

Pour les applications App Engine, le rôle d'un membre du projet GCP contrôle également les actions autorisées des outils de ligne de commande, qui permettent de déployer et gérer les applications.

Rôle Autorisations pour la console GCP Autorisations pour les outils
Owner Obligatoire pour créer des applications App Engine. Tous les droits du lecteur et du collaborateur, ainsi que la possibilité d'afficher le code source déployé, d'inviter des utilisateurs, de modifier les rôles des utilisateurs et de supprimer une application. Obligatoire pour créer des applications App Engine. Déployer le code d'application et mettre à jour toutes les configurations.
Editor Afficher les informations relatives à l'application et modifier ses paramètres. Déployer le code de l'application, mettre à jour les index/files d'attente/tâches Cron.
Viewer Afficher les informations relatives à l'application. Consulter les journaux des requêtes.

Rôles App Engine prédéfinis

Les rôles prédéfinis pour App Engine vous offrent des options de contrôle des accès plus précises. Chaque rôle est répertorié avec son utilisateur cible dans le tableau suivant. Le tableau de comparaison vous permet d'afficher l'ensemble des fonctions de chaque rôle.

Rôle Fonctions Utilisateur cible
Administrateur App Engine Accès en lecture/écriture/modification à l'ensemble de la configuration et des paramètres de l'application.
  • Propriétaire/Administrateur de l'application
  • Ingénieur d'astreinte
  • Administrateur système
Administrateur de services App Engine
  • Accès en lecture seule à l'ensemble de la configuration et des paramètres de l'application.
  • Accès en écriture aux paramètres de niveau de service et de version, y compris à la configuration du trafic.
  • Ce rôle ne permet pas de déployer des versions d'applications. Pour en savoir plus, consultez la section relative à la séparation des tâches ci-dessous.
  • Ingénieur de versions
  • DevOps
  • Ingénieur d'astreinte
  • Administrateur système
Utilisateur à l'origine du déploiement App Engine
  • Accès en lecture seule à l'ensemble de la configuration et des paramètres de l'application.
  • Accès en écriture uniquement pour déployer et créer une version.
  • Supprimer les anciennes versions qui ne diffusent pas le trafic.
  • Ce rôle ne permet pas de modifier une version existante ni de modifier la configuration du trafic.

Consultez la section relative aux déploiements ci-dessous pour en savoir plus sur les rôles obligatoires.

  • Compte de déploiement
  • Ingénieur de versions
Lecteur App Engine Accès en lecture seule à l'ensemble de la configuration et des paramètres de l'application.
  • Utilisateur ayant besoin de visibilité sur l'application, mais pas de la modifier.
  • Tâche d'audit pour vérifier la conformité aux règles de la configuration d'App Engine.
Lecteur de codes App Engine Accès en lecture seule à l'ensemble de la configuration, des paramètres et du code source déployé de l'application.
  • Utilisateur ayant besoin de visibilité sur l'application et sur son code source, mais pas de les modifier.
  • Utilisateur DevOps ayant besoin de diagnostiquer des problèmes de production.

Matrice de comparaison des rôles prédéfinis

Le tableau suivant compare de manière exhaustive les fonctions de chaque rôle App Engine prédéfini.

Fonctionnalités Administrateur App Engine Administrateur de services App Engine Utilisateur à l'origine du déploiement App Engine Lecteur App Engine Lecteur de codes App Engine
Répertorier l'ensemble des services, versions et instances Oui Oui Oui Oui Oui
Afficher l'ensemble des paramètres d'application, de service, de version et d'instance Oui Oui Oui Oui Oui
Afficher les métriques de l'environnement d'exécution telles que l'utilisation des ressources, les informations de charge et les informations relatives aux erreurs Oui Oui Oui Oui Oui
Afficher le code source de l'application Non Non Non Non Oui
Déployer une nouvelle version d'application Oui Non Oui Non Non
Répartir ou migrer le trafic Oui Oui Non Non Non
Démarrer et arrêter une version Oui Oui Non Non Non
Supprimer une version Oui Oui Oui Non Non
Supprimer un service dans son intégralité Oui Oui Non Non Non
Se connecter via SSH à une instance de VM dans l'environnement flexible Oui Non Non Non Non
Arrêter une instance Oui Non Non Non Non
Désactiver et réactiver l'application App Engine Oui Non Non Non Non
Accéder aux gestionnaires dont l'accès est limité avec login:admin Oui Non Non Non Non
Mettre à jour les règles de distribution Oui Non Non Non Non
Mettre à jour les paramètres DoS Oui Non Non Non Non
Mettre à jour les planifications Cron Non Non Non Non Non
Mettre à jour l'expiration des cookies par défaut Oui Non Non Non Non
Mettre à jour les URL de provenance Oui Non Non Non Non
Mettre à jour les expéditeurs autorisés de l'API Email Oui Non Non Non Non

Pour en savoir plus sur les autorisations IAM spécifiques accordées par chaque rôle, consultez la section Rôles dans la documentation sur l'API Admin.

Déployer avec des rôles prédéfinis

Le rôle "Utilisateur à l'origine du déploiement App Engine" est recommandé pour le compte utilisateur qui n'est responsable que du déploiement de la nouvelle version d'une application. Le rôle "Administrateur App Engine" est une alternative qui inclut des droits d'administrateur supplémentaires, y compris la possibilité de déployer des versions.

Chacun de ces deux rôles accorde au compte utilisateur l'autorisation de se servir de l'API Admin pour déployer des applications. Pour accorder l'autorisation d'utiliser les commandes gcloud ou d'autres outils App Engine, vous devez également attribuer au compte utilisateur le rôle "Administrateur de l'espace de stockage".

Pour savoir précisément comment accorder les autorisations nécessaires, consultez la section Déployer à l'aide de rôles IAM.

Séparer les tâches de déploiement et d'acheminement du trafic

De nombreuses entreprises préfèrent séparer la tâche liée au déploiement d'une version d'application de celle relative à l'augmentation progressive du trafic vers la nouvelle version. Chaque tâche est alors confiée à différents postes. Les rôles "Utilisateur à l'origine du déploiement App Engine" et "Administrateur de services App Engine" assurent cette séparation :

  • Rôle "Utilisateur à l'origine du déploiement App Engine" : les comptes utilisateur sont limités au déploiement de nouvelles versions et à la suppression des anciennes versions qui ne diffusent pas le trafic. Le compte utilisateur disposant du rôle "Utilisateur à l'origine du déploiement App Engine" ne pourra pas configurer le trafic sur une version ni modifier les paramètres au niveau de l'application, tels que les règles de distribution ou le domaine d'authentification.

  • Rôle "Administrateur de services App Engine" : les comptes utilisateur ne peuvent pas déployer la nouvelle version d'une application ni modifier les paramètres au niveau de l'application. Toutefois, ces comptes disposent de droits leur permettant de modifier les propriétés des versions et services existants, y compris le choix des versions pouvant diffuser le trafic. Le rôle "Administrateur de services App Engine" est idéal pour un service des opérations ou un service informatique qui gère l'augmentation progressive du trafic sur des versions récemment déployées.

Autorisations qui ne sont PAS accordées par les rôles prédéfinis

Aucun des rôles prédéfinis ci-dessus n'accorde l'accès aux actions suivantes :

  • Créer des applications App Engine
  • Afficher et télécharger les journaux d'application
  • Afficher les graphiques de Monitoring dans la console GCP
  • Activer et désactiver la facturation
  • Définir un plafond budgétaire quotidien (anciennement dénommé "budget") pour App Engine et afficher le montant dépensé en dollars
  • Exécuter des analyses de sécurité dans Cloud Security Scanner
  • Accéder à la configuration ou aux données stockées dans Datastore, les files d'attente de tâches, Memcache, Cloud Search ou tout autre produit de stockage Cloud Platform

Compte de service pour App Engine

Une fois que vous avez créé une application App Engine, le compte de service App Engine par défaut est créé et utilisé en tant qu'identité du service App Engine. Le compte de service App Engine par défaut est associé à votre projet GCP et exécute des tâches pour le compte de vos applications exécutées dans App Engine.

Par défaut, ce compte dispose du rôle "Collaborateur" dans le projet. Cela signifie que tout compte utilisateur disposant des autorisations suffisantes pour déployer les modifications dans le projet GCP peut également exécuter du code avec un accès en lecture/écriture à toutes les ressources de ce projet.

Modifier les autorisations des comptes de service

Vous pouvez modifier les autorisations accordées à vos comptes de service depuis la console GCP. Par exemple, vous pouvez rétrograder les autorisations utilisées par le compte de service App Engine par défaut en remplaçant son rôle "Collaborateur" par le ou les rôles qui correspondent le mieux aux besoins d'accès de votre application App Engine.

Pour modifier les autorisations accordées à vos comptes de service, procédez comme suit :

  1. Ouvrez la console GCP.

    Accéder à la page "Autorisations"

  2. Dans la liste "Membres", repérez l'ID du compte de service App Engine par défaut.

    Le compte de service App Engine par défaut utilise l'ID du membre, au format suivant :
    YOUR_PROJECT_ID@appspot.gserviceaccount.com

  3. Vous pouvez ensuite modifier les rôles accordés au compte de service à l'aide du menu déroulant.

Utiliser le compte de service

  • Pour renommer ou créer des clés pour vos comptes de service, y compris le compte de service App Engine par défaut, accédez à la page "Comptes de service" de la console GCP afin d'afficher et de modifier vos comptes de service.

    Accéder à la page "Comptes de service"

  • Pour exécuter des commandes du SDK Cloud à l'aide d'un compte de service, y compris des outils de développement du SDK Cloud, vous devez d'abord activer l'API Google App Engine Admin dans votre projet Google Cloud Platform. La bibliothèque d'API de la console GCP vous permet de gérer l'ensemble des API et des services de votre projet GCP :

    Accéder à la page "Bibliothèque d'API"

Restaurer un compte de service par défaut supprimé

Si vous supprimez votre compte de service App Engine par défaut, votre application App Engine risque de s'interrompre et de ne plus pouvoir accéder à d'autres services GCP, tels que Cloud Datastore.

Vous pouvez restaurer un compte de service App Engine par défaut supprimé à l'aide de la commande gcloud beta app repair ci-dessous :

# Set your gcloud project
gcloud config set project <project-id>

# Restore your default service account
gcloud beta app repair
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Java 8