Ce document du framework d'architecture Google Cloud présente les bonnes pratiques à adopter pour gérer les identités et les accès.
La gestion de l'authentification et des accès (généralement appelée IAM, Identity and Access Management) vous permet de vous assurer que les bonnes personnes peuvent accéder aux bonnes ressources. IAM aborde les aspects suivants concernant l'authentification et l'autorisation :
- Gestion des comptes, y compris provisionnement
- Gouvernance des identités
- Authentification
- Contrôle des accès (autorisation)
- Fédération d'identité
La gestion d'IAM peut s'avérer difficile lorsque vous avez des environnements différents ou si vous utilisez plusieurs fournisseurs d'identité. Cependant, il est essentiel de configurer un système capable de répondre aux exigences de votre entreprise tout en limitant les risques.
Les recommandations de ce document vous aident à examiner vos stratégies et procédures IAM actuelles, et à déterminer celles que vous devrez peut-être modifier pour vos charges de travail dans Google Cloud. Par exemple, vous devez examiner les éléments suivants :
- Si vous pouvez gérer l'accès à l'aide de groupes existants ou en créer de nouveaux.
- Vos exigences d'authentification (telles que l'authentification multifacteur (MFA) à l'aide d'un jeton).
- L'impact des comptes de service sur vos stratégies actuelles.
- Si vous utilisez Google Cloud pour la reprise après sinistre, maintenez la séparation des tâches appropriée.
Dans Google Cloud, vous utilisez Cloud Identity pour authentifier vos utilisateurs et vos ressources, ainsi que le produit Identity and Access Management (IAM) de Google pour déterminer l'accès aux ressources. Les administrateurs peuvent limiter l'accès au niveau de l'organisation, du dossier, du projet et de la ressource. Les stratégies Google IAM déterminent qui peut faire quoi sur quelles ressources. Correctement configurées, les stratégies IAM vous permettent de sécuriser votre environnement en empêchant tout accès non autorisé aux ressources.
Pour en savoir plus, consultez la page Présentation de la gestion de l'authentification et des accès.
Utiliser un seul fournisseur d'identité
De nombreux clients possèdent des comptes utilisateur gérés et provisionnés par des fournisseurs d'identité en dehors de Google Cloud. Google Cloud accepte la fédération avec la plupart des fournisseurs d'identité et avec des annuaires sur site tels qu'Active Directory.
La plupart des fournisseurs d'identité vous permettent d'activer l'authentification unique (SSO, Single Sign-On) pour vos utilisateurs et vos groupes. Pour les applications que vous déployez sur Google Cloud et qui utilisent votre fournisseur d'identité externe, vous pouvez étendre votre fournisseur d'identité à Google Cloud. Pour en savoir plus, consultez les pages Architectures de référence et Modèles pour l'authentification des utilisateurs d'entreprise dans un environnement hybride.
Si vous ne disposez d'aucun fournisseur d'identité, vous pouvez gérer les identités de vos employés à l'aide de Cloud Identity Premium ou de Google Workspace.
Protéger le compte super-administrateur
Le compte super-administrateur (géré par Google Workspace ou Cloud Identity) vous permet de créer votre organisation Google Cloud. Ce compte administrateur est donc hautement privilégié. Les bonnes pratiques concernant ce compte sont les suivantes :
- Créez un compte spécifique à cet effet ; n'utilisez pas de compte utilisateur existant.
- Créer et protéger des comptes de sauvegarde
- Activez l'authentification multifacteur.
Pour plus d'informations, consultez les bonnes pratiques concernant les comptes super-administrateur.
Planifier l'utilisation des comptes de service
Un compte de service est un compte Google qui permet aux applications d'appeler l'API Google d'un service.
Contrairement à vos comptes utilisateur, les comptes de service sont créés et gérés dans Google Cloud. Les comptes de service s'authentifient également différemment des comptes utilisateur :
- Pour permettre à une application exécutée sur Google Cloud de s'authentifier à l'aide d'un compte de service, vous pouvez associer un compte de service à la ressource de calcul sur laquelle l'application s'exécute.
- Pour permettre à une application exécutée sur GKE de s'authentifier à l'aide d'un compte de service, vous pouvez utiliser Workload Identity.
- Pour permettre aux applications qui s'exécutent en dehors de Google Cloud de s'authentifier à l'aide d'un compte de service, vous pouvez utiliser la fédération d'identité de charge de travail.
Lorsque vous utilisez des comptes de service, vous devez envisager une séparation des tâches appropriée lors du processus de conception. Notez les appels d'API que vous devez effectuer, et déterminez les comptes de service et les rôles associés requis par les appels d'API. Par exemple, si vous configurez un entrepôt de données BigQuery, vous aurez probablement besoin d'identités pour au moins les processus et services suivants :
- Cloud Storage ou Pub/Sub, selon que vous fournissez un fichier par lots ou créez un service de streaming.
- Dataflow et Sensitive Data Protection pour anonymiser les données sensibles.
Pour en savoir plus, consultez la section Bonnes pratiques pour l'utilisation des comptes de service.
Mettre à jour vos processus d'identité pour le cloud
La gouvernance des identités vous permet de suivre les accès, les risques et les cas de non-respect des règles afin de répondre à vos exigences réglementaires. Cette gouvernance nécessite que vous mettiez en place des processus et des stratégies pour que vous puissiez accorder et auditer les rôles et autorisations d'accès aux utilisateurs. Vos processus et règles doivent répondre aux exigences de vos environnements, par exemple, test, développement et production.
Avant de déployer des charges de travail sur Google Cloud, examinez vos processus d'identité actuels et mettez-les à jour si nécessaire. Assurez-vous de planifier correctement les types de comptes dont votre organisation a besoin, et de bien comprendre les rôles et les exigences d'accès associés.
Pour vous aider à auditer les activités Google IAM, Google Cloud crée des journaux d'audit qui incluent les éléments suivants :
- Activité d'administration. Il est impossible de désactiver cette journalisation.
- Activité d'accès aux données. Vous devez activer cette journalisation.
Si nécessaire, ou si vous souhaitez configurer une analyse des journaux (par exemple, avec votre système SIEM), vous pouvez exporter les journaux. Étant donné que les journaux peuvent augmenter vos besoins en stockage, ils peuvent affecter vos coûts. Veillez à n'enregistrer que les actions requises et à définir des calendriers de conservation appropriés.
Configurer l'authentification unique et l'authentification multifacteur
Votre fournisseur d'identité gère l'authentification des comptes utilisateur. Les identités fédérées peuvent s'authentifier auprès de Google Cloud à l'aide de l'authentification unique. Pour les comptes privilégiés, tels que les super-administrateurs, vous devez configurer l'authentification multifacteur. Les clés de sécurité Titan sont des jetons physiques que vous pouvez utiliser pour l'authentification à deux facteurs (A2F) afin de prévenir les attaques par hameçonnage.
Cloud Identity est compatible avec l'authentification multifacteur à l'aide de diverses méthodes. Pour plus d'informations, consultez la section Appliquer la MFA de manière uniforme aux ressources de l'entreprise.
Google Cloud est compatible avec l'authentification pour les identités de charge de travail à l'aide du protocole OAuth 2.0 ou des jetons Web JSON (JWT) signés. Pour en savoir plus sur l'authentification des charges de travail, consultez la page Présentation de l'authentification.
Mettre en œuvre le principe du moindre privilège et de la séparation des tâches
Vous devez vous assurer que les bonnes personnes n'accèdent qu'aux ressources et services dont elles ont besoin pour effectuer leurs tâches. Autrement dit, vous devez suivre le principe du moindre privilège. De plus, vous devez vous assurer qu'il existe une séparation des tâches appropriée.
Le surprovisionnement des accès utilisateur peut accroître le risque de menace interne, de ressources mal configurées et de non-conformité avec les audits. L'accord d'autorisations insuffisantes peut empêcher les utilisateurs d'accéder aux ressources dont ils ont besoin pour effectuer leurs tâches.
Une façon d'éviter le surprovisionnement consiste à mettre en œuvre un accès privilégié juste à temps, c'est-à-dire à ne fournir un accès privilégié que si nécessaire, et de n'accorder l'accès que temporairement.
Sachez que lorsqu'une organisation Google Cloud est créée, les rôles de créateur de compte de facturation et de créateur de projet sont attribués par défaut à tous les utilisateurs de votre domaine. Identifiez les utilisateurs qui effectueront ces tâches et révoquez ces rôles pour les autres utilisateurs. Pour plus d'informations, consultez la page Créer et gérer des organisations.
Pour en savoir plus sur le fonctionnement des rôles et des autorisations dans Google Cloud, consultez les pages Présentation et Comprendre les rôles de la documentation IAM. Pour plus d'informations sur l'application du moindre privilège, consultez la section Appliquer le principe du moindre privilège avec les recommandations de rôle.
Accès d'audit
Pour surveiller les activités des comptes privilégiés afin de détecter les écarts par rapport aux conditions approuvées, utilisez Cloud Audit Logs. Cloud Audit Logs enregistre les actions effectuées par les membres de votre organisation Google Cloud dans vos ressources Google Cloud. Vous pouvez utiliser différents types de journaux d'audit pour les services Google. Pour en savoir plus, consultez la page Utiliser des journaux d'audit Cloud pour gérer les risques internes (vidéo).
L'outil de recommandation IAM permet de suivre l'utilisation et d'ajuster les autorisations le cas échéant. Les rôles recommandés par l'outil de recommandation IAM peuvent vous aider à déterminer les rôles à attribuer à un utilisateur en fonction de son comportement passé et d'autres critères. Pour en savoir plus, consultez la page Bonnes pratiques pour les recommandations de rôles.
Pour contrôler l'accès à vos ressources par le personnel d'assistance et l'ingénierie de Google, vous pouvez utiliser Access Transparency. Access Transparency enregistre les actions effectuées par le personnel de Google. Utilisez Access Approval, qui fait partie d'Access Transparency, pour accorder une approbation explicite à chaque accès au contenu du client. Pour en savoir plus, consultez la page Contrôler l'accès des administrateurs cloud à vos données.
Automatiser vos contrôles de règles
Définissez les autorisations d'accès de manière automatisée dans la mesure du possible. Pour connaître les bonnes pratiques, consultez la page Contraintes liées aux règles d'administration. Les scripts Terraform pour le plan de base d'entreprise se trouvent dans l'exemple de dépôt de base.
Google Cloud inclut Policy Intelligence, qui vous permet d'examiner et de mettre à jour automatiquement vos autorisations d'accès. Policy Intelligence inclut l'outil de recommandation, Policy Troubleshooter et Policy Analyzer qui effectuent les opérations suivantes :
- Fournir des recommandations pour l'attribution de rôle IAM
- Surveiller et éviter les stratégies IAM trop permissives
- Résoudre les problèmes liés au contrôle des accès.
Définir des restrictions sur les ressources
Google IAM se concentre sur la réponse à la question qui et vous permet d'autoriser une personne à agir sur des ressources spécifiques en fonction des autorisations. Le service de règles d'administration se concentre sur la réponse à la question quoi et vous permet de définir des restrictions sur les ressources pour spécifier leur configuration. Par exemple, vous pouvez utiliser une règle d'administration pour effectuer les opérations suivantes :
- Limiter le partage des ressources en fonction du domaine
- Limiter l'utilisation des comptes de service.
- Limiter l'emplacement physique des ressources nouvellement créées
En plus d'utiliser des règles d'administration pour ces tâches, vous pouvez restreindre l'accès aux ressources via l'une des méthodes suivantes :
- Utilisez des tags pour gérer l'accès à vos ressources sans définir les autorisations d'accès sur chaque ressource. Vous devez ajouter le tag, puis définir la définition d'accès pour le tag lui-même.
- Utilisez les conditions IAM pour effectuer un contrôle conditionnel des accès aux ressources basé sur des attributs.
- Mettez en œuvre la défense en profondeur en utilisant VPC Service Controls pour restreindre davantage l'accès aux ressources.
Pour en savoir plus sur la gestion des ressources, consultez Choisir une hiérarchie de ressources pour votre zone de destination Google Cloud.
Étape suivante
Pour en savoir plus sur IAM, consultez les ressources suivantes :
Mettre en œuvre la sécurité des ressources de calcul et des conteneurs (document suivant de cette série)
Outil de recommandation IAM : moindre privilège avec moins d'efforts
Présentation de la gestion de l'authentification et des accès