Gérer les services publiés
Cette page explique comment gérer les requêtes d'accès à un service publié, comment modifier les préférences de connexion d'un service publié et comment configurer le rapprochement des connexions.
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.
Pour en savoir plus sur la publication d'un service, consultez la section Publier un service.
Rôles
Le rôle IAM suivant fournit les autorisations nécessaires pour effectuer les tâches décrites dans ce guide.
- Administrateur de réseaux Compute (
roles/compute.networkAdmin
)
Gérer les requêtes d'accès à un service publié
Si vous avez publié un service avec une approbation explicite, vous pouvez accepter ou refuser les demandes de connexion de projets clients ou de réseaux VPC.
Si vous ajoutez un projet ou un réseau à la liste d'acceptation et à la liste de refus, les requêtes de connexion de ce projet ou réseau sont refusées.
Une fois qu'une connexion de point de terminaison client est acceptée pour un service, ce point de terminaison peut se connecter au service jusqu'à la suppression du rattachement. Cela s'applique lorsque le client a été accepté explicitement ou lorsque le point de terminaison du client s'est connecté alors que la préférence de connexion a été définie pour accepter automatiquement les connexions.
Si vous supprimez un projet ou un réseau de la liste d'acceptation, vous devez accepter les nouveaux points de terminaison client de ce projet avant de pouvoir vous connecter. Toutefois, tous les points de terminaison client précédemment acceptés dans ce projet ou ce réseau peuvent toujours se connecter au service.
Si vous ajoutez un projet ou un réseau à la liste de refus, les connexions provenant de nouveaux points de terminaison client dans ce projet ou ce réseau ne sont pas connectées au service. Cependant, tous les points de terminaison client précédemment acceptés dans ce projet ou ce réseau peuvent toujours se connecter au service.
Console
Dans Google Cloud Console, accédez à la page Private Service Connect.
Cliquez sur l'onglet Services publiés.
Cliquez sur le service que vous souhaitez gérer.
Dans la section Projets connectés, les projets qui ont tenté de se connecter à ce service sont répertoriés. Cochez la case à côté d'un ou de plusieurs projets, puis cliquez sur Accepter le projet ou Refuser le projet.
gcloud
Décrivez le rattachement de service que vous souhaitez modifier.
gcloud compute service-attachments describe \ ATTACHMENT_NAME --region=REGION
Le résultat ressemble à celui de l'exemple ci-dessous. Si des connexions client sont en attente, elles sont répertoriées à l'état
PENDING
.Dans cet exemple de résultat, le projet
CONSUMER_PROJECT_1
figure dans la liste d'acceptation. Par conséquent,ENDPOINT_1
est accepté et peut se connecter au service. Le projetCONSUMER_PROJECT_2
ne figure pas sur la liste d'acceptation. Par conséquent,ENDPOINT_2
est en attente. Une fois queCONSUMER_PROJECT_2
est ajouté à la liste d'acceptation, l'état deENDPOINT_2
devientACCEPTED
et le point de terminaison peut se connecter au service.connectedEndpoints: - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1 pscConnectionId: 'ENDPOINT_1_ID' status: ACCEPTED - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2 pscConnectionId: 'ENDPOINT_2_ID' status: PENDING connectionPreference: ACCEPT_MANUAL consumerAcceptLists: - connectionLimit: LIMIT_1 projectIdOrNum: CONSUMER_PROJECT_1 creationTimestamp: 'TIMESTAMP' description: 'DESCRIPTION' enableProxyProtocol: false fingerprint: FINGERPRINT id: 'ID' kind: compute#serviceAttachment name: NAME natSubnets: - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET pscServiceAttachmentId: high: 'PSC_ATTACH_ID_HIGH' low: 'PSC_ATTACH_ID_LOW' region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
Acceptez ou refusez les projets ou réseaux de client.
Vous pouvez spécifier
--consumer-accept-list
,--consumer-reject-list
, ou les deux. Vous pouvez spécifier plusieurs valeurs dans les champs--consumer-accept-list
et--consumer-reject-list
. Vous pouvez inclure des projets ou des réseaux VPC, mais pas une combinaison de projets et de réseaux.gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \ --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2
Remplacez les éléments suivants :
ATTACHMENT_NAME
: nom à attribuer au rattachement de service.REGION
: région où se trouve le rattachement de service.ACCEPTED_PROJECT_OR_NETWORK_1
etACCEPTED_PROJECT_OR_NETWORK_2
: ID de projet, noms de projet ou URL réseau à accepter.--consumer-accept-list
est facultatif et peut contenir un ou plusieurs projets ou réseaux, mais pas une combinaison des deux types.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets ou les réseaux. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque projet ou réseau accepté.REJECTED_PROJECT_OR_NETWORK_1
etREJECTED_PROJECT_OR_NETWORK_2
: ID de projet, noms de projet ou URL de réseau à rejeter.--consumer-reject-list
est facultatif et peut contenir un ou plusieurs projets ou réseaux, mais pas une combinaison des deux types.
API
Décrivez le rattachement de service que vous souhaitez modifier.
Si des connexions client sont en attente, elles sont répertoriées à l'état
PENDING
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Acceptez ou refusez les projets ou réseaux du client. Vous pouvez choisir d'accepter ou de rejeter les clients par projet ou réseau VPC, mais vous ne pouvez pas inclure une combinaison de projets et de réseaux.
Pour accepter ou refuser les clients en fonction du projet, envoyez la requête
PATCH
suivante :PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "consumerAcceptLists": [ { "projectIdOrNum": "ACCEPTED_PROJECT_1", "connectionLimit": "LIMIT_1" }, { "projectIdOrNum": "ACCEPTED_PROJECT_2", "connectionLimit": "LIMIT_2" } ], "consumerRejectLists": [ "REJECTED_PROJECT_1", "REJECTED_PROJECT_2" ], ... }
Remplacez les éléments suivants :
PROJECT_ID
: projet pour le rattachement de service.REGION
: région du rattachement de service.ATTACHMENT_NAME
: nom à attribuer au rattachement de service.ACCEPTED_PROJECT_1
etACCEPTED_PROJECT_2
: ID ou numéros des projets à accepter.consumerAcceptList
est facultatif et peut contenir un ou plusieurs projets.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque projet accepté.REJECTED_PROJECT_1
etREJECTED_PROJECT_2
: ID ou numéros des projets à rejeter.consumerRejectList
est facultatif et peut contenir un ou plusieurs projets.
Pour accepter ou refuser les clients en fonction du réseau VPC, envoyez la requête
PATCH
suivante :PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "consumerAcceptLists": [ { "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/network/ACCEPTED_NETWORK_1", "connectionLimit": "LIMIT_1" }, { "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/network/ACCEPTED_NETWORK_2", "connectionLimit": "LIMIT_2" } ], "consumerRejectLists": [ "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1", "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2" ], ... }
Remplacez les éléments suivants :
ACCEPTED_PROJECT_ID_1
etACCEPTED_PROJECT_ID_2
: ID des projets parents des réseaux que vous souhaitez accepter.consumerAcceptLists
est facultatif et peut contenir un ou plusieurs réseaux.ACCEPTED_NETWORK_1
etACCEPTED_NETWORK_2
: noms des réseaux que vous souhaitez accepter.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque réseau accepté.REJECTED_PROJECT_ID_1
etREJECTED_PROJECT_ID_2
: ID des projets parents des réseaux que vous souhaitez rejeter.consumerRejectLists
est facultatif et peut contenir un ou plusieurs réseaux.REJECTED_NETWORK_1
etREJECTED_NETWORK_2
: noms des réseaux que vous souhaitez rejeter.
Modifier la préférence de connexion d'un service publié
Vous pouvez basculer entre l'acceptation automatique du projet et l'acceptation explicite du projet pour un service publié.
Le passage de l'acceptation automatique à l'acceptation explicite n'affecte pas les points de terminaison clients qui se sont connectés au service avant cette modification. Les points de terminaison clients existants peuvent se connecter au service publié jusqu'à ce que le rattachement de service soit supprimé. Les nouveaux points de terminaison clients doivent être acceptés avant de pouvoir se connecter au service. Pour en savoir plus, consultez la section Gérer les requêtes d'accès à un service publié.
Console
Dans Google Cloud Console, accédez à la page Private Service Connect.
Cliquez sur l'onglet Services publiés.
Cliquez sur le service que vous souhaitez mettre à jour, puis sur Modifier les détails du service.
Sélectionnez la préférence de connexion de votre choix :
- Accepter les connexions pour les projets sélectionnés
- Accepter les connexions pour les réseaux sélectionnés
- Accepter automatiquement toutes les connexions
Facultatif : Si vous passez à l'option Accepter les connexions pour des projets sélectionnés, vous pouvez fournir les détails des projets que vous souhaitez autoriser ou ajouter ultérieurement.
- Cliquez sur Ajouter un projet accepté.
- Saisissez le projet et la limite de connexion.
Facultatif : Si vous passez à l'option Accepter les connexions pour des réseaux sélectionnés, vous pouvez fournir les détails des réseaux que vous souhaitez autoriser ou ajouter ultérieurement.
- Cliquez sur Ajouter un réseau accepté.
- Saisissez le projet, le réseau et la limite de connexion.
Cliquez sur Enregistrer.
gcloud
Changez la préférence de connexion du rattachement de service de
ACCEPT_AUTOMATIC
àACCEPT_MANUAL
.Vous pouvez contrôler les projets qui peuvent se connecter à votre service à l'aide de
--consumer-accept-list
et--consumer-reject-list
. Vous pouvez configurer les listes d'acceptation et de rejet lorsque vous modifiez les préférences de connexion, ou bien mettre à jour les listes ultérieurement.gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ [ --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2] \ [ --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 ]
Remplacez les éléments suivants :
ATTACHMENT_NAME
: nom du rattachement de service.REGION
: région où se trouve le rattachement de service.ACCEPTED_PROJECT_OR_NETWORK_1
etACCEPTED_PROJECT_OR_NETWORK_2
: ID de projet, noms de projet ou URL réseau à accepter.--consumer-accept-list
est facultatif et peut contenir un ou plusieurs projets ou réseaux, mais pas une combinaison des deux types.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque projet accepté.REJECTED_PROJECT_OR_NETWORK_1
etREJECTED_PROJECT_OR_NETWORK_2
: ID de projet, noms de projet ou URL de réseau à rejeter.--consumer-reject-list
est facultatif et peut contenir un ou plusieurs projets ou réseaux, mais pas une combinaison des deux types.
Changez la préférence de connexion du rattachement de service de
ACCEPT_MANUAL
àACCEPT_AUTOMATIC
.Si la liste d'acceptation ou de rejet comporte des valeurs, laissez-les vides lorsque vous modifiez la préférence de connexion (
""
).gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_AUTOMATIC \ --consumer-accept-list="" \ --consumer-reject-list=""
Remplacez les éléments suivants :
ATTACHMENT_NAME
: nom du rattachement de service.REGION
: région où se trouve le rattachement de service.
API
Changez la préférence de connexion du rattachement de service de
ACCEPT_AUTOMATIC
àACCEPT_MANUAL
.Pour mettre à jour les listes d'acceptation et de refus du client en fonction du projet, exécutez la requête suivante :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_MANUAL", "consumerAcceptLists": [ { "projectIdOrNum": "ACCEPTED_PROJECT_1" "connectionLimit": "LIMIT_1", }, { "projectIdOrNum": "ACCEPTED_PROJECT_2" "connectionLimit": "LIMIT_2", } ], "consumerRejectLists": [ "REJECTED_PROJECT_1", "REJECTED_PROJECT_2", ], ... }
Remplacez les éléments suivants :
PROJECT_ID
: projet pour le rattachement de service.REGION
: région du rattachement de service.ATTACHMENT_NAME
: nom à attribuer au rattachement de service.ACCEPTED_PROJECT_1
etACCEPTED_PROJECT_2
: ID ou numéros des projets à accepter.consumerAcceptList
est facultatif et peut contenir un ou plusieurs projets.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque projet accepté.REJECTED_PROJECT_1
etREJECTED_PROJECT_2
: ID ou numéros des projets à rejeter.consumerRejectList
est facultatif et peut contenir un ou plusieurs projets.
Pour mettre à jour les listes d'acceptation et de refus du client en fonction du réseau VPC, envoyez la requête suivante :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_MANUAL", "consumerAcceptLists": [ { "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1", "connectionLimit": "LIMIT_1" }, { "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2", "connectionLimit": "LIMIT_2" } ], "consumerRejectLists": [ "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1", "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2" ], ... }
Remplacez les éléments suivants :
ACCEPTED_PROJECT_ID_1
etACCEPTED_PROJECT_ID_2
: ID des projets parents des réseaux que vous souhaitez accepter.consumerAcceptLists
est facultatif et peut contenir un ou plusieurs réseaux.ACCEPTED_NETWORK_1
etACCEPTED_NETWORK_2
: noms des réseaux que vous souhaitez accepter.LIMIT_1
etLIMIT_2
: limites de connexion pour les projets. La limite de connexion est le nombre de points de terminaison clients pouvant se connecter à ce service. Une limite de connexion doit être configurée pour chaque réseau accepté.REJECTED_PROJECT_ID_1
etREJECTED_PROJECT_ID_2
: ID des projets parents des réseaux que vous souhaitez rejeter.consumerRejectLists
est facultatif et peut contenir un ou plusieurs réseaux.REJECTED_NETWORK_1
etREJECTED_NETWORK_2
: noms des réseaux que vous souhaitez rejeter.
Changez la préférence de connexion du rattachement de service de
ACCEPT_MANUAL
àACCEPT_AUTOMATIC
.Si les champs
consumerAcceptLists
ouconsumerRejectLists
spécifient des clients, laissez-les vides lorsque vous changez la préférence de connexion àACCEPT_AUTOMATIC
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_AUTOMATIC", "consumerAcceptLists": [ ], "consumerRejectLists": [ ], ... }
Remplacez les éléments suivants :
PROJECT_ID
: projet pour le rattachement de service.REGION
: région du rattachement de service.ATTACHMENT_NAME
: nom du rattachement de service.
Configurer le rapprochement des connexions
Vous pouvez activer ou désactiver le rapprochement des connexions pour les rattachements de service existants.
Console
Dans Google Cloud Console, accédez à la page Private Service Connect.
Cliquez sur l'onglet Services publiés.
Cliquez sur le service que vous souhaitez mettre à jour, puis sur Modifier les détails du service.
Cochez ou décochez la case Activer le rapprochement des connexions, puis cliquez sur Enregistrer.
gcloud
Pour activer le rapprochement des connexions, utilisez la commande suivante :
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --reconcile-connections
Remplacez les éléments suivants :
ATTACHMENT_NAME
: nom du rattachement de service.REGION
: région du rattachement de service.
Pour désactiver le rapprochement des connexions, utilisez la commande suivante :
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --no-reconcile-connections
API
Pour activer le rapprochement des connexions, envoyez une requête
PATCH
et incluez les éléments suivants :PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "reconcileConnections": true ... }
Remplacez les éléments suivants :
PROJECT_ID
: projet pour le rattachement de service.REGION
: région du rattachement de service.ATTACHMENT_NAME
: nom du rattachement de service.
Pour désactiver le rapprochement des connexions, envoyez une requête
PATCH
et incluez les éléments suivants :PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "reconcileConnections": false ... }
Ajouter ou supprimer des sous-réseaux d'un service publié
Vous pouvez modifier un service publié pour ajouter des sous-réseaux Private Service Connect.
Par exemple, vous devrez peut-être rendre davantage d'adresses IP disponibles pour un service existant. Pour ajouter d'autres adresses, effectuez l'une des opérations suivantes :
Créez un autre sous-réseau Private Service Connect et modifiez le rattachement de service pour ajouter le nouveau sous-réseau.
Modifiez le sous-réseau pour étendre la plage IPv4.
De même, vous pouvez modifier un service publié pour supprimer des sous-réseaux Private Service Connect. Toutefois, si l'une des adresses IP du sous-réseau est utilisée pour exécuter la configuration SNAT pour Private Service Connect, la suppression du sous-réseau échoue.
Si vous modifiez la configuration du sous-réseau, mettez à jour vos règles de pare-feu pour permettre aux requêtes des nouveaux sous-réseaux d'atteindre les VM de backend.
Console
Dans Google Cloud Console, accédez à la page Private Service Connect.
Cliquez sur l'onglet Services publiés.
Cliquez sur le service que vous souhaitez mettre à jour, puis sur Modifier.
Modifiez les sous-réseaux utilisés pour ce service.
Si vous souhaitez ajouter un sous-réseau, vous pouvez en créer un :
- Cliquez sur Réserver un nouveau sous-réseau.
- Saisissez un nom et une description facultative pour le sous-réseau.
- Sélectionnez une région pour le sous-réseau.
- Saisissez la plage d'adresses IP à utiliser pour le sous-réseau, puis cliquez sur Ajouter.
Cliquez sur Enregistrer.
gcloud
Mettez à jour les sous-réseaux Private Service Connect utilisés pour ce rattachement de service.
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --nat-subnets=PSC_SUBNET_LIST
Remplacez les éléments suivants :
ATTACHMENT_NAME
: nom du rattachement de service.REGION
: région où se trouve le rattachement de service.PSC_SUBNET_LIST
: liste d'un ou de plusieurs sous-réseaux à utiliser avec ce rattachement de service, séparés par des virgules.
API
Mettez à jour les sous-réseaux Private Service Connect utilisés pour ce rattachement de service.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{
...
"natSubnets": [
"PSC_SUBNET1_URI",
"PSC_SUBNET2_URI",
],
...
}
Remplacez les éléments suivants :
PROJECT_ID
: projet pour le rattachement de service.REGION
: région du rattachement de service.ATTACHMENT_NAME
: nom à attribuer au rattachement de service.PSC_SUBNET1_URI
etPSC_SUBNET2_URI
: URI des sous-réseaux que vous souhaitez utiliser avec ce rattachement de service. Vous pouvez spécifier un ou plusieurs sous-réseaux.