Sécurité de Private Service Connect

Cette page présente la sécurité de Private Service Connect.

Private Service Connect fournit plusieurs contrôles pour gérer l'accès aux ressources Private Service Connect. Vous pouvez contrôler les utilisateurs autorisés à déployer des ressources Private Service Connect, déterminer si des connexions peuvent être établies entre les clients et les producteurs, et quel trafic réseau est autorisé à accéder à ces connexions.

Ces contrôles sont mis en œuvre à l'aide des éléments suivants:

La figure 1 décrit la façon dont ces contrôles interagissent côté client et côté producteur d'une connexion Private Service Connect.

Figure 1. Les autorisations IAM, les règles d'administration, les listes d'acceptation et de refus, et les règles de pare-feu VPC fonctionnent conjointement pour sécuriser les côtés client et producteur d'une connexion Private Service Connect.

IAM

Resources : toutes

Chaque ressource Private Service Connect est régie par une ou plusieurs autorisations IAM. Ces autorisations permettent aux administrateurs d'appliquer les comptes principaux IAM pouvant déployer des ressources Private Service Connect.

IAM ne régit pas les comptes principaux IAM qui peuvent se connecter à une connexion Private Service Connect ou l'utiliser. Pour contrôler les points de terminaison ou les backends qui peuvent établir une connexion avec un service, utilisez des règles d'administration ou des listes d'acceptation par le client. Pour contrôler les clients pouvant envoyer du trafic vers des ressources Private Service Connect, utilisez des pare-feu VPC ou des stratégies de pare-feu.

Pour en savoir plus sur les autorisations IAM, consultez la page Autorisations IAM.

Pour en savoir plus sur les autorisations requises pour créer un entreprise, consultez la page Créer un point de terminaison.

Pour en savoir plus sur les autorisations requises pour créer un rattachement de service, consultez la page Publier un service avec approbation explicite.

États de connexion

Ressources : points de terminaison, backends et rattachements de service

Les points de terminaison, les backends et les rattachements de service Private Service Connect disposent d'un état de connexion qui décrit l'état de leur connexion. Les ressources client et producteur qui constituent les deux côtés d'une connexion ont toujours le même état. Vous pouvez afficher les états de connexion lorsque vous affichez les détails du point de terminaison, décrivez un backend ou affichez les détails d'un service publié.

Le tableau suivant décrit les états possibles.

État de la connexion Description
Acceptée La connexion Private Service Connect est établie. Les deux réseaux VPC disposent d'une connectivité et la connexion fonctionne normalement.
En attente

La connexion Private Service Connect n'est pas établie et le trafic ne peut pas transiter entre les deux réseaux. Cette connexion peut présenter cet état pour les raisons suivantes :

  • Le rattachement de service nécessite une approbation explicite et le client ne figure pas dans la liste d'acceptation de clients.
  • Le nombre de connexions dépasse la limite de connexion du rattachement de service.

Les connexions bloquées pour ces raisons restent en attente indéfiniment jusqu'à ce que le problème sous-jacent soit résolu.

Refusé

La connexion Private Service Connect n'est pas établie. Le trafic réseau ne peut pas transiter entre les deux réseaux. Cette connexion peut présenter cet état pour les raisons suivantes :

Attention requise Un problème est survenu au niveau du producteur de la connexion. Certaines connexions peuvent ne pas fonctionner, même si du trafic transite entre les deux réseaux. Par exemple, le sous-réseau NAT du producteur peut être épuisé et ne pas pouvoir allouer d'adresses IP pour de nouvelles connexions.
Fermée

Le rattachement de service a été supprimé et la connexion Private Service Connect est fermée. Le trafic réseau ne peut pas transiter entre les deux réseaux.

Une connexion fermée est un état final. Pour rétablir la connexion, vous devez recréer à la fois le rattachement de service et le point de terminaison ou le backend.

Configuration du rattachement de service

Vous pouvez contrôler les clients qui peuvent se connecter à un rattachement de service à l'aide des fonctionnalités suivantes.

Préférences de connexion

