À propos du contrôle de l'accès aux services publiés

Cette page décrit les fonctionnalités que vous pouvez utiliser pour contrôler l'accès aux services publiés à l'aide de Private Service Connect.

Préférences de connexion

Chaque rattachement de service possède une préférence de connexion qui indique si les connexions sont automatiquement acceptées.

  • Accepter automatiquement toutes les connexions. Le rattachement de service accepte automatiquement toutes les requêtes de connexion entrantes de n'importe quel client.
  • Acceptez explicitement les connexions de certains consommateurs. Le rattachement de service n'accepte les requêtes de connexion entrantes que si le client figure sur la liste d'acceptation des rattachements de service. Vous pouvez spécifier les consommateurs par projet, par réseau VPC ou par point de terminaison Private Service Connect individuel (aperçu). Vous ne pouvez pas inclure différents types de consommateurs dans la même liste d'acceptation ou de refus.

Quelle que soit la préférence de connexion, les connexions acceptées peuvent être remplacées et refusées par une règle d'administration qui bloque les connexions entrantes.

Nous vous recommandons d'accepter explicitement les connexions pour les consommateurs 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 offrir un accès permissif à votre service.

Listes d'acceptation et de refus client

Les listes d'acceptation des clients et les listes de refus des clients sont une fonctionnalité de sécurité des rattachements de service. Ces listes permettent aux producteurs de services de spécifier les clients qui peuvent établir des connexions Private Service Connect à leurs services. Lorsqu'un rattachement de service est configuré pour une approbation explicite, une nouvelle connexion n'est acceptée que si le client figure dans la liste d'acceptation et non dans la liste de refus. Les modifications apportées aux listes de consommateurs n'affectent que les nouvelles connexions, sauf si le rapprochement des connexions est activé.

Les listes d'acceptation et de refus des clients vous permettent de spécifier les clients de l'une des manières suivantes :

  • Projet
  • Réseau VPC
  • Point de terminaison Private Service Connect (preview)

    Cette méthode ne s'applique pas aux backends Private Service Connect.

Si vous ajoutez le même client à la liste d'acceptation et à la liste de refus, il ne pourra pas se connecter au rattachement de service. Il n'est pas possible de spécifier des clients par dossier.

Les deux listes de clients d'un rattachement de service doivent contenir le même type de client. Par exemple, si vous ajoutez un projet à une liste d'acceptation, vous ne pouvez pas ajouter de réseau VPC ni d'URI de point de terminaison à l'une ou l'autre des listes, sauf si vous remplacez le projet dans la liste d'acceptation par le nouveau type de consommateur.

Si vous souhaitez publier un service qui accepte différents types de consommateurs, vous pouvez créer plusieurs rattachements de service qui se connectent au même service. Chaque rattachement de service peut être configuré avec sa propre préférence de connexion et ses propres listes de consommateurs.

Vous pouvez modifier le type de consommateur dans les listes de consommateurs sans interrompre les connexions, mais vous devez effectuer la modification en une seule mise à jour. Sinon, l'opération échouera.

Le nombre de clients que vous pouvez ajouter aux listes d'acceptation et de refus est limité :

  • Vous pouvez ajouter jusqu'à 5 000 valeurs à la liste des consommateurs acceptés.
  • Vous pouvez ajouter jusqu'à 64 valeurs à la liste des refus des consommateurs.

Les listes de clients contrôlent si un point de terminaison ou un backend peuvent se connecter à un service publié, mais elles ne contrôlent pas qui peut envoyer des requêtes à ce point de terminaison. Par exemple, supposons qu'un consommateur dispose d'un réseau VPC partagé auquel sont associés deux projets de service. Si un service publié comporte service-project1 dans la liste d'acceptation des clients et service-project2 dans la liste de refus des clients, les règles suivantes s'appliquent :

  • Un client dans service-project1 peut créer un point de terminaison qui se connecte au service publié.
  • Un consommateur dans service-project2 ne peut pas créer de point de terminaison qui se connecte au service publié.
  • Un client dans service-project2 peut envoyer des requêtes au point de terminaison dans service-project1, s'il n'existe aucune règle ni stratégie de pare-feu empêchant ce trafic.

Pour en savoir plus sur la manière dont les listes d'acceptation des clients interagissent avec les règles d'administration, consultez la page Interaction entre les listes d'acceptation des clients et les règles d'administration.

Limites des listes d'acceptation des clients

Les listes d'acceptation des clients sont soumises à des limites de connexion. Ces limites définissent le nombre total de connexions de point de terminaison et de backend Private Service Connect qu'un rattachement de service peut accepter à partir du projet client ou du réseau VPC spécifié. La spécification de limites de connexion pour les listes d'acceptation basées sur les points de terminaison Private Service Connect n'a aucun effet, car un seul point de terminaison peut correspondre à un URI donné.

Les producteurs peuvent utiliser les limites de connexion 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.

Les connexions propagées ne sont pas prises en compte dans ces limites.

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".

Rapprochement des connexions

