Cette page explique comment créer un périmètre de service.
Avant de commencer
Découvrez comment configurer des périmètres de service.
Découvrez comment gérer les réseaux VPC dans les périmètres de service.
Découvrez comment accorder l'accès à VPC Service Controls.
Si vous souhaitez configurer un accès externe à vos services protégés lorsque vous créez votre périmètre, créez un ou plusieurs niveaux d'accès avant de créer le périmètre.
Créer un périmètre de service
Cette section explique comment créer un périmètre de service, ajouter des projets ou des réseaux VPC au périmètre, et protéger des services.
Lorsque vous créez un périmètre de service, vous pouvez éventuellement autoriser l'accès aux services protégés à l'extérieur du périmètre et indiquer les services accessibles à d'autres services et utilisateurs à l'intérieur du périmètre. Si vous préférez, vous pouvez configurer ces paramètres après avoir créé un périmètre.
Une fois que vous avez créé ou mis à jour 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.
Si vous y êtes invité, sélectionnez votre organisation, votre dossier ou votre projet.
Sélectionnez une règle d'accès existante ou créez-en une. Assurez-vous que le champ d'application de la règle d'accès inclut tous les projets et réseaux VPC que vous souhaitez ajouter au périmètre.
Sur la page VPC Service Controls, sélectionnez un mode de périmètre. Par défaut, le mode application forcée est sélectionné. Si vous souhaitez créer un périmètre en mode simulation, cliquez sur Mode de simulation.
Les périmètres en mode application forcée empêchent activement l'accès aux services protégés. Les périmètres en mode simulation consignent les violations du périmètre comme si les services étaient protégés, mais n'empêchent pas l'accès à ces services. Pour plus d'informations sur les modes application forcée et de simulation, consultez la page sur les périmètres de service.
Cliquez sur Nouveau périmètre.
Sur la page Nouveau périmètre de service VPC, saisissez un nom dans le champ Nom du périmètre.
Un nom de périmètre peut comporter au maximum 50 caractères, commencer par une lettre et ne contenir que des lettres de l'alphabet latin ASCII (az, AZ), des chiffres (0-9) ou des traits de soulignement (
_
). Le nom du périmètre est sensible à la casse et doit être unique dans une règle d'accès.Pour ajouter des projets ou des réseaux VPC que vous souhaitez sécuriser au sein du périmètre, procédez comme suit:
Cliquez sur Ajouter des ressources.
Pour ajouter des projets au périmètre, dans le volet Ajouter des ressources, cliquez sur Ajouter un projet.
Pour sélectionner un projet, cochez la case correspondante dans la boîte de dialogue Ajouter des projets.
Cliquez sur Ajouter les ressources sélectionnées. Les projets ajoutés apparaissent dans la section Projets.
Pour ajouter des réseaux VPC au périmètre, dans le volet Ajouter des ressources, cliquez sur Ajouter un réseau VPC.
- Dans la liste des projets, cliquez sur celui qui contient les réseaux VPC.
- Pour ajouter un réseau VPC, cochez la case correspondant à ce réseau dans la boîte de dialogue Ajouter des ressources.
- Cliquez sur Ajouter les ressources sélectionnées. Le réseau ajouté apparaît dans la section Réseaux VPC.
Pour sélectionner les services que vous souhaitez sécuriser au sein du périmètre, procédez comme suit :
Cliquez sur Services restreints.
Dans le volet Services restreints, cliquez sur Ajouter des services.
Pour sécuriser des services dans le périmètre, dans la boîte de dialogue Spécifier les services à limiter, cochez la case correspondant à ces services.
Cliquez sur Ajouter n services, où n correspond au nombre de services que vous avez sélectionnés à l'étape précédente.
Facultatif : si vous souhaitez définir les services accessibles dans un périmètre, procédez comme suit :
Cliquez sur Services accessibles par VPC.
Dans le volet Services accessibles par VPC, sélectionnez Services sélectionnés.
Pour inclure rapidement tous les services limités que le périmètre protège dans la liste des services accessibles, sélectionnez Inclure tous les services limités. Cette option vous permet d'inclure des services distincts en plus des services restreints.
Cliquez sur Ajouter des services accessibles par VPC.
Vous pouvez également ajouter des services accessibles après la création d'un périmètre.
Sur la page Spécifier les services accessibles, sélectionnez le service que vous souhaitez rendre accessible au sein de votre périmètre.
Cliquez sur Ajouter n services, où n correspond au nombre de services que vous avez sélectionnés à l'étape précédente.
Facultatif : pour autoriser l'accès aux ressources protégées depuis l'extérieur du périmètre à l'aide de niveaux d'accès, procédez comme suit :
Cliquez sur Niveaux d'accès.
Dans le volet Stratégie d'entrée : niveaux d'accès, cliquez sur le champ Choisir un niveau d'accès.
Vous pouvez également ajouter des niveaux d'accès après la création d'un périmètre.
Cochez les cases correspondant aux niveaux d'accès que vous souhaitez appliquer au périmètre.
Pour autoriser l'accès aux ressources dans un périmètre à partir de clients API en dehors du périmètre, procédez comme suit :
Cliquez sur Règle d'entrée.
Dans le volet Règles d'entrée, cliquez sur Ajouter une règle.
Spécifiez les sources situées en dehors du périmètre qui nécessitent un accès dans Attributs "FROM" du client API. Vous pouvez spécifier des projets, des niveaux d'accès et des réseaux VPC comme sources.
Spécifiez les ressources du périmètre auxquelles les sources peuvent accéder dans Aux attributs des ressources/services Google Cloud.
Pour obtenir la liste des attributs de règle d'entrée, consultez la documentation de référence sur les règles d'entrée.
Pour autoriser l'accès impliquant un client API ou des ressources situées dans le périmètre à des ressources extérieures à un périmètre, procédez comme suit :
Cliquez sur Règle de sortie.
Dans le volet Règles de sortie, cliquez sur Ajouter une règle.
Définissez les valeurs requises de votre choix pour les champs Attributs "FROM" du client API et les Attributs "TO" des ressources/services Google Cloud.
Pour obtenir la liste des attributs de règle de sortie, consultez la documentation de référence sur les règles de sortie.
Cliquez sur Créer un périmètre.
gcloud
Pour créer un périmètre en mode forcé, utilisez la commande gcloud access-context-manager perimeters create
.
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED-SERVICES \ --ingress-policies=INGRESS-FILENAME.yaml \ --egress-policies=EGRESS-FILENAME.yaml \ [--access-levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Pour créer un périmètre en mode de simulation, utilisez la commande gcloud access-context-manager perimeters dry-run create
.
gcloud access-context-manager perimeters dry-run create NAME \ --perimeter-title=TITLE \ --perimeter-type=TYPE \ --perimeter-resources=RESOURCES \ --perimeter-restricted-services=RESTRICTED-SERVICES \ --perimeter-ingress-policies=INGRESS-FILENAME.yaml \ --perimeter-egress-policies=EGRESS-FILENAME.yaml \ [--perimeter-access-levels=LEVELS] \ [--perimeter-enable-vpc-accessible-services] \ [--perimeter-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Remplacez les éléments suivants :
NAME est le nom du périmètre.
Un nom de périmètre peut comporter au maximum 50 caractères, commencer par une lettre et ne contenir que des lettres de l'alphabet latin ASCII (az, AZ), des chiffres (0-9) ou des traits de soulignement (
_
). Le nom du périmètre est sensible à la casse et doit être unique dans une règle d'accès.TITLE est le titre lisible du périmètre.
TYPE est le type du périmètre. Par exemple, un périmètre "standard" ou un périmètre "pont".
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
. Si vous spécifiez des projets, seuls les numéros de projet sont acceptés. Vous ne pouvez pas utiliser le nom ni l'ID du projet.RESTRICTED-SERVICES est une liste d'un ou de plusieurs services, séparés par une virgule. Par exemple,
storage.googleapis.com
oustorage.googleapis.com,bigquery.googleapis.com
.INGRESS-FILENAME est un fichier JSON ou YAML qui contient les valeurs des attributs de source, d'identité, de projet et de service. Pour obtenir la liste des attributs de règle d'entrée, consultez la documentation de référence sur les règles d'entrée.
EGRESS-FILENAME est un fichier JSON ou YAML qui contient les valeurs des attributs d'identité, de projet et de service. Pour obtenir la liste des attributs de règle de sortie, consultez la documentation de référence sur les règles de sortie.
POLICY_NAME est le nom (au format numérique) de la règle d'accès de votre organisation. Exemple :
330193482019
Vous ne devez inclure le nom de la règle que si vous n'avez pas défini de règle d'accès par défaut.
Options supplémentaires :
--access-levels
ou--perimeter-access-levels
n'est requis que si vous souhaitez ajouter des niveaux d'accès lors de la création du périmètre. LEVELS est une liste d'un ou de plusieurs niveaux d'accès, séparés par une virgule, que vous souhaitez appliquer au périmètre de service.Vous pouvez également ajouter des niveaux d'accès après avoir créé le périmètre.
--enable-vpc-accessible-services
et--vpc-allowed-services
, ou--perimeter-enable-vpc-accessible-services
et--perimeter-vpc-allowed-services
ne sont obligatoires que si vous souhaitez ajouter des services accessibles par VPC lors de la création du périmètre. ACCESSIBLE-SERVICES est une liste d'un ou de plusieurs services, séparés par une virgule, 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.Vous ne pouvez rendre un service accessible que si vous le protégez également lors de la configuration du périmètre.
Pour inclure rapidement tous les services protégés par un périmètre, spécifiez
RESTRICTED-SERVICES
dans la liste des ACCESSIBLE-SERVICES. Exemple :--perimeter-vpc-allowed-services=RESTRICTED-SERVICES
.Vous pouvez également définir des services accessibles par VPC après avoir créé le périmètre.
Par exemple, la commande suivante crée un périmètre en mode simulation nommé ProdPerimeter
, qui inclut les projets example-project
et example-project2
, et limite les API Cloud Storage et BigQuery.
gcloud access-context-manager perimeters \ dry-run create ProdPerimeter --perimeter-title="Production Perimeter" \ --perimeter-type="regular" \ --perimeter-resources=projects/12345,projects/67890 \ --perimeter-restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --perimeter-ingress-policies=ingress.yaml \ --perimeter-egress-policies=egress.yaml \ --policy=330193482019
API
Pour créer un périmètre de service, appelez accessPolicies.servicePerimeters.create
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters
Où :
- POLICY_NAME est le nom (au format numérique) de la règle d'accès de votre organisation. Exemple :
330193482019
Corps de la requête
Le corps de la requête doit inclure une ressource ServicePerimeter
qui définit le périmètre de service.
Pour la ressource ServicePerimeter
, spécifiez PERIMETER_TYPE_REGULAR
pour perimeterType
.
Mode de simulation
Le périmètre proposé doit être inclus en tant que spec
, et useExplicitDryRunSpec
doit être défini sur "true".
Corps de la réponse
Si la requête aboutit, le corps de la réponse de l'appel contient une ressource Operation
qui fournit des détails sur l'opération POST
.
Étape suivante
- Découvrez comment tester l'impact d'un périmètre de service à l'aide du mode simulation.
- Découvrez comment gérer des périmètres de service existants.
- Découvrez comment résoudre les problèmes courants liés à VPC Service Controls.
- Suivez cet atelier de programmation pour découvrir comment protéger les projets et leurs services à l'aide de VPC Service Controls.