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
Consultez la page Présentation de VPC Service Controls.
Consultez la page Configuration du périmètre de service.
Définissez la règle d'accès par défaut de l'outil de ligne de commande
gcloud
.-ou-
Récupérez le nom de votre règle. Le nom de la règle est requis pour les commandes qui utilisent l'outil de ligne de commande
gcloud
et effectuent des appels d'API. Si vous définissez une règle d'accès par défaut, vous n'avez pas besoin de la spécifier pour l'outil de ligne de commandegcloud
.
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
Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.
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
La liste des périmètres de votre organisation devrait apparaître. Exemple :
NAME TITLE ETAG ProdPerimeter Production Perimeter abcdefg123456789
Pour afficher les détails d'un périmètre de service, utilisez la commande describe
:
gcloud access-context-manager perimeters \
describe PERIMETER_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.
Les détails du périmètre devraient s'afficher. Exemple :
etag: abcdefg123456789 name: accessPolicies/626111171578/servicePerimeters/ProdPerimeter status: 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
Remplacez les éléments suivants :
FORMAT est l'une des valeurs suivantes :
list
(format YAML)json
(format JSON)
Voici un exemple de liste au format YAML :
- etag: abcdefg123456789 name: accessPolicies/165717541651/servicePerimeters/On_Prem status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']} title: On Prem - etag: hijklmn987654321 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 - etag: pqrstuv123456789 name: accessPolicies/165717541651/servicePerimeters/OnpremBridge perimeterType: PERIMETER_TYPE_BRIDGE status: {'resources': ['projects/167410821371']} title: OnpremBridge
Voici un exemple de liste au format JSON :
[ { "etag": "abcdefg123456789", "name": "accessPolicies/165717541651/servicePerimeters/On_Prem", "status": { "resources": [ "projects/167410821371" ], "restrictedServices": [ "bigquery.googleapis.com", "storage.googleapis.com" ] }, "title": "On Prem" }, { "etag": "hijklmn987654321", "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 }, { "etag": "pqrstuv123456789", "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 :
- Ajouter des projets Google Cloud ou supprimer des projets d'un périmètre de service.
- Modifier la liste des services Google Cloud limités ou même modifier le titre et la description d'un périmètre de service.
- Activer, ajouter, supprimer ou désactiver des services accessibles au VPC.
- Mettre à jour les règles d'entrée et de sortie.
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 cette période, 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
Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.
Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez modifier.
Sur la page Modifier le périmètre de service VPC, mettez à jour le périmètre de service.
Cliquez sur Enregistrer.
gcloud
Pour ajouter des ressources à un périmètre, utilisez la commande update
et spécifiez les ressources à ajouter:
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-resources=RESOURCES
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 de 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 VPC://compute.googleapis.com/projects/project-id/global/networks/network_name
.
Pour mettre à jour la liste des services limités, exécutez la commande update
et spécifiez les services à ajouter en tant que liste délimitée par des virgules:
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-restricted-services=SERVICES
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
oustorage.googleapis.com,bigquery.googleapis.com
.
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 cette période, 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
Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.
Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez modifier.
Sur la page Modifier le périmètre de service VPC, cliquez sur Sélectionnez le niveau d'accès.
Cochez les cases correspondant aux niveaux d'accès que vous souhaitez appliquer au périmètre de service.
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
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.
Pour en savoir plus sur l'utilisation des niveaux d'accès avec un périmètre, consultez la section Autoriser l'accès aux ressources protégées depuis l'extérieur d'un périmètre.
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
Dans le menu de navigation de la console Google Cloud, cliquez sur Sécurité, puis sur VPC Service Controls.
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
Remplacez les éléments suivants :
- PERIMETER_ID est l'ID de votre périmètre de service.
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ètre.
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 update
:
gcloud access-context-manager perimeters update PERIMETER_ID \
--enable-vpc-accessible-services \
--add-vpc-allowed-services=SERVICES
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 deRESTRICTED-SERVICES
.
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 update
:
gcloud access-context-manager perimeters update PERIMETER_ID \
--add-vpc-allowed-services=SERVICES
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 deRESTRICTED-SERVICES
.
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 update
:
gcloud access-context-manager perimeters update PERIMETER_ID \
--remove-vpc-allowed-services=SERVICES
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.
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 update
:
gcloud access-context-manager perimeters update PERIMETER_ID \
--no-enable-vpc-accessible-services \
--clear-vpc-allowed-services
Remplacez les éléments suivants :
- PERIMETER_ID est l'ID de votre périmètre de service.
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.