Ressources : points de terminaison et backends

Chaque rattachement de service possède une préférence de connexion qui indique si les requêtes de connexion sont automatiquement acceptées. Trois options sont proposées :

  • Accepter automatiquement toutes les connexions. Le rattachement de service accepte automatiquement toutes les requêtes de connexion entrantes de n'importe quel client. L'acceptation automatique peut être remplacée par une règle d'administration qui bloque les connexions entrantes.
  • Accepter les connexions pour les réseaux sélectionnés. Le rattachement de service n'accepte les requêtes de connexion entrantes que si le réseau VPC client cfigure sur la liste d'acceptation des rattachements de service.
  • Accepter les connexions pour les projets sélectionnés. Le rattachement de service n'accepte les requêtes de connexion entrantes que si le projet client figure sur la liste d'acceptation des rattachements de service.

Nous vous recommandons d'accepter les connexions pour les projets ou les réseaux sélectionnés. L'acceptation automatique de toutes les connexions peut être appropriée si vous contrôlez l'accès des clients par d'autres moyens et que vous souhaitez activer l'accès permissif à votre service.

Listes d'acceptation et de refus

Ressources : points de terminaison et backends

Les listes d'acceptation des clients et les listes de refus des clients sont une fonctionnalité de sécurité des rattachements de service. Les listes d'acceptation et de rejet permettent aux producteurs de services de spécifier les clients qui peuvent établir des connexions Private Service Connect à leurs services. Les listes d'acceptation des clients spécifient si une connexion est acceptée ou non, tandis que les listes de refus des clients indiquent si une connexion est refusée. Ces deux listes vous permettent de spécifier des clients en fonction du réseau VPC ou du projet de la ressource de connexion. Si vous ajoutez simultanément un projet ou un réseau à la liste d'acceptation et à la liste de refus, les requêtes de connexion de ce projet ou de ce réseau sont refusées. Il n'est pas possible de spécifier des clients par dossier.

Les listes d'acceptation et de refus des clients permettent de spécifier des projets ou des réseaux VPC, mais pas les deux en même temps. Vous pouvez modifier une liste d'un type à un autre sans interrompre les connexions, mais vous devez effectuer la modification en une seule mise à jour. Sinon, certaines connexions peuvent temporairement passer à l'état "En attente".

Lorsque vous mettez à jour une liste d'acceptation ou de refus client, l'effet sur les connexions existantes varie selon que le rapprochement des connexions est activé ou non. Pour en savoir plus, consultez la section Rapprochement des connexions.

Pour en savoir plus sur la création d'un nouveau rattachement de service incluant des listes d'acceptation ou de refus client, consultez la page Publier un service avec approbation explicite du projet.

Pour en savoir plus sur la mise à jour des listes d'acceptation ou de refus du client, consultez la page Gérer les requêtes d'accès à un service publié.

Limites de connexion

Ressources : points de terminaison et backends

Les listes d'acceptation des clients sont soumises à des limites de connexion. Ces limites définissent le nombre total de connexions qu'un rattachement de service peut accepter à partir du projet client ou du réseau VPC spécifié. Les producteurs peuvent utiliser ces limites pour empêcher les clients individuels d'épuiser les adresses IP ou les quotas de ressources du réseau VPC producteur. Chaque connexion Private Service Connect acceptée soustrait la limite configurée pour un projet client ou un réseau VPC. Les limites sont définies lorsque vous créez ou mettez à jour les listes d'acceptation des clients. Vous pouvez afficher les connexions d'un rattachement de service lorsque vous décrivez ce rattachement.

Par exemple, considérons un rattachement de service doté d'une liste d'acceptation client qui inclut project-1 et project-2, toutes deux avec une limite d'une connexion. Le projet project-1 demande deux connexions, project-2 demande une connexion et project-3 demande une connexion. Étant donné que project-1 a une limite d'une connexion, la première connexion est acceptée et la seconde reste en attente. La connexion provenant de project-2 est acceptée, et la connexion provenant de project-3 reste en attente. La deuxième connexion depuis project-1 peut être acceptée en augmentant la limite de project-1. Si project-3 est ajouté à la liste d'acceptation des clients, cette connexion passe de l'état "En attente" à l'état "Acceptée".

