Protéger des ressources avec VPC Service Controls


Pour protéger davantage vos ressources Compute Engine, vous pouvez les protéger à l'aide de VPC Service Controls.

VPC Service Controls vous permet de définir un périmètre de sécurité pour vos ressources Compute Engine. Le périmètre de service limite l'exportation et l'importation des ressources et de leurs données associées dans le périmètre défini.

Lorsque vous créez un périmètre de service, vous sélectionnez un ou plusieurs projets à protéger par le périmètre. Les requêtes entre plusieurs projets situés au sein d'un même périmètre ne sont pas affectées. Toutes les API existantes continuent de fonctionner tant que les ressources impliquées se trouvent dans le même périmètre de service. Notez que les rôles et stratégies IAM s'appliquent toujours dans un périmètre de service.

Lorsqu'un service est protégé par un périmètre, les requêtes ne peuvent pas être effectuées par le service à l'intérieur du périmètre vers une ressource en dehors du périmètre. Cela inclut l'exportation de ressources de l'intérieur vers l'extérieur du périmètre. Les requêtes de ressources protégées depuis l'extérieur d'un périmètre sont possibles si elles répondent à certains critères. Pour en savoir plus, consultez la section Présentation dans la documentation de VPC Service Controls.

Lorsqu'une requête enfreignant le périmètre de service est effectuée, elle échoue avec l'erreur suivante :

"code": 403, "message": "Request is prohibited by organization's policy."

Avantages de sécurité

VPC Service Controls offre les avantages suivants en termes de sécurité :

  • L'accès aux opérations sensibles de l'API Compute Engine, telles que la modification des règles de pare-feu, peut être limité à un accès privé à partir de réseaux autorisés ou à des adresses IP autorisées.
  • Les instantanés de disque persistant Compute Engine et les images personnalisées peuvent être limités à un périmètre.
  • Les métadonnées d'instance Compute Engine agissent en tant que système de stockage limité. L'accès aux métadonnées d'instance via l'API Compute Engine est limité par la règle de périmètre de service, ce qui permet de limiter les risques d'exfiltration à l'aide de ce canal.

De plus, l'API Compute Engine est désormais accessible sur l'adresse IP virtuelle (VIP) restreinte. Cela simplifie la configuration du Cloud DNS et du routage pour les clients au sein du périmètre qui ont besoin d'accéder à cette API.

Limites

  • Les pare-feu hiérarchiques ne sont pas affectés par les périmètres de service.
  • Les opérations d'appairage de VPC n'appliquent pas les restrictions liées au périmètre de service VPC.
  • La méthode API projects.ListXpnHosts pour le VPC partagé n'applique pas les restrictions du périmètre de service aux projets renvoyés.

Autorisations

Assurez-vous que vous disposez des rôles appropriés pour administrer les configurations de périmètre VPC Service Controls pour votre organisation.

Configurer un périmètre de service

Suivez les instructions de la section Créer un périmètre de service dans la documentation de VPC Service Controls pour configurer un périmètre de service.

Si vous configurez un périmètre de service à l'aide de Google Cloud CLI, spécifiez compute.googleapis.com avec l'option --restricted-services pour limiter l'API Compute Engine.

Ajouter Compute Engine en tant que service restreint à un périmètre existant

Si vous disposez d'un périmètre de service existant et que vous souhaitez y ajouter Compute Engine, suivez les instructions de la section Mettre à jour un périmètre de service dans la documentation de VPC Service Controls.

Créer une VM avec VPC Service Controls

Après avoir configuré un périmètre de service, vous n'avez pas besoin de modifier les appels d'API ou les outils existants, tant que les ressources concernées dans vos requêtes sont incluses dans le même périmètre de service. Par exemple, la commande suivante crée une instance de VM avec un exemple d'image. Dans ce cas, la commande échoue si IMAGE_PROJECT se trouve en dehors du périmètre de service (et qu'il n'y a pas de liaison de périmètre de service entre les projets).

gcloud compute instances create new-instance \
    --image-family IMAGE_FAMILY --image-project IMAGE_PROJECT \
    --zone us-central1-a --machine-type n1-standard-72