Le rapprochement des connexions détermine si les mises à jour des listes d'acceptation ou de refus d'un rattachement de service peuvent affecter les connexions Private Service Connect existantes. Si le rapprochement des connexions est activé, la mise à jour des listes d'acceptation ou de refus peut mettre fin aux connexions existantes. Les connexions précédemment refusées peuvent devenir acceptées. Si le rapprochement des connexions est désactivé, la mise à jour des listes d'acceptation ou de refus n'affecte que les connexions nouvelles et en attente.

Prenons l'exemple d'un rattachement de service avec plusieurs connexions acceptées à partir de Project-A. Project-A figure sur la liste d'acceptation du rattachement de service. Le rattachement de service est mis à jour en supprimant Project-A de la liste d'acceptation.

Si le rapprochement des connexions est activé, toutes les connexions existantes provenant de Project-A passent en PENDING, ce qui met fin à la connectivité réseau entre les deux réseaux VPC et interrompt immédiatement le trafic réseau.

Si le rapprochement des connexions est désactivé, les connexions existantes provenant de Project-A ne sont pas affectées. Le trafic réseau peut toujours circuler sur les connexions Private Service Connect existantes. Cependant, toute nouvelle connexion Private Service Connect n'est pas autorisée.

Pour en savoir plus sur la configuration du rapprochement des connexions pour les nouveaux rattachements de service, consultez la page Publier un service avec approbation explicite.

Pour en savoir plus sur la configuration du rapprochement des connexions pour les rattachements de service existants, consultez la page Configurer le rapprochement des connexions.

Accepter ou refuser les connexions aux points de terminaison Private Service Connect

Vous pouvez accepter ou refuser des connexions de points de terminaison Private Service Connect individuels en ajoutant l'URI basé sur l'ID du point de terminaison à l'une des listes de consommateurs d'un rattachement de service. Cette approche, recommandée pour les services multitenants, offre le contrôle le plus précis pour la gestion des connexions. L'acceptation des consommateurs par point de terminaison Private Service Connect ne s'applique qu'aux points de terminaison Private Service Connect et n'est pas compatible avec les backends Private Service Connect.

Contrairement aux projets ou aux réseaux VPC, vous ne pouvez accepter ou refuser un point de terminaison Private Service Connect individuel qu'une fois que le consommateur l'a créé. En effet, l'URI unique d'un point de terminaison n'est connu qu'une fois que le consommateur a créé le point de terminaison. Pour ajouter un point de terminaison à une liste d'acceptation des consommateurs, procédez comme suit :

  1. Le producteur publie un service qui nécessite une approbation explicite, sans ajouter de valeurs à la liste d'acceptation des clients.
  2. Un client crée un point de terminaison qui se connecte au service publié. La connexion est visible dans le rattachement de service avec l'état Pending.
  3. Pour trouver l'URI basé sur l'ID du point de terminaison en attente, le producteur peut décrire le rattachement de service ou le consommateur peut décrire le point de terminaison.
  4. Le producteur ajoute l'URI basé sur l'ID du point de terminaison à la liste d'acceptation des clients. La connexion est établie et son état passe à Accepted.

États de connexion

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 :

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.

Connexions propagées

Les clients qui se connectent à votre rattachement de service à l'aide de points de terminaison peuvent activer la propagation de la connexion. Les connexions propagées permettent aux charges de travail des spokes de VPC utilisateur d'accéder aux services gérés dans les réseaux VPC producteurs, comme si les deux réseaux VPC étaient directement connectés via des points de terminaison. Chaque connexion propagée utilise une adresse IP du sous-réseau NAT du rattachement de service.

Vous pouvez afficher le nombre de connexions propagées associées à un point de terminaison connecté lorsque vous affichez les détails d'un service publié. Ce nombre n'inclut pas les connexions propagées bloquées par la limite de connexions propagées du producteur.

Limite de connexions propagées

Les rattachements de service sont soumis à une limite de connexions propagées. Les producteurs de services peuvent ainsi restreindre le nombre de connexions propagées pouvant être établies au niveau du rattachement de service d'un client particulier. Si aucune valeur n'est spécifiée, la limite de connexions propagées par défaut est de 250.

  • Si la préférence de connexion du rattachement de service est définie sur ACCEPT_MANUAL, la limite est appliquée en fonction du type de client dans la liste d'acceptation du client :
    • Pour les listes d'acceptation client basées sur des projets, la limite s'applique à chaque projet de la liste.
    • Pour les listes d'acceptation client basées sur un réseau VPC, la limite s'applique à chaque réseau de la liste.
    • Pour les listes d'acceptation des consommateurs basées sur les points de terminaison Private Service Connect (aperçu), la limite s'applique au projet de chaque point de terminaison de la liste. Si plusieurs points de terminaison d'un même projet figurent dans la liste, ils partagent une seule limite.
  • Si la préférence de connexion est définie sur ACCEPT_AUTOMATIC, la limite s'applique à chaque projet contenant un point de terminaison connecté.

