Résoudre les refus d'accès grâce à des suggestions de correction

Vous pouvez utiliser les suggestions de correction de VPC Service Controls pour diagnostiquer et résoudre les refus d'accès causés par les périmètres de service.

Lorsque VPC Service Controls refuse une demande d'accès, le moteur de correction analyse l'événement de non-respect et génère des recommandations pratiques et ciblées. Ces suggestions vous permettent d'accorder l'accès requis et de respecter le principe du moindre privilège.

Fonctionnement des suggestions de correction

Les suggestions de correction sont directement intégrées à l'outil d'analyse des cas de non-conformité dans la consoleGoogle Cloud . Lorsque vous diagnostiquez un refus d'accès à l'aide d'un identifiant unique ou d'un jeton de dépannage, le moteur de correction évalue le contexte de non-respect et propose des modifications de configuration en fonction du type de non-respect :

  • Non-respect des règles d'entrée : le moteur propose une règle d'entrée à portée limitée et, le cas échéant, vous permet de sélectionner un niveau d'accès existant qui répond au contexte de la requête (recommandé) ou de créer un niveau d'accès contextuel (tel que des sous-réseaux IP, des régions géographiques et des exigences concernant les règles relatives aux appareils) pour autoriser l'appelant.
  • Non-respect des règles de sortie : le moteur propose une règle de sortie limitée spécifiant l'identité source et les ressources ou opérations cibles en dehors du périmètre.
  • Non-respect des règles concernant les services accessibles par VPC : le moteur suggère d'ajouter le service demandé à la liste d'autorisation ou de mettre à jour les restrictions du périmètre.

Un seul refus d'accès peut impliquer plusieurs types de non-respect, comme une combinaison de non-respect des règles d'entrée, de sortie et des services accessibles par VPC. Dans ce cas, le moteur de correction génère des suggestions qui traitent tous les cas de non-respect applicables. Vous pouvez examiner les modifications de configuration générées et les appliquer directement à votre périmètre de service en un seul clic.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour afficher et appliquer les suggestions de correction, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Diagnostiquer un événement de refus d'accès et afficher des suggestions de correction : Lecteur Access Context Manager (roles/accesscontextmanager.policyReader) sur votre règle d'accès
  • Récupérez les jetons de dépannage à partir de Cloud Audit Logs : Visionneuse de journaux (roles/logging.viewer) sur les projets contenant les journaux d'audit VPC Service Controls.
  • Appliquer des suggestions de correction et mettre à jour les périmètres de service : Éditeur Access Context Manager (roles/accesscontextmanager.editor) sur votre règle d'accès

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour afficher et appliquer les suggestions de correction. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour afficher et appliquer les suggestions de correction :

  • Diagnostiquer un événement de refus d'accès et afficher des suggestions de correction :
    • accesscontextmanager.accessLevels.list sur votre règle d'accès
    • accesscontextmanager.policies.get sur votre règle d'accès
    • accesscontextmanager.servicePerimeters.list sur votre règle d'accès
  • Récupérez les jetons de dépannage à partir des journaux Cloud Audit Logs : logging.logEntries.list sur les projets contenant les journaux d'audit VPC Service Controls.
  • Appliquez les suggestions de correction et mettez à jour les périmètres de service :
    • accesscontextmanager.accessLevels.create sur votre règle d'accès
    • accesscontextmanager.accessLevels.get sur votre règle d'accès
    • accesscontextmanager.accessLevels.list sur votre règle d'accès
    • accesscontextmanager.policies.get sur votre règle d'accès
    • accesscontextmanager.servicePerimeters.get sur votre règle d'accès
    • accesscontextmanager.servicePerimeters.update sur votre règle d'accès

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher et appliquer les suggestions de correction

Pour afficher et appliquer des suggestions de correction en cas de refus d'accès, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page VPC Service Controls.

    Accéder à VPC Service Controls

    Si vous y êtes invité, sélectionnez votre organisation.

  2. Sur la page VPC Service Controls, cliquez sur Analyseur de cas de non-conformité.

  3. Dans le champ Jeton de dépannage (ou identifiant unique), saisissez le jeton de dépannage ou l'identifiant unique du refus d'accès.

  4. Cliquez sur Continuer.

  5. Sur la page des résultats du dépannage, dans Ressources protégées consultées, sélectionnez le périmètre qui a refusé l'accès.

  6. Cliquez sur Examiner la recommandation. Le volet Détails de la correction s'ouvre.

  7. Examinez les mesures correctives proposées :

    • Si la correction nécessite un niveau d'accès, configurez-le :
      • Sélectionnez un niveau d'accès existant (recommandé) : cliquez sur l'onglet Niveau d'accès existant, puis sélectionnez un niveau d'accès qui répond au contexte de la requête dans la liste Sélectionnez un niveau d'accès existant.
      • Créer un niveau d'accès : dans l'onglet Nouveau niveau d'accès, vérifiez le nom du niveau d'accès suggéré, les sous-réseaux IP, les régions géographiques et les contraintes liées aux appareils.
    • Examinez les modifications proposées concernant les règles d'entrée et de sortie ou les services accessibles au VPC pour le périmètre de service.
  8. Pour appliquer les modifications suggérées, cliquez sur Appliquer la correction.