Règles d'administration

Les règles d'administration vous permettent de contrôler de façon générale les projets qui peuvent se connecter à des réseaux VPC ou à des organisations à l'aide de Private Service Connect.

Les règles d'administration décrites sur cette page peuvent bloquer ou rejeter les nouvelles connexions Private Service Connect, mais elles n'affectent pas les connexions existantes.

Une règle d'administration s'applique aux descendants de la ressource à laquelle elle fait référence conformément à l'évaluation hiérarchique. Par exemple, une règle d'administration limitant l'accès à une organisation Google Cloud s'applique également aux dossiers enfants, aux projets et aux ressources de l'organisation. De même, répertorier une organisation en tant que valeur autorisée permet également d'accéder aux enfants de cette organisation.

Pour en savoir plus sur les règles d'administration, consultez Règles d'administration.

Règles d'administration côté client

Vous pouvez utiliser des contraintes de liste pour contrôler le déploiement des points de terminaison et des backends. Si un point de terminaison ou un backend est bloqué par une règle d'administration client, la création de la ressource échoue.

  • Utilisez la contrainte de liste restrictPrivateServiceConnectProducer pour contrôler les points de terminaison et les backends des rattachements de service auxquels vous pouvez vous connecter en fonction de l'organisation producteur.
  • Utilisez la contrainte de liste disablePrivateServiceConnectCreationForConsumers pour contrôler le déploiement des points de terminaison en fonction de leur type de connexion. Vous pouvez bloquer le déploiement des points de terminaison qui se connectent aux API Google ou aux services publiés.

Empêcher les points de terminaison ou les backends de se connecter aux organisations de producteurs

Ressources : points de terminaison et backends

Les règles d'administration qui utilisent la contrainte de liste restrictPrivateServiceConnectProducer avec des valeurs autorisées empêchent les points de terminaison et les backends de se connecter aux rattachements de service, sauf si ceux-ci sont associés à l'une des valeurs autorisées de la règle. Une règle de ce type bloque les connexions, même si elles sont autorisées par la liste d'acceptation des clients du rattachement de service.

Par exemple, la règle d'administration suivante s'applique à une organisation nommée Org-A:

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectProducer
spec:
  rules:
    – values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER
        - under:organizations/433637338589

La figure 2 illustre le résultat de cette règle d'administration. La règle a les valeurs autorisées pour Org-A (ORG_A_NUMBER) et Google-org (433637338589). Les points de terminaison et les backends créés dans la région Org-A peuvent communiquer avec les rattachements de service dans la région Org-A, mais pas avec les rattachements de service dans la région Org-B.

Figure 2. Une règle d'administration permet au point de terminaison psc-1 de se connecter au rattachement de service sa-1 et empêche psc-3 de se connecter aux rattachements de service dans Org-B. Les points de terminaison et les backends de Org-A peuvent se connecter aux rattachements de service appartenant à Google.

Vous pouvez autoriser les instances des types de ressources suivants à créer des points de terminaison avec la contrainte compute.restrictPrivateServiceConnectProducer :

  • Organisations
  • Dossiers
  • Projets

Pour en savoir plus sur la création d'une règle d'administration utilisant la contrainte compute.restrictPrivateServiceConnectProducer, consultez Empêcher les points de terminaison et les backends de se connecter à des rattachements de service non autorisés.

Empêcher la création de points de terminaison par type de connexion

Ressources concernées : points de terminaison

Vous pouvez utiliser la contrainte de liste disablePrivateServiceConnectCreationForConsumers pour empêcher la création de points de terminaison selon qu'ils se connectent aux API Google ou aux services publiés (rattachements de service).

Pour en savoir plus sur la création d'une règle d'administration utilisant la contrainte disablePrivateServiceConnectCreationForConsumers, consultez Empêcher les clients de déployer des points de terminaison par type de connexion.