Si un client dépasse la limite de connexion propagée, aucune autre connexion propagée n'est créée. Pour autoriser la création d'autres points de terminaison propagés, vous pouvez augmenter la limite de connexion propagée. Lorsque vous augmentez cette limite, Network Connectivity Center crée des connexions propagées qui étaient bloquées par la limite, à condition que les nouvelles connexions ne dépassent pas la limite mise à jour. La modification de cette limite n'a aucune incidence sur les connexions propagées existantes.

Éviter l'épuisement des quotas

Le nombre total de points de terminaison Private Service Connect et de connexions propagées, à partir de n'importe quel client, qui peuvent accéder à votre réseau VPC producteur est contrôlé par le quota PSC ILB consumer forwarding rules per producer VPC network. Il est important de se prémunir contre l'épuisement de ce quota, en particulier pour les services multitenants.

Vous pouvez utiliser les limites suivantes pour éviter l'épuisement du quota :

  • Les limites de connexion de la liste d'acceptation des clients contrôlent le nombre total de points de terminaison Private Service Connect pouvant créer des connexions à un rattachement de service à partir d'un seul réseau ou projet VPC client. La réduction de ces limites n'a aucune incidence sur les connexions existantes. Ces limites ne s'appliquent pas aux connexions propagées.
  • Les limites de connexions propagées contrôlent le nombre total de connexions propagées pouvant être établies à un rattachement de service à partir d'un seul client. La diminution de cette limite n'a pas d'incidence sur les connexions propagées existantes.

Exemple de quotas et de limites de connexion

L'exemple suivant montre comment les limites de connexion propagées et les limites de la liste d'acceptation des clients fonctionnent par rapport au quota PSC ILB consumer forwarding rules per producer VPC network.

Imaginons qu'un consommateur ait créé deux points de terminaison dans un réseau VPC de spoke, spoke-vpc-1. Les deux points de terminaison se connectent à service-attachment-1 dans producer-vpc-1. Le spoke est connecté à un hub Network Connectivity Center pour lequel la propagation des connexions est activée, et aucun autre spoke n'est connecté à ce hub.

Le producteur de services a configuré service-attachment-1 pour que la liste d'acceptation des clients soit limitée à quatre pour chaque projet de la liste d'acceptation. Le producteur a configuré une limite de deux connexions propagées, ce qui signifie qu'un seul projet peut comporter jusqu'à deux connexions propagées.

Cet exemple de configuration contient deux points de terminaison et aucune connexion propagée (cliquez pour agrandir).

L'utilisation des quotas et des limites pour cette configuration est la suivante :

Quota/Limit Utilisation Explication
Règles de transfert client ILB PSC par réseau VPC producteur 2 une par point de terminaison
Limite de connexion de la liste d'acceptation des clients pour les rattachements de service pour consumer-project-1 2 une par point de terminaison
Limite de connexions propagées du rattachement de service pour consumer-project-1 0 aucune connexion propagée

Supposons que consumer-project-1 connecte un autre spoke nommé spoke-vpc-2 au même hub Network Connectivity Center que spoke-vpc-1. Deux connexions propagées sont alors créées dans consumer-project-1, une pour chaque point de terminaison existant.

Cette configuration exemple contient deux points de terminaison et deux connexions propagées (cliquez pour agrandir).

L'utilisation des quotas et des limites pour cette configuration est la suivante :

Quota/Limit Utilisation Explication
Règles de transfert client ILB PSC par réseau VPC producteur 4 une par point de terminaison et une par connexion propagée
Limite de connexion de la liste d'acceptation des clients pour les rattachements de service pour consumer-project-1 2 une par point de terminaison
Limite de connexions propagées du rattachement de service pour consumer-project-1 2 une par connexion propagée

Consumer-project-1 a atteint sa limite de connexions propagées. Si le client ajoute un autre spoke VPC, Private Service Connect ne crée pas de nouvelles connexions propagées.

Supposons qu'un autre consommateur dispose de deux spokes VPC dans consumer-project-2. Les spokes se connectent à un hub Network Connectivity Center avec les connexions propagées activées. L'un des spokes du VPC contient un seul point de terminaison qui se connecte à service-attachment-1.

Cette configuration d'exemple contient trois points de terminaison et trois connexions propagées (cliquez pour agrandir).

L'utilisation des quotas et des limites pour cette configuration est la suivante :

Quota/Limit Utilisation Explication
Règles de transfert client ILB PSC par réseau VPC producteur 6 quatre de consumer-project-1 et deux de consumer-project-2
Limite de connexion de la liste d'acceptation des clients pour les rattachements de service pour consumer-project-1 2 une par point de terminaison dans consumer-project-1
Limite de connexion de la liste d'acceptation des clients pour les rattachements de service pour consumer-project-2 1 une par point de terminaison dans consumer-project-2
Limite de connexions propagées du rattachement de service pour consumer-project-1 2 une par connexion propagée dans consumer-project-1
Limite de connexions propagées du rattachement de service pour consumer-project-2 1 une par connexion propagée dans consumer-project-2