Gérer les périmètres de service

Cette page explique comment gérer les périmètres de service dans VPC Service Controls. Pour en savoir plus sur la création de périmètres de service, consultez la section Créer des périmètres de service.

Cette page comprend les sections suivantes :

Avant de commencer

Répertorier et décrire les périmètres de service

Pour répertorier les périmètres de service d'une organisation, procédez comme suit :

Console

  1. Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.

    Accéder à la page VPC Service Controls

  2. Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez afficher.

gcloud

Pour répertorier les périmètres de service de votre organisation, utilisez la commande list :

gcloud access-context-manager perimeters list \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

La liste des périmètres de votre organisation devrait apparaître. Exemple :

NAME           TITLE
ProdPerimeter  Production Perimeter

Pour afficher les détails d'un périmètre de service, utilisez la commande describe :

gcloud access-context-manager perimeters \
  describe PERIMETER_ID \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est le nom du périmètre de service pour lequel vous souhaitez obtenir des détails.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Les détails du périmètre devraient s'afficher. Exemple :

accessLevels:
- accessPolicies/626111171578/accessLevels/corpAccess
resources:
- projects/111584792408
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
title: Production Perimeter

Répertorier les périmètres de service (formatés)

L'outil de ligne de commande gcloud vous permet d'obtenir la liste de vos périmètres de service au format YAML ou JSON.

Pour obtenir une liste de périmètres mise en forme, utilisez la commande list.

gcloud access-context-manager perimeters list \
  --format=FORMAT \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • FORMAT est l'une des valeurs suivantes :

    • list (format YAML)

    • json (format JSON)

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Voici un exemple de liste au format YAML :

