Il existe un certain nombre de produits et services Google Cloud qui peuvent vous aider à développer une approche de gestion de l'authentification et des accès pour les applications et les charges de travail exécutées sur Google Cloud. Ce document est destiné aux administrateurs de sécurité, aux responsables des opérations et aux architectes d'entreprise qui travaillent au sein d'équipes de clients et qui souhaitent en savoir plus sur ces outils et commandes, et sur leur utilisation.
Ce document suppose que vous disposez des éléments suivants :
- Un projet Google Cloud.
- Un compte utilisateur disposant d'un accès administrateur pour gérer les groupes et les utilisateurs Cloud Identity. Vous avez besoin de cet accès pour exécuter les exemples de procédures présentés dans ce document.
Un compte utilisateur sans accès administrateur pour gérer les groupes et les utilisateurs Cloud Identity. Vous avez besoin de ce compte pour tester certains des contrôles que vous avez définis dans les exemples de procédures présentés dans ce document.
Si vous n'avez pas encore accès à un projet Google Cloud et un accès administrateur à Cloud Identity, consultez Créer un projet Google Cloud et Configurer Cloud Identity.
Découvrir les comptes et les autorisations non utilisés
Il est recommandé de supprimer les comptes utilisateur lorsqu'ils ne sont plus nécessaires, car les comptes utilisateur et les comptes de service non utilisés (orphelins) peuvent présenter un risque pour la sécurité. Afin de vous aider à comprendre et à réduire les risques pour votre entreprise, vous pouvez utiliser Google Cloud Policy Intelligence comme suit :
- Aider les administrateurs de votre entreprise à découvrir des comptes et des autorisations qui ne sont plus utilisés, pour des raisons liées au fait qu'un employé a par exemple quitté l'entreprise ou modifié les rôles.
- Aider à identifier les comptes de service qui ont été abandonnés une fois les tâches terminées.
Afficher et appliquer les recommandations IAM
L'outil de recommandation Identity and Access Management (IAM) fait partie de la suite d'outils et de services Policy Intelligence. Grâce au machine learning (ML), cet outil formule des recommandations intelligentes sur le contrôle des accès pour vous aider à identifier les comptes qui n'ont plus besoin d'accéder aux ressources Google Cloud. Vous pouvez ensuite examiner les recommandations et décider de les appliquer ou non. L'outil de recommandation IAM vous aide également à mettre en œuvre le principe du moindre privilège pour tous les membres de votre organisation. En plus de proposer des recommandations, le service de recommandation utilise le ML pour fournir des insights détaillés. Les insights sont des observations qui mettent en évidence des traits caractéristiques concernant l'utilisation des ressources. Par exemple, vous pouvez grâce à eux obtenir des informations supplémentaires sur l'utilisation des autorisations dans votre projet, identifier les autorisations inutilisées et qui ne sont plus nécessaires, et identifier les comptes de service non utilisés.
Il est possible d'afficher et d'appliquer les recommandations IAM dans la console Google Cloud à l'échelle de l'entreprise. Dans l'exemple de procédure suivant, vous allez utiliser BigQuery pour examiner et redimensionner les autorisations d'accès au sein de votre organisation. Pour configurer l'intégration BigQuery, vous devez configurer une exportation de recommandations émises par l'outil de recommandation IAM vers un ensemble de données BigQuery. Vous pouvez ensuite interroger et examiner ces données à l'aide d'outils de visualisation tels que Looker Studio et Looker.
Implémentation
Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
BigQuery est automatiquement activé dans les nouveaux projets. Pour activer BigQuery dans un projet préexistant, activez l'API BigQuery.
Configurez le service de transfert de données BigQuery pour extraire les données de l'outil de recommandation IAM Pour en savoir plus, consultez la page Exporter des recommandations vers BigQuery.
Accédez à la page BigQuery.
Copiez et collez la requête suivante dans le champ Éditeur.
SELECT recommendation_details FROM PROJECT_ID.DATASET.TABLE_NAME WHERE recommender = "google.iam.policy.Recommender" AND recommender_subtype = "REMOVE_ROLE"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud que vous utilisez pour exécuter cet exemple.DATASET
: nom de l'ensemble de données que vous avez sélectionné lors de la configuration de la tâche du service de transfert de données BigQuery.TABLE_NAME
: nom de la table créée par la tâche du service de transfert de données BigQuery.
Exécutez cette requête pour identifier le sous-type
recommender_subtype
des recommandations de l'outil de recommandation IAMREMOVE_ROLE
.Cliquez sur Run (Exécuter). Le résultat de la requête vous permet d'identifier les rôles non utilisés et de redimensionner les liaisons de rôles IAM.
Vous pouvez enregistrer les résultats de requête dans Sheets. Pour en savoir plus, consultez la page Enregistrer des résultats de requête dans Sheets.
Donner aux utilisateurs la possibilité de demander l'accès aux ressources
Les administrateurs d'entreprise ont la possibilité de laisser les utilisateurs demander l'accès aux ressources. En règle générale, ces demandes passent par un processus d'approbation dans lequel un approbateur désigné ou un groupe d'approbateurs doit approuver la demande pour que l'accès soit accordé. Google Groupes vous permet d'appliquer une règle d'accès à un ensemble d'utilisateurs, ce qui vous permet de suivre les bonnes pratiques de gestion des stratégies d'accès aux ressources basées sur l'appartenance à un groupe. Cette approche maintient des stratégies pertinentes au fur et à mesure que des événements de changements d'effectifs se produisent lors de modifications d'appartenance aux groupes.
Vous pouvez accorder et modifier les contrôles d'accès pour tout un groupe avec Google Groupes, au lieu d'octroyer ou de modifier les contrôles d'accès un à un pour des utilisateurs ou des comptes de service. Vous pouvez aussi ajouter des membres à un groupe Google et en supprimer facilement. Il n'est pas nécessaire de mettre à jour une stratégie IAM pour ajouter ou supprimer des utilisateurs.
Configurer l'accès aux ressources à l'aide de Google Groupes
Vous pouvez créer et gérer un groupe Google à l'aide de Cloud Identity. Cloud Identity est une solution IDaaS (Identity as a Service) qui gère les utilisateurs et les groupes. Vous pouvez également configurer Cloud Identity pour fédérer des identités entre Google et d'autres fournisseurs d'identité, tels qu'Active Directory et Azure Active Directory. Google Groupes permet également à un utilisateur de demander à rejoindre un groupe. Cette requête est acheminée vers des administrateurs de groupe autorisés à l'approuver ou à la refuser. Pour en savoir plus, consultez la page Créer un groupe et définir ses paramètres.
Lorsque vous créez et gérez un groupe Google pour accorder l'accès aux ressources Google Cloud, tenez compte des implications des paramètres que vous sélectionnez. Même si nous vous recommandons de réduire le nombre d'utilisateurs pouvant gérer le groupe, nous vous conseillons de configurer plusieurs administrateurs du groupe afin qu'ils aient toujours accès à ce groupe. Nous vous recommandons également de limiter l'appartenance aux groupes aux utilisateurs de votre organisation.
Implémentation
Dans cet exemple de procédure, vous allez créer un groupe Google et donner au groupe de lecteurs un accès à un exemple de projet Google Cloud. Les membres que vous ajoutez à ce groupe (ou auxquels vous accordez l'accès sur demande) peuvent afficher l'exemple de projet Google Cloud.
Créer un exemple de groupe Google
Les étapes suivantes supposent que Cloud Identity est configuré. Pour en savoir plus, consultez la page Configurer Cloud Identity. Assurez-vous de disposer des autorisations nécessaires pour gérer des groupes.
Dans la console Google Cloud, accédez à la page Groupes.
Cliquez sur Créer.
Complétez les détails concernant votre groupe.
Pour ajouter des membres au groupe, cliquez sur Ajouter un membre, puis saisissez l'adresse e-mail du membre et choisissez son rôle Google Groupes.
Lorsque vous avez terminé, cliquez sur Envoyer pour créer le groupe.
Les paramètres de groupe ne peuvent être gérés que dans Google Groupes. Pour configurer les paramètres du groupe, cliquez sur Gérer ce groupe dans Google Groupes. Pour sélectionner les personnes autorisées à rejoindre le groupe, sélectionnez Utilisateurs de l'organisation uniquement dans le menu Qui est autorisé à rejoindre le groupe.
Cliquez sur Créer un groupe.
Accorder au groupe l'accès à un projet Google Cloud
- Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
Ouvrez Cloud Shell.
Exécutez la commande suivante pour accorder au groupe un accès en lecture au projet :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_EMAIL --role=roles/viewer
Remplacez l'élément suivant :
GROUP_EMAIL
: adresse e-mail du groupe que vous avez créé.PROJECT_ID
: ID de votre projet Google Cloud
Tester le processus de demande d'accès utilisateur de votre organisation
Dans la procédure suivante, vous allez utiliser un compte utilisateur test pour montrer les étapes que les utilisateurs de votre organisation utilisent afin de demander l'accès à un groupe Google.
- Connectez-vous à Google Groupes en tant qu'utilisateur non administrateur. Le groupe que vous avez créé à l'étape Créer un exemple de groupe Google est affiché sous Tous les groupes. Si le groupe n'apparaît pas, utilisez la fonction de recherche pour le trouver.
Pour demander l'accès au groupe, cliquez sur Demander à rejoindre le groupe.
Une fois l'accès accordé, le compte utilisateur non administrateur que vous avez utilisé pour effectuer la requête doit pouvoir afficher le projet Google Cloud
PROJECT_ID
auquel le groupe a accès en lecture.
Accorder un accès limité dans le temps aux ressources Google Cloud
Dans certains cas, les utilisateurs de votre entreprise nécessitent un accès à court terme et temporaire aux ressources Google Cloud. Un accès à court terme est utile lorsque les développeurs ont besoin d'un accès temporaire aux ressources Google Cloud pour effectuer certaines tâches. L'accès à court terme présente également les avantages suivants :
- Réduire les frais administratifs.
- S'assurer que le principe du moindre privilège et l'accès rapide sont respectés.
La possibilité d'accorder ce type d'accès est utile pour les administrateurs lorsque les utilisateurs doivent accéder à des ressources en cas d'urgence nécessitant une intervention rapide et directe. Toutefois, il peut être difficile de suivre manuellement les autorisations d'accès à court terme et de s'assurer qu'elles sont supprimées rapidement. Les stratégies d'accès conditionnel IAM vous permettent de définir un accès temporaire (expirant) aux ressources Google Cloud à l'aide de liaisons de rôles conditionnelles, ce qui vous permet de réduire cette surcharge pour les administrateurs.
Utiliser des liaisons de rôles conditionnelles et l'expiration de l'adhésion à un groupe
Vous pouvez ajouter des liaisons de rôles conditionnelles à des stratégies IAM nouvelles ou existantes pour mieux contrôler l'accès aux ressources Google Cloud. Voici quelques exemples de situations où vous pouvez utiliser des liaisons de rôles conditionnelles pour accorder un accès temporaire à un utilisateur ou à un groupe :
- Accès à un projet qui expire après une période déterminée.
- Accès à un projet qui se répète tous les mois ou chaque trimestre.
- Accès aux instances Compute Engine pour gérer des tâches telles que l'arrêt d'instances.
Lorsque vous utilisez Google Groupes pour accorder aux utilisateurs l'accès aux ressources Google Cloud, vous pouvez utiliser la fonctionnalité d'expiration de l'adhésion à un groupe afin de définir des délais d'expiration pour les membres d'un groupe à l'aide de l'API Cloud Identity Groups. Une fois le délai spécifié écoulé, les utilisateurs sont automatiquement retirés du groupe.
Implémentation
Vous pouvez utiliser une liaison de rôle conditionnelle pour accorder aux développeurs un accès temporaire afin d'administrer une instance Compute Engine spécifique. Dans cet exemple, la liaison de rôle est définie pour expirer le 31 décembre 2021.
Dans Cloud Shell, définissez les variables suivantes :
export INSTANCE=create example-instance-1 export ZONE=us-west1-b export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
Remplacez
USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
par le nom de l'utilisateur de votre organisation auquel vous souhaitez accorder un accès temporaire.Créez un exemple d'instance Compute Engine :
gcloud compute instances create $INSTANCE \ --zone $ZONE \ --machine-type g1-small
Pour accorder à un utilisateur de votre organisation un accès temporaire à cette instance, procédez comme suit :
Accordez à l'utilisateur que vous avez sélectionné un accès temporaire :
gcloud compute instances add-iam-policy-binding $INSTANCE \ --zone=$ZONE \ --member="user:$USER" \ --role='roles/compute.instanceAdmin.v1' \ --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
Conservez l'instance Compute Engine que vous créez. Vous utiliserez cette instance ultérieurement dans ce document, à la section Gérer les accès privilégiés.
Vous pouvez également supprimer l'instance
example-instance-1
en exécutant la commande suivante :gcloud compute instances delete $INSTANCE
Consigner les événements de cycle de vie liés à l'identité
Si vous devez examiner les événements de cycle de vie IAM, tels que les modifications de stratégie, la création de comptes de service et les attributions de comptes de service pour l'audit, Cloud Audit Logs peut vous aider. Les administrateurs peuvent utiliser les journaux d'audit Cloud pour consulter les données historiques à des fins d'examen et d'analyse. L'analyse des journaux d'audit peut vous aider à comprendre les modèles d'accès et à accéder aux anomalies. L'analyse des journaux d'audit peut également être utile pour les scénarios suivants :
- Analyser les autorisations et accéder aux ressources lors d'une violation des données.
- Analyser les problèmes de production liés à une modification de la stratégie IAM, en particulier si vous souhaitez savoir quel utilisateur ou quel processus a effectué la modification.
Les journaux d'audit Cloud stockent des informations sur les actions effectuées par les utilisateurs, l'endroit où ces activités se sont produites et le moment auquel elles ont eu lieu. Les journaux d'audit sont classés comme suit :
- Journaux d'audit des activités d'administration
- Journaux d'audit pour l'accès aux données
- Journaux d'audit des événements système
- Journaux d'audit des refus de règles
Nous vous recommandons d'utiliser les journaux d'audit suivants pour la gestion de l'authentification et des accès relatifs à la journalisation des activités d'administration :
- Journaux d'audit pour les activités d'administration
- Journaux d'audit des refus de règles
Les journaux d'audit des activités d'administration stockent les modifications apportées aux ressources Google Cloud, telles que les projets, les instances Compute Engine et les comptes de service. Vous trouverez ci-dessous des exemples d'événements stockés par les journaux d'audit des activités d'administration :
- Création d'un compte de service.
- Modification d'une stratégie IAM.
- Téléchargement d'une clé de compte de service.
Les journaux d'audit des refus de règles enregistrent les accès refusés d'un utilisateur ou d'un compte de service à un service Google Cloud en raison d'une violation des règles de sécurité.
Configurer des journaux d'audit Cloud pour les événements de cycle de vie liés à l'identité
Vous pouvez consulter ou interroger les journaux d'audit dans la console Google Cloud à l'aide de l'API Cloud Logging ou de l'interface de ligne de commande.
Tous les journaux d'audit ont une durée de conservation. Si votre entreprise doit stocker des journaux d'audit pendant une période plus longue que la durée de conservation par défaut, vous devez les exporter vers BigQuery ou d'autres destinations de récepteur en créant un récepteur de journaux. L'exportation des journaux vers BigQuery vous permet d'afficher un sous-ensemble de colonnes de données et les données sélectionnées (au fil du temps ou d'autres dimensions), et d'effectuer une analyse globale.
Implémentation
L'exemple de procédure suivant vous indique comment interroger les journaux de projet Google Cloud pour vérifier si l'un des événements suivants s'est produit :
- Des modifications ont été apportées aux stratégies IAM.
- Des comptes de service ont été créés.
- De nouvelles clés de compte de service ont été générées.
Afficher les modifications apportées aux stratégies IAM
- Dans la console Google Cloud, accédez à la page Journalisation > Explorateur de journaux.
- Sur la page Explorateur de journaux, sélectionnez un projet Google Cloud existant.
Collez la requête suivante dans le générateur de requêtes :
logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND (resource.type="project" OR resource.type="service_account") AND resource.labels.project_id="<PROJECT>" AND (protoPayload.methodName="SetIamPolicy" OR protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount" OR protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
Remplacez
PROJECT
par l'ID de votre projet Google Cloud.Cliquez sur Exécuter la requête.
Afficher les modifications apportées aux membres du groupe
Les modifications apportées à la liste des membres du groupe Google sont suivies dans les journaux d'activité. Pour savoir comment accéder à ces journaux, consultez la section Afficher les journaux des modifications apportées aux membres d'un groupe.
Certification d'accès
L'outil Policy Analyzer peut être utilisé pour vérifier que les utilisateurs disposent des droits d'accès appropriés aux ressources Google Cloud, de manière périodique ou déterminée. Cette validation est importante à des fins de conformité et d'audit. Il est également utile pour le personnel de sécurité et les auditeurs de vérifier quels utilisateurs ont accès à quelle ressource et à quelle capacité. Policy Analyzer vous aide à identifier les identités ou les comptes principaux (utilisateurs, comptes de service, groupes et domaines) ayant accès aux ressources Google Cloud sur l'ensemble de la hiérarchie des ressources au sein de votre organisation. Il permet également d'identifier le type d'accès. Voici quelques exemples de questions auxquelles Policy Analyzer peut vous aider à répondre :
- Quels utilisateurs peuvent accéder à un compte de service.
- Quels utilisateurs peuvent lire les données dans un ensemble de données BigQuery contenant des informations permettant d'identifier personnellement l'utilisateur.
Policy Analyzer peut être utilisé à l'aide des méthodes suivantes :
- Utiliser la console Google Cloud
- Utiliser des API
- Exporter les données des stratégies IAM vers BigQuery pour une analyse asynchrone
Vérifier l'accès utilisateur à l'aide de Policy Analyzer
Les exemples de requêtes suivants montrent les insights que vous pouvez obtenir sur l'accès utilisateur à l'aide de l'outil Policy Analyzer :
- Rôles ou autorisations dont dispose un compte principal (utilisateur, compte de service, groupe et domaine) ; par exemple, vérification de l'accès d'un ancien employé à votre projet de production.
- Ressources auxquelles un utilisateur a accès ; par exemple, accès d'un ancien employé aux ressources de votre projet de production.
- Comptes principaux disposant d'un certain niveau d'accès à une ressource ; par exemple, les buckets qu'un utilisateur spécifique peut supprimer dans un projet.
Implémentation
Dans l'exemple de procédure suivant, vous allez utiliser Policy Analyzer pour vérifier les autorisations dont dispose un utilisateur.
Dans Cloud Shell, activez l'API Cloud Asset pour le projet :
Saisissez la commande suivante pour savoir à quelles ressources un utilisateur peut accéder :
gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \ --identity="user:USERNAME_TO_CERTIFY"
Effectuez les remplacements suivants :
YOUR_ORG_ID
: ID de votre organisation Google Cloud.USERNAME_TO_CERTIFY
: nom de l'utilisateur dont vous souhaitez vérifier les autorisations d'accès Google Cloud.
Extrayez les données de stratégie IAM vers BigQuery. Pour en savoir plus, consultez la page Écrire une analyse de stratégie dans BigQuery.
Gérer les accès privilégiés
Certains utilisateurs de votre organisation peuvent avoir besoin d'un accès privilégié à certaines ressources Google Cloud pour effectuer des tâches d'administration. Ces utilisateurs peuvent par exemple être amenés à gérer des projets Google Cloud spécifiques, à configurer la facturation et les budgets du projet, ou à administrer des instances Compute Engine.
Au lieu d'accorder de façon permanente aux utilisateurs un accès privilégié aux ressources, vous pouvez autoriser les utilisateurs à demander un accès privilégié en "juste-à-temps". La gestion des accès privilégiés avec le juste-à-temps peut vous aider à effectuer les opérations suivantes :
- Réduire le risque qu'un utilisateur ne modifie ou ne supprime accidentellement des ressources. Par exemple, lorsque des utilisateurs ne disposent d'un accès privilégié que lorsque cela est nécessaire, cela les empêche d'exécuter à d'autres moments des scripts qui affectent involontairement des ressources qu'ils ne devraient pas pouvoir modifier.
- Créer une piste d'audit qui indique pourquoi les privilèges ont été activés.
- Effectuer des audits et des examens pour analyser les activités passées.
Vous pouvez également accorder un accès privilégié à un compte de service et permettre aux utilisateurs d'emprunter l'identité de ce compte de service.
Accorder un accès privilégié aux utilisateurs
De manière générale, la gestion de l'accès privilégié aux utilisateurs de la version Enterprise dans Google Cloud peut être résumée comme suit :
- Donner aux utilisateurs de la version Enterprise la possibilité de demander un accès privilégié.
- Consulter Cloud Audit Logs pour analyser les demandes d'accès privilégiés et les modèles d'accès. Les administrateurs peuvent examiner les modèles d'accès privilégiés et détecter les anomalies à l'aide de ces journaux. Nous recommandons aux entreprises d'exporter ces journaux pour les conserver lorsque cela est nécessaire et approprié, à des fins d'audit.
- Garantir que l'accès privilégié expire automatiquement ou est examiné régulièrement.
Activez la validation en deux étapes (également appelée authentification multifacteur) pour tous les utilisateurs disposant d'un accès privilégié aux ressources. Vous pouvez également créer un contrôle des accès précis basé sur des attributs à l'aide d'Access Context Manager qui applique une couche de sécurité supplémentaire lorsque l'accès privilégié est utilisé. Par exemple, vous pouvez avoir un niveau d'accès qui spécifie que les utilisateurs doivent se trouver sur le réseau d'entreprise lorsqu'ils utilisent un accès privilégié aux ressources.
Implémentation
Dans cet exemple de procédure, vous allez créer (en tant qu'administrateur) un groupe Google pour accorder un accès privilégié aux instances Compute Engine. Vous allez ensuite créer un compte de service dans Google Cloud bénéficiant d'un accès pour administrer des instances Compute Engine. Vous allez enfin associer le groupe au compte de service afin que les membres de ce groupe puissent emprunter l'identité du compte de service pour la période pendant laquelle ils sont membres du groupe privilégié.
Créer un groupe Google pour un accès privilégié
En tant qu'administrateur Google Cloud, sélectionnez ou créez un projet Google Cloud.
Activez la facturation pour votre projet. Activer la facturation
Suivez la procédure décrite dans Donner aux utilisateurs la possibilité de demander l'accès aux ressources pour créer un groupe Google.
Nommez le groupe comme suit :
elevated-compute-access
Créer un compte de service Google Cloud
Dans Cloud Shell, activez l'API IAM Service Account Credentials pour le projet que vous avez créé dans Créer un groupe Google pour un accès privilégié.
Définissez ces variables :
export PROJECT_ID=$DEVSHELL_PROJECT_ID export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
Remplacez
GROUP_EMAIL_ADDRESS
par le nom complet du groupe Google que vous avez créé.Créez le compte de service :
gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \ --description="Elevated compute access" \ --display-name="Elevated compute access"
Attribuez le rôle d'administrateur de calcul au compte de service :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.admin"
Accordez au groupe Google que vous avez créé l'accès client Service Usage pour votre projet :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="group:$DELEGATE_GROUP" \ --role="roles/serviceusage.serviceUsageConsumer"
Cette autorisation permet aux membres du groupe Google d'emprunter l'identité du compte de service que vous avez créé.
Donnez au groupe Google la possibilité d'emprunter l'identité du compte de service que vous avez créé :
gcloud IAMservice-accounts add-iam-policy-binding $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
Ignorez cette étape si vous avez créé et conservé un exemple d'instance Compute Engine pour la procédure décrite dans la section Accorder un accès limité dans le temps aux ressources Google Cloud. Vous pouvez utiliser l'exemple d'instance pour exécuter les étapes de cet exemple.
Vous pouvez également utiliser la commande suivante pour créer un exemple d'instance Compute Engine :
gcloud compute instances create example-instance-1 \ --zone us-west1-b \ --machine-type g1-small
Vous allez utiliser les instances de cet exemple pour vérifier que les utilisateurs qui sont membres du groupe privilégié peuvent accéder à l'instance.
Activer les journaux d'audit
Les administrateurs de votre entreprise peuvent activer Cloud Audit Logging pour s'assurer que l'accès privilégié est journalisé, et disponible à des fins d'examen et d'analyse. La procédure décrite dans cette section explique comment activer les journaux d'audit.
Obtenez les stratégies IAM en vigueur pour le projet :
gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
Modifiez le fichier de stratégie afin d'activer les journaux d'accès aux données pour l'API Compute Engine :
cat <<EOF >> /tmp/policy.yaml auditConfigs: - auditLogConfigs: - logType: ADMIN_READ - logType: DATA_READ - logType: DATA_WRITE service: compute.googleapis.com EOF
Définissez la nouvelle règle :
gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
Tester l'usurpation d'identité avec un compte utilisateur non administrateur
Vous pouvez utiliser le compte utilisateur non administrateur pour tester la configuration en demandant l'adhésion au groupe et en empruntant l'identité du compte de service une fois l'adhésion accordée.
La procédure décrite dans cette section explique comment les utilisateurs de la version Enterprise peuvent demander un accès privilégié aux ressources Google Cloud. Dans cet exemple de procédure, les ressources Google Cloud sont les instances Compute Engine d'un projet Google Cloud. Pour montrer comment les utilisateurs de votre organisation peuvent emprunter l'identité d'un compte de service une fois qu'ils sont membres du groupe, vous devez demander leur adhésion aux groupes Google concernés.
- Connectez-vous à Google Groupes avec le compte utilisateur non administrateur et demandez une adhésion au groupe
elevated-compute-access
. Utilisez le même compte pour vous connecter à Google Cloud. Vous devez avoir accès au groupe une fois qu'un administrateur a approuvé la demande. Dans cet exemple de procédure, nous supposons que votre demande d'adhésion au groupe a été approuvée.
Dans Cloud Shell, exécutez la commande suivante pour définir le projet par défaut :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par l'ID du projet que vous avez créé précédemment dans la section Créer un groupe Google pour un accès privilégié.Essayez de répertorier les instances Compute Engine dans ce projet :
gcloud compute instances list
Un message d'erreur vous informe que votre utilisateur Google Cloud ne dispose pas des autorisations nécessaires pour accéder aux ressources Compute Engine.
Exécutez la commande suivante :
gcloud compute instances list --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
Cette commande répertorie les instances Compute Engine du projet en empruntant l'identité du compte de service pour lequel vous avez obtenu l'accès lorsque vous êtes devenu membre du groupe Google
elevated-compute-access
.L'instance Compute Engine
example-instance-1
que vous avez créée avec votre compte administrateur s'affiche.
Vérifier les journaux d'audit
En tant qu'administrateur Google Cloud, vous pouvez accéder aux journaux d'audit générés et les examiner.
Connectez-vous à la console Google Cloud avec un compte utilisateur disposant des droits d'administrateur pour accéder aux journaux d'audit.
Dans Cloud Logging, saisissez la requête suivante pour examiner les journaux d'accès aux données :
logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access" AND protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
Remplacez
PROJECT_ID
par l'ID de votre projet, puis exécutez la requête.Cette requête indique quel utilisateur du groupe Google a emprunté l'identité du compte de service pour accéder à l'instance Compute Engine. Elle indique également d'autres informations pertinentes, telles que le moment où l'identité du compte de service a été empruntée et les détails des en-têtes de requête.
Examinez la charge utile du journal d'audit, en particulier l'objet
protoPayload.authenticationInfo
de la charge utile. Le nom de l'utilisateur qui a emprunté l'identité du compte de service est enregistré comme valeur de la cléprincipalEmail
de l'objetfirstPartyPrincipal
.En tant qu'administrateur, vous pouvez également consulter les résultats Event Threat Detection dans le tableau de bord Security Command Center. Pour en savoir plus sur Security Command Center, consultez Utiliser Event Threat Detection.
Étape suivante
- Consultez les bonnes pratiques de gestion des identités et des accès.
- Découvrez comment Policy Intelligence propose un contrôle d'accès intelligent pour vos ressources Google Cloud.
- Découvrez comment résoudre les problèmes liés aux stratégies et aux accès sur Google Cloud.
- Découvrez les bonnes pratiques concernant la création et la gestion de comptes de service Google Cloud.
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Cloud Architecture Center.