VPC Service Controls provisionne automatiquement le nouveau niveau d'accès (si vous avez choisi d'en créer un) et met à jour la configuration du périmètre de service.

Mesures correctives par type de cas de non-respect

Le tableau suivant décrit les actions que le moteur de correction propose en fonction du type d'infraction :

Type de non-conformité Action de correction suggérée
Cas de non-respect des règles d'Ingress
  • Vous permet de sélectionner un niveau d'accès existant qui correspond au contexte de la requête (recommandé) ou de provisionner un nouveau niveau d'accès contextuel correspondant aux sous-réseaux IP, aux régions géographiques ou à la règle relative aux appareils de l'appelant.
  • Ajoute une règle d'entrée limitée à l'identité de l'appelant, au niveau d'accès ou au réseau source, au service cible, aux sélecteurs de méthodes et à la ressource.
Cas de non-respect des règles de sortie Ajoute une règle de sortie limitée à l'identité ou au projet source, ainsi qu'au service cible, aux sélecteurs de méthodes et à la ressource externe.
Services accessibles par VPC Ajoute le service restreint à la liste d'autorisation des services accessibles au VPC du périmètre ou suggère de mettre à jour les restrictions si le service n'est pas compatible.

Exemple : Correction d'un problème d'entrée avec un niveau d'accès

Prenons l'exemple d'un refus d'accès où un analyste (analyst@example.com) tente de lire un objet à partir d'un bucket Cloud Storage dans le projet 803311519563 depuis un poste de travail externe (198.51.100.42).

Pour corriger ce refus conformément au principe du moindre privilège, le moteur de correction propose deux actions enchaînées :

Action 1 : Sélectionnez un niveau d'accès existant ou créez un niveau d'accès limité

Pour autoriser le poste de travail de l'appelant, vous pouvez réutiliser un niveau d'accès existant ou en créer un :

  • Sélectionnez un niveau d'accès existant (recommandé) : dans l'onglet Niveau d'accès existant, choisissez un niveau d'accès existant qui correspond déjà au contexte de la requête (par exemple, corp_trusted_workstations). Nous vous recommandons de réutiliser un niveau d'accès existant pour éviter de créer des doublons et simplifier la gestion des règles.
  • Créer un niveau d'accès : vous pouvez également laisser le moteur créer un niveau d'accès dont la portée est limitée au poste de travail de l'appelant dans l'onglet Nouveau niveau d'accès :
    • Nom : accessPolicies/POLICY_ID/accessLevels/analyst_secure_workstation
    • Sous-réseaux IP : 198.51.100.0/24
    • Régions : US
    • Règles relatives aux appareils : exigent le verrouillage de l'écran, le chiffrement du disque, l'état "Appareil appartenant à l'entreprise" et l'approbation de l'administrateur.

Action 2 : Ajouter une règle d'entrée limitée au périmètre

Le moteur ajoute une règle d'entrée à portée limitée au périmètre de service qui fait référence au niveau d'accès existant que vous avez sélectionné ou au niveau d'accès que vous venez de créer :

  • Identités : user:analyst@example.com
  • Sources : le niveau d'accès existant que vous avez sélectionné (par exemple, corp_trusted_workstations) ou le nouveau niveau d'accès analyst_secure_workstation
  • Service : storage.googleapis.com
  • Sélecteurs de méthode : google.storage.objects.get
  • Ressources : projects/803311519563

Lorsque vous cliquez sur Appliquer la correction, VPC Service Controls applique le niveau d'accès sélectionné (ou crée le nouveau niveau d'accès) et met à jour le périmètre de service de manière séquentielle.

Limites

  • Masquage des données sensibles :
    • Les adresses IP internes masquées ne peuvent pas être utilisées pour générer des niveaux d'accès spécifiques.
    • Si les identités de l'appelant sont masquées ou indisponibles dans les journaux d'audit, les suggestions peuvent utiliser des identités génériques telles que ANY_USER_ACCOUNT.
    • Si les méthodes de service ne sont pas compatibles de manière précise, les suggestions peuvent utiliser un caractère générique (*).
    • Si les noms de réseau sont inaccessibles, les suggestions sont remplacées par les numéros de projet.
  • Les suggestions de correction nécessitent des informations sur le refus d'accès provenant de Cloud Audit Logs. Les événements antérieurs à la période de conservation des journaux (30 jours par défaut) ne peuvent pas être analysés.
  • Les suggestions de correction ne sont disponibles qu'au niveau de l'organisation dans la consoleGoogle Cloud .
  • Les schémas de service et certaines configurations de pools d'identités de personnel tiers ne sont pas compatibles avec le moteur de correction.

Étapes suivantes