- name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- name: accessPolicies/165717541651/servicePerimeters/Private
  spec: {'resources': ['projects/136109111311'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com', 'logging.googleapis.com']}
  status: {'resources': ['projects/136109111311', 'projects/401921913171'], 'restrictedServices': ['bigquery.googleapis.com']}
  title: Private
  useExplicitDryRunSpec: True
- name: accessPolicies/165717541651/servicePerimeters/OnpremBridge
  perimeterType: PERIMETER_TYPE_BRIDGE
  status: {'resources': ['projects/167410821371']}
  title: OnpremBridge

Voici un exemple de liste au format JSON :

[
  {
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/Private",
    "spec": {
      "resources": [
        "projects/136109111311"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com",
        "logging.googleapis.com"
      ]
    },
    "status": {
      "resources": [
        "projects/136109111311",
        "projects/401921913171"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com"
      ]
    },
    "title": "Private",
    "useExplicitDryRunSpec": true
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

Mettre à jour un périmètre de service

Cette section explique comment mettre à jour des périmètres de service individuels. Pour mettre à jour l'ensemble des périmètres de service de votre organisation en une seule opération, consultez la section Apporter des modifications groupées aux périmètres de service.

Vous pouvez effectuer les tâches suivantes pour mettre à jour un périmètre de service :

Après la mise à jour d'un périmètre de service, la propagation et la prise en compte des modifications peuvent prendre jusqu'à 30 minutes. Pendant ce temps, le périmètre peut bloquer les requêtes avec le message d'erreur suivant: Error 403: Request is prohibited by organization's policy.

Console

  1. Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.

    Accéder à la page VPC Service Controls

  2. Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez modifier.

  3. Sur la page Modifier le périmètre de service VPC, mettez à jour le périmètre de service.

  4. Cliquez sur Enregistrer.

gcloud

Pour ajouter des ressources à un périmètre, exécutez la commande update et spécifiez les ressources à ajouter:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-resources=RESOURCES \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID du périmètre de service pour lequel vous souhaitez obtenir des détails.

  • RESOURCES est une liste d'un ou de plusieurs numéros de projet ou noms de réseaux VPC séparés par une virgule. Par exemple, projects/12345 ou //compute.googleapis.com/projects/my-project/global/networks/vpc1. Seuls les projets et les réseaux VPC sont autorisés. Format du projet: projects/project_number. Format de VPC: //compute.googleapis.com/projects/project-id/global/networks/network_name.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Pour mettre à jour la liste des services limités, exécutez la commande update et spécifiez la liste des services à ajouter, séparés par une virgule :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID du périmètre de service pour lequel vous souhaitez obtenir des détails.

  • SERVICES est une liste de services séparés par des virgules. Par exemple, storage.googleapis.com ou storage.googleapis.com,bigquery.googleapis.com.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Ajouter un niveau d'accès à un périmètre existant

Une fois que vous avez créé un niveau d'accès, vous pouvez l'appliquer à un périmètre de service afin de contrôler l'accès.

Après la mise à jour d'un périmètre de service, la propagation et la prise en compte des modifications peuvent prendre jusqu'à 30 minutes. Pendant ce temps, le périmètre peut bloquer les requêtes avec le message d'erreur suivant: Error 403: Request is prohibited by organization's policy.

Console

  1. Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.

    Accéder à la page VPC Service Controls

  2. Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez modifier.

  3. Sur la page Modifier le périmètre de service VPC, cliquez sur Sélectionnez le niveau d'accès.

  4. Cochez les cases correspondant aux niveaux d'accès que vous souhaitez appliquer au périmètre de service.

  5. Cliquez sur Enregistrer.

gcloud

Pour ajouter un niveau d'accès à un périmètre de service existant, utilisez la commande update :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • LEVEL_NAME est le nom du niveau d'accès que vous souhaitez ajouter au périmètre.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Supprimer un périmètre de service

Lorsque vous supprimez un périmètre de service, les contrôles de sécurité associés au périmètre ne s'appliquent plus aux projets Google Cloud associés. Il n'y a aucun autre impact sur les projets Google Cloud membres ni sur les ressources associées.

Console

  1. Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.

    Accéder à la page VPC Service Controls

  2. Sur la page VPC Service Controls, dans la ligne du tableau correspondant au périmètre que vous souhaitez supprimer, cliquez sur .

gcloud

Pour supprimer un périmètre de service, utilisez la commande delete :

gcloud access-context-manager perimeters delete PERIMETER_ID \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Limiter l'accès aux services dans un périmètre avec des services accessibles au VPC

Cette section explique comment activer, ajouter, supprimer et désactiver des services accessibles au VPC.

La fonctionnalité de services accessibles par VPC permet de limiter l'ensemble des services accessibles à partir de points de terminaison du réseau à l'intérieur de votre périmètre de service. Vous pouvez ajouter des services accessibles par VPC aux périmètres de service, mais pas aux liaisons de périmètres.

Pour en savoir plus sur la fonctionnalité de services accessibles au VPC, consultez la documentation sur les services accessibles au VPC.

Activer les services accessibles au VPC

Pour activer les services accessibles au VPC pour votre périmètre de service, utilisez la commande suivante :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • SERVICES est une liste d'un ou de plusieurs services, séparés par des virgules, auxquels vous souhaitez autoriser l'accès aux réseaux à l'intérieur de votre périmètre. L'accès à des services non inclus dans cette liste est impossible.

    Pour inclure rapidement les services protégés par le périmètre, ajoutez RESTRICTED-SERVICES à la liste de SERVICES. Vous pouvez inclure d'autres services en plus de RESTRICTED-SERVICES.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Par exemple, pour vous assurer que les réseaux VPC de votre périmètre n'ont accès qu'aux services Logging et Cloud Storage, utilisez la commande suivante :

gcloud access-context-manager perimeters update example_perimeter \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,logging.googleapis.com,storage.googleapis.com \
  --policy=11271009391

Ajouter un service aux services accessibles au VPC

Pour ajouter des services supplémentaires aux services accessibles au VPC pour votre périmètre, utilisez la commande suivante :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • SERVICES est une liste d'un ou de plusieurs services, séparés par des virgules, auxquels vous souhaitez autoriser l'accès aux réseaux à l'intérieur de votre périmètre.

    Pour inclure rapidement les services protégés par le périmètre, ajoutez RESTRICTED-SERVICES à la liste de SERVICES. Vous pouvez inclure des services distincts en plus de RESTRICTED-SERVICES.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Par exemple, si vous activez les services accessibles au VPC et que vous souhaitez que les réseaux VPC de votre périmètre aient accès au service Pub/Sub, utilisez la commande suivante :

gcloud access-context-manager perimeters update example_perimeter \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,pubsub.googleapis.com \
  --policy=11271009391

Supprimer un service des services accessibles au VPC

Pour supprimer des services des services accessibles au VPC pour votre périmètre de service, utilisez la commande suivante :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • SERVICES est une liste d'un ou de plusieurs services, séparés par des virgules, que vous souhaitez supprimer de la liste des services auxquels les réseaux dans votre périmètre de service sont autorisés à accéder.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Par exemple, si vous activez les services accessibles au VPC et que vous ne souhaitez plus que les réseaux VPC de votre périmètre aient accès au service Cloud Storage, utilisez la commande suivante :

gcloud access-context-manager perimeters update example_perimeter \
  --remove-vpc-allowed-services=storage.googleapis.com \
  --policy=11271009391

Désactiver les services accessibles au VPC

Pour désactiver les restrictions de service VPC pour votre périmètre de service, utilisez la commande suivante :

gcloud access-context-manager perimeters update PERIMETER_ID \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_ID]

Remplacez les éléments suivants :

  • PERIMETER_ID est l'ID de votre périmètre de service.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation. Cette valeur n'est requise que si vous n'avez pas défini de règle d'accès par défaut.

Par exemple, pour désactiver les restrictions de service VPC pour example_perimeter, utilisez la commande suivante :

gcloud access-context-manager perimeters update example_perimeter \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  --policy=11271009391

Services accessibles au VPC et API Access Context Manager

Vous pouvez également utiliser l'API Access Context Manager pour gérer les services accessibles par VPC. Lorsque vous créez ou modifiez un périmètre de service, utilisez l'objet ServicePerimeterConfig dans le corps de la réponse pour configurer vos services accessibles par VPC.