Règles d'administration côté producteur

Ressources concernées : points de terminaison et backends

Vous pouvez utiliser des règles d'administration avec la contrainte de liste compute.restrictPrivateServiceConnectConsumer pour contrôler les points de terminaison et les backends pouvant se connecter aux rattachements de service Private Service Connect au sein d'un projet ou d'une organisation producteur. Si un point de terminaison ou un backend est refusé par une règle d'administration du producteur, la création de la ressource réussit, mais la connexion passe à l'état "Refusé".

Le contrôle de l'accès de cette manière est semblable à l'utilisation de listes d'acceptation et de rejet, sauf que les règles d'administration s'appliquent à tous les rattachements de service d'un projet ou d'une organisation plutôt qu'à un rattachement de service individuel.

Vous pouvez utiliser des règles d'administration et des listes ensemble, les règles d'administration appliquant l'accès à un service géré et les listes contrôlant l'accès à des rattachements de service individuels.

Les règles d'administration qui utilisent la contrainte compute.restrictPrivateServiceConnectConsumer rejettent les connexions à partir de points de terminaison et de backends, sauf si le point de terminaison ou le backend est associé à l'une des valeurs autorisées de la règle. Une règle de ce type rejette les connexions même si elles sont autorisées par une liste d'autorisation.

Par exemple, la règle d'administration suivante s'applique à une organisation nommée "Org-A" :

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectConsumer
spec:
  rules:
    - values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER

La figure 3 illustre le résultat de cette règle d'administration. La valeur Org-A de la stratégie est autorisée (ORG_A_NUMBER). Les points de terminaison d'autres réseaux VPC de Org-A peuvent se connecter aux rattachements de service dans Org-A. Les points de terminaison de Org-B qui tentent de se connecter sont refusés.

Figure 3. Une règle d'administration permet à psc-1 de se connecter à sa-1, tandis qu'elle empêche psc-2 de se connecter.

Une règle d'administration s'applique aux descendants de la ressource à laquelle elle fait référence conformément à l'évaluation hiérarchique. Par exemple, une règle d'administration limitant l'accès à une organisation Google Cloud s'applique également aux dossiers enfants, aux projets et aux ressources de l'organisation. De même, répertorier une organisation en tant que valeur autorisée permet également d'accéder aux enfants de cette organisation.

Vous pouvez autoriser les instances des types de ressources suivants à créer des points de terminaison avec la contrainte restrictPrivateServiceConnectConsumer:

  • Organisations
  • Dossiers
  • Projets

Pour en savoir plus sur l'utilisation des règles d'administration avec les producteurs de services, consultez la page Règles d'administration des producteurs.

Interaction entre les listes d'acceptation des clients et les règles d'administration

Les listes d'acceptation et les règles d'administration permettent de contrôler si une connexion peut être établie entre deux ressources Private Service Connect. Les connexions sont bloquées si une liste d'acceptation ou une règle d'administration refuse la connexion.

Par exemple, une règle avec la contrainte restrictPrivateServiceConnectConsumer peut être configurée pour bloquer les connexions provenant de l'extérieur de l'organisation du producteur. Même si un rattachement de service est configuré pour accepter automatiquement toutes les connexions, la règle d'administration bloque toujours les connexions en dehors de l'organisation du producteur. Nous vous recommandons d'utiliser à la fois des listes d'acceptation et des règles d'administration pour assurer une sécurité multicouche.

Pare-feu

Resources : toutes

Vous pouvez utiliser des règles de pare-feu VPC et des stratégies de pare-feu pour contrôler l'accès au niveau du réseau aux ressources Private Service Connect.

Pour en savoir plus sur les règles de pare-feu VPC en général, consultez la section Règles de pare-feu VPC.

Pour en savoir plus sur l'utilisation des règles de pare-feu VPC pour limiter l'accès aux points de terminaison ou aux backends d'un réseau VPC client, consultez la section Utiliser des règles de pare-feu pour limiter l'accès aux points de terminaison ou aux backends.