Si vous créez une VM à partir d'un modèle d'instance, toutes les ressources référencées dans le modèle d'instance doivent appartenir au même périmètre de service que celui depuis lequel vous exécutez la commande ou être connecté via une liaison de périmètre de service. La requête échoue si le modèle d'instance fait référence à une ressource située en dehors du périmètre de service, même si le modèle d'instance lui-même se trouve dans le périmètre.

Pour obtenir un exemple de scénario de client Compute Engine situé en dehors du périmètre en créant un disque Compute Engine en dehors du périmètre à l'aide d'une clé Cloud KMS située dans le périmètre, consultez la section Exemples de requêtes API autorisées par une combinaison de règles d'entrée et de sortie.

Projets d'images publiques

Google fournit et gère un ensemble d'images publiques pour vos instances. Ces projets sont inclus implicitement dans tous les périmètres de sécurité. Aucune action supplémentaire n'est requise pour utiliser ces images.

Voici la liste des projets automatiquement inclus dans tous les périmètres de sécurité :

  • centos-cloud
  • cos-cloud
  • debian-cloud
  • fedora-cloud
  • fedora-coreos-cloud
  • rhel-cloud
  • rhel-sap-cloud
  • rocky-linux-cloud
  • opensuse-cloud
  • suse-cloud
  • suse-byos-cloud
  • suse-sap-cloud
  • ubuntu-os-cloud
  • ubuntu-os-pro-cloud
  • windows-cloud
  • windows-sql-cloud

Si vous utilisez un projet d'image qui ne figure pas dans cette liste et que vous choisissez de ne pas l'inclure directement dans votre périmètre de sécurité, nous vous recommandons de copier d'abord toutes les images à utiliser dans un projet distinct, et d'inclure ensuite le projet distinct dans votre périmètre de sécurité.

Copier des images avec VPC Service Controls

Vous pouvez copier des images d'un projet à un autre si les deux projets appartiennent au même périmètre de service. Dans cet exemple, DST_PROJECT et SRC_PROJECT doivent appartenir au même périmètre de service pour que la requête fonctionne.

gcloud compute images create --project DST_PROJECT IMAGE_NAME \
   --source-image SOURCE_IMAGE --source-image-project SRC_PROJECT \
    --family IMAGE_FAMILY --storage-location LOCATION

Si vous choisissez de ne pas inclure le projet d'image directement dans votre périmètre de sécurité, nous vous recommandons de copier d'abord toutes les images à utiliser dans un projet distinct, et d'inclure ensuite le projet distinct dans votre périmètre de sécurité.

VPC partagé avec VPC Service Controls

Lorsque vous utilisez un VPC partagé, des restrictions de périmètre de service s'appliquent à tous les projets impliqués dans une opération donnée. En d'autres termes, vous devez vous assurer que le projet hôte et les projets de service se trouvent dans le même périmètre de service lorsqu'une opération implique des ressources distribuées entre l'hôte et les projets de service.

Appairage de réseaux VPC

L'appairage de réseaux VPC autorise l'appairage de réseaux VPC entre deux organisations distinctes. Comme un périmètre de service est limité aux projets d'une organisation, les périmètres de service n'affectent pas les réseaux VPC d'appairage.

Pare-feu hiérarchiques

Les pare-feu hiérarchiques sont des pare-feu configurés en dehors d'un projet (soit au niveau du dossier, soit au niveau de l'organisation). Les restrictions de périmètre de service s'appliquent à un ensemble de projets au sein d'un périmètre. Elles ne s'appliquent donc pas à des pare-feu hiérarchiques.

Groupes d'instances gérés

Les groupes d'instances gérés vous permettent de gérer un groupe d'instances de VM comme une seule entité. Les groupes d'instances gérés (MIG) utilisent des modèles d'instances pour créer des VM, et toutes les restrictions concernant les images ou les réseaux et sous-réseaux inter-projets s'appliquent. Lorsque vous utilisez des images provenant d'autres projets, assurez-vous que les projets appartiennent au même périmètre, ou copiez les images dont vous avez besoin dans un autre projet et incluez ce projet dans le périmètre de service. Les projets d'images publiques gérés par Google sont automatiquement inclus dans tous les périmètres de service.

Si vous souhaitez utiliser des groupes d'instances avec un VPC partagé, assurez-vous que vos projets se trouvent dans le même périmètre de sécurité.

Étape suivante