Gerenciar serviços publicados
Nesta página, descrevemos como gerenciar solicitações de acesso a um serviço publicado, alterar a preferência de conexão de um serviço publicado e configurar a reconciliação de conexão.
Cada anexo de serviço tem uma preferência de conexão que especifica se as solicitações de conexão são aceitas automaticamente. Há três opções:
- Aceitar automaticamente todas as conexões. O anexo de serviço aceita automaticamente todas as solicitações de conexão de entrada de qualquer consumidor. A aceitação automática pode ser substituída por uma política da organização que bloqueie as conexões de entrada.
- Aceitar as conexões das redes selecionadas. O anexo de serviço só aceitará solicitações de conexão de entrada se a rede VPC do consumidor estiver na lista de aceitação do consumidor do anexo de serviço.
- Aceitar conexões para os projetos selecionados. O anexo de serviço só aceitará solicitações de conexão de entrada se o projeto de consumidor estiver na lista de aceitação do consumidor de anexo de serviço.
Recomendamos que você aceite conexões para redes ou projetos selecionados. A aceitação automática de todas as conexões pode ser apropriada se você controla o acesso do consumidor por outros meios e quer ativar o acesso permissivo ao serviço.
Para mais informações sobre como publicar um serviço, consulte Publicar um serviço.
Papéis
O papel do IAM a seguir fornece as permissões necessárias para executar as tarefas neste guia.
- Administrador de rede do Compute
(
roles/compute.networkAdmin
)
Gerenciar solicitações de acesso a um serviço publicado
Se você publicou um serviço com aprovação explícita, pode aceitar ou rejeitar solicitações de conexão de projetos de consumidores ou redes VPC.
Se você adicionar um projeto ou uma rede à lista de aceitação e à lista de proibições, as solicitações de conexão desse projeto ou rede serão rejeitadas.
Depois que uma conexão de endpoint do consumidor é aceita para um serviço, o endpoint pode se conectar ao serviço até que o anexo de serviço seja excluído. Isso se aplica se o consumidor for aceito explicitamente ou porque o endpoint do consumidor se conectou quando a preferência de conexão foi definida para aceitar conexões automaticamente.
Se você remover um projeto ou uma rede da lista de aceitação, precisará aceitar novos endpoints do consumidor nesse projeto antes que o endpoint possa se conectar. No entanto, todos os endpoints do consumidor aceitos anteriormente nesse projeto ou rede ainda podem se conectar ao serviço.
Se você adicionar um projeto ou uma rede à lista de rejeição, as conexões de novos endpoints do consumidor nesse projeto ou rede serão rejeitadas para conexão com o serviço. No entanto, os endpoints do consumidor aceitos anteriormente nesse projeto ou rede ainda podem se conectar ao serviço.
Console
No Console do Google Cloud, acesse a página do Private Service Connect.
Clique na guia Serviços publicados.
Clique no serviço que você quer gerenciar.
Na seção Projetos conectados, os projetos que tentaram se conectar a esse serviço são listados. Marque a caixa de seleção ao lado de um ou mais projetos e clique em Aceitar projeto ou Rejeitar projeto.
gcloud
Descreva o anexo de serviço que você quer alterar.
gcloud compute service-attachments describe \ ATTACHMENT_NAME --region=REGION
A resposta será semelhante a: Se houver conexões de consumidores pendentes, elas serão listadas com o status
PENDING
.Neste exemplo de saída, o projeto
CONSUMER_PROJECT_1
está na lista de aceitação. Portanto,ENDPOINT_1
é aceito e pode se conectar ao serviço. O projetoCONSUMER_PROJECT_2
não está na lista de aceitação, portanto,ENDPOINT_2
está pendente. Depois queCONSUMER_PROJECT_2
é adicionado à lista de aceitação, o status deENDPOINT_2
é alterado paraACCEPTED
e o endpoint pode se conectar ao serviço.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
Aceitar ou rejeitar projetos ou redes de consumidores.
É possível especificar
--consumer-accept-list
,--consumer-reject-list
ou ambos. É possível especificar vários valores em--consumer-accept-list
e--consumer-reject-list
. É possível incluir projetos ou redes VPC, mas não uma combinação de projetos e redes.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
Substitua:
ATTACHMENT_NAME
: o nome a ser atribuído ao anexo de serviço.REGION
: a região em que o anexo de serviço está localizado.ACCEPTED_PROJECT_OR_NETWORK_1
eACCEPTED_PROJECT_OR_NETWORK_2
: os IDs do projeto, nomes dos projetos ou URLs de rede a serem aceitos.--consumer-accept-list
é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação dos dois tipos.LIMIT_1
eLIMIT_2
: os limites de conexão para os projetos ou as redes. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada projeto ou rede aceito precisa ter um limite de conexão configurado.REJECTED_PROJECT_OR_NETWORK_1
eREJECTED_PROJECT_OR_NETWORK_2
: os IDs, nomes ou URLs de rede do projeto a serem rejeitados.--consumer-reject-list
é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação dos dois tipos.
API
Descreva o anexo de serviço que você quer alterar.
Se houver conexões de consumidores pendentes, elas serão listadas com o status
PENDING
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Aceitar ou rejeitar projetos ou redes do consumidor. É possível alternar entre aceitar e rejeitar consumidores por projeto ou rede VPC, mas não é possível incluir uma combinação de projetos e redes.
Para aceitar ou rejeitar consumidores com base no projeto, envie a seguinte solicitação
PATCH
: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" ], ... }
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome a ser atribuído ao anexo de serviço.ACCEPTED_PROJECT_1
eACCEPTED_PROJECT_2
: os códigos ou números dos projetos a serem aceitos.consumerAcceptList
é opcional e pode conter um ou mais projetos.LIMIT_1
eLIMIT_2
: os limites de conexão dos projetos. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada projeto aceito precisa ter um limite de conexão configurado.REJECTED_PROJECT_1
eREJECTED_PROJECT_2
: os IDs ou números dos projetos a serem rejeitados.consumerRejectList
é opcional e pode conter um ou mais projetos.
Para aceitar ou rejeitar consumidores com base na rede VPC, envie a seguinte solicitação
PATCH
: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" ], ... }
Substitua:
ACCEPTED_PROJECT_ID_1
eACCEPTED_PROJECT_ID_2
: os IDs dos projetos pai das redes que você quer aceitar.consumerAcceptLists
é opcional e pode conter um ou mais projetos.ACCEPTED_NETWORK_1
eACCEPTED_NETWORK_2
: os nomes das redes que você quer aceitar.LIMIT_1
eLIMIT_2
: os limites de conexão dos projetos. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada rede aceita precisa ter um limite de conexão configurado.REJECTED_PROJECT_ID_1
eREJECTED_PROJECT_ID_2
: os IDs dos projetos pai das redes que você quer rejeitar.consumerRejectLists
é opcional e pode conter um ou mais projetos.REJECTED_NETWORK_1
eREJECTED_NETWORK_2
: os nomes das redes que você quer rejeitar.
Alterar a preferência de conexão de um serviço publicado
É possível alternar entre aceitação automática e explícita de projeto para um serviço publicado.
Alterar a aceitação automática para a aceitação explícita não afeta os endpoints do consumidor que se conectaram ao serviço antes dessa alteração. Os endpoints existentes do consumidor podem se conectar ao serviço publicado até que o anexo de serviço seja excluído. Novos endpoints de consumidor precisam ser aceitos antes de se conectarem ao serviço. Para mais informações, consulte Gerenciar solicitações de acesso a um serviço publicado.
Console
No Console do Google Cloud, acesse a página do Private Service Connect.
Clique na guia Serviços publicados.
Clique no serviço que você quer atualizar e depois em Editar detalhes do serviço.
Selecione a preferência de conexão desejada:
- Aceitar conexões para os projetos selecionados
- Aceitar conexões com as redes selecionadas
- Aceitar automaticamente todas as conexões
Se você estiver mudando para Aceitar conexões para projetos selecionados, você pode informar detalhes dos projetos que quer permitir ou adicioná-las posteriormente.
- Clique em Adicionar projeto aceito.
- Insira o projeto e o limite de conexão.
Opcional: se você estiver alternando para Aceitar conexões para redes selecionadas, poderá fornecer detalhes das redes que quer permitir ou adicioná-las mais tarde.
- Clique em Adicionar rede aceita.
- Insira o projeto, rede, e o limite de conexão.
Clique em Salvar.
gcloud
Altere a preferência de conexão do anexo de serviço de
ACCEPT_AUTOMATIC
paraACCEPT_MANUAL
.Controle quais projetos podem se conectar ao seu serviço usando
--consumer-accept-list
e--consumer-reject-list
. É possível configurar as listas de aceitação e rejeição quando alterar a preferência de conexão ou atualizar as listas posteriormente.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 ]
Substitua:
ATTACHMENT_NAME
: o nome do anexo de serviço.REGION
: a região em que o anexo de serviço está localizado.ACCEPTED_PROJECT_OR_NETWORK_1
eACCEPTED_PROJECT_OR_NETWORK_2
: os IDs do projeto, nomes dos projetos ou URLs de rede a serem aceitos.--consumer-accept-list
é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação dos dois tipos.LIMIT_1
eLIMIT_2
: os limites de conexão dos projetos. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada projeto aceito precisa ter um limite de conexão configurado.REJECTED_PROJECT_OR_NETWORK_1
eREJECTED_PROJECT_OR_NETWORK_2
: os IDs, nomes ou URLs de rede do projeto a serem rejeitados.--consumer-reject-list
é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação dos dois tipos.
Altere a preferência de conexão do anexo de serviço de
ACCEPT_MANUAL
paraACCEPT_AUTOMATIC
.Se você tiver valores na lista de aceitação ou rejeição, defina-os como vazios quando alterar a preferência de conexão (
""
).gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_AUTOMATIC \ --consumer-accept-list="" \ --consumer-reject-list=""
Substitua:
ATTACHMENT_NAME
: o nome do anexo de serviço.REGION
: a região em que o anexo de serviço está localizado.
API
Altere a preferência de conexão do anexo de serviço de
ACCEPT_AUTOMATIC
paraACCEPT_MANUAL
.Para atualizar as listas de aceitação e rejeição do consumidor com base no projeto, faça a seguinte solicitação:
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", ], ... }
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome a ser atribuído ao anexo de serviço.ACCEPTED_PROJECT_1
eACCEPTED_PROJECT_2
: os códigos ou números dos projetos a serem aceitos.consumerAcceptList
é opcional e pode conter um ou mais projetos.LIMIT_1
eLIMIT_2
: os limites de conexão dos projetos. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada projeto aceito precisa ter um limite de conexão configurado.REJECTED_PROJECT_1
eREJECTED_PROJECT_2
: os IDs ou números dos projetos a serem rejeitados.consumerRejectList
é opcional e pode conter um ou mais projetos.
Para atualizar as listas de aceitação e rejeição do consumidor com base na rede VPC, faça a seguinte solicitação:
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" ], ... }
Substitua:
ACCEPTED_PROJECT_ID_1
eACCEPTED_PROJECT_ID_2
: os IDs dos projetos pai das redes que você quer aceitar.consumerAcceptLists
é opcional e pode conter um ou mais projetos.ACCEPTED_NETWORK_1
eACCEPTED_NETWORK_2
: os nomes das redes que você quer aceitar.LIMIT_1
eLIMIT_2
: os limites de conexão dos projetos. O limite de conexão é o número de endpoints do consumidor que podem se conectar a esse serviço. Cada rede aceita precisa ter um limite de conexão configurado.REJECTED_PROJECT_ID_1
eREJECTED_PROJECT_ID_2
: os IDs dos projetos pai das redes que você quer rejeitar.consumerRejectLists
é opcional e pode conter um ou mais projetos.REJECTED_NETWORK_1
eREJECTED_NETWORK_2
: os nomes das redes que você quer rejeitar.
Altere a preferência de conexão do anexo de serviço de
ACCEPT_MANUAL
paraACCEPT_AUTOMATIC
.Se os campos
consumerAcceptLists
ouconsumerRejectLists
especificarem algum projeto, defina-os como vazios quando você alterar a preferência de conexão paraACCEPT_AUTOMATIC
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_AUTOMATIC", "consumerAcceptLists": [ ], "consumerRejectLists": [ ], ... }
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome do anexo de serviço.
Configurar a reconciliação de conexão
É possível ativar ou desativar a reconciliação de conexão para anexos de serviço que já existem.
Console
No Console do Google Cloud, acesse a página do Private Service Connect.
Clique na guia Serviços publicados.
Clique no serviço que você quer atualizar e depois em Editar detalhes do serviço.
Marque ou desmarque a caixa de seleção Ativar reconciliação de conexão e depois clique em Salvar.
gcloud
Para ativar a reconciliação de conexão, use o seguinte comando:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --reconcile-connections
Substitua:
ATTACHMENT_NAME
: o nome do anexo de serviço.REGION
: a região do anexo de serviço.
Para desativar a reconciliação de conexão, use o seguinte comando:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --no-reconcile-connections
API
Para ativar a reconciliação de conexão, envie uma solicitação
PATCH
e inclua o seguinte:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "reconcileConnections": true ... }
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome do anexo de serviço.
Para desativar a reconciliação de conexão, envie uma solicitação
PATCH
e inclua o seguinte:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "reconcileConnections": false ... }
Adicionar ou remover sub-redes de um serviço publicado
É possível editar um serviço publicado para adicionar sub-redes do Private Service Connect.
Por exemplo, talvez seja necessário disponibilizar mais endereços IP para um serviço atual. Para adicionar mais endereços, siga um destes procedimentos:
Crie outra sub-rede do Private Service Connect e edite o anexo de serviço para adicionar a nova sub-rede.
Edite a sub-rede para expandir o intervalo IPv4.
Da mesma forma, é possível editar um serviço publicado para remover sub-redes do Private Service Connect. No entanto, se algum dos endereços IP da sub-rede estiver sendo usado para executar o SNAT do Private Service Connect, a remoção da sub-rede falhará.
Se você alterar a configuração da sub-rede, atualize as regras de firewall para permitir que as solicitações das novas sub-redes alcancem as VMs de back-end.
Console
No Console do Google Cloud, acesse a página do Private Service Connect.
Clique na guia Serviços publicados.
Clique no serviço que você quer atualizar e depois em Editar detalhes do serviço.
Modifique as sub-redes usadas para este serviço.
Se quiser adicionar uma nova sub-rede, crie uma:
- Clique em Reservar nova sub-rede.
- Insira um Nome e uma Descrição opcional para a sub-rede.
- Selecione uma Região para a sub-rede.
- Digite o Intervalo de IP a ser usado para a sub-rede e clique em Adicionar.
Clique em Salvar.
gcloud
Atualize as sub-redes do Private Service Connect usadas para este anexo de serviço.
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --nat-subnets=PSC_SUBNET_LIST
Substitua:
ATTACHMENT_NAME
: o nome do anexo de serviço.REGION
: a região em que o anexo de serviço está localizado.PSC_SUBNET_LIST
: uma lista separada por vírgulas de uma ou mais sub-redes a serem usadas com esse anexo de serviço.
API
Atualize as sub-redes do Private Service Connect usadas para este anexo de serviço.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{
...
"natSubnets": [
"PSC_SUBNET1_URI",
"PSC_SUBNET2_URI",
],
...
}
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome a ser atribuído ao anexo de serviço.PSC_SUBNET1_URI
ePSC_SUBNET2_URI
: URIs das sub-redes que você quer usar com este anexo de serviço. Especifique uma ou mais subredes.
Atualizar o limite de conexões propagadas de um serviço publicado
É possível atualizar o limite de conexão propagada de um anexo de serviço. Quando você aumenta o limite, o Google Cloud verifica automaticamente se é possível criar conexões propagadas pendentes. Quando você diminui o limite, as conexões propagadas atuais não são afetadas. No entanto, as tentativas de restabelecer conexões propagadas excluídas ou rejeitadas poderão ser bloqueadas se o novo limite for atingido.
Console
No Console do Google Cloud, acesse a página do Private Service Connect.
Clique na guia Serviços publicados.
Clique no serviço que você quer atualizar e depois em Editar detalhes do serviço.
Clique em Configuração avançada.
Informe o novo limite de conexões propagadas NCC.
gcloud
Use o comando service-attachments update
.
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --propagated-connection-limit=LIMIT
Substitua:
ATTACHMENT_NAME
: o nome do anexo de serviço.REGION
: a região em que o anexo de serviço está localizado.LIMIT
: o novo valor do limite de conexão propagada.
API
Envie um PATCH request
para o
método serviceAttachments.patch
.
Inclua o seguinte:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{
...
"propagatedConnectionLimit": LIMIT
...
}
Substitua:
PROJECT_ID
: o projeto do anexo de serviço.REGION
: a região do anexo de serviço.ATTACHMENT_NAME
: o nome a ser atribuído ao anexo de serviço.LIMIT
: o novo valor do limite de conexão propagada.