Usar a autenticação MD5
O Cloud Router usa o Border Gateway Protocol (BGP) para trocar rotas entre uma rede de nuvem privada virtual (VPC) e uma rede de app semelhante. Por padrão, as sessões do BGP do Cloud Router não são autenticadas. No entanto, quando você usa o Cloud Router com determinados produtos, é possível configurar suas sessões do BGP para usar a autenticação MD5.
Os produtos que podem usar a autenticação MD5 incluem:
Também é possível usar a autenticação MD5 com dispositivos virtuais de rede de terceiros. Para mais informações, consulte Dispositivo roteador na documentação do Network Connectivity Center.
Ao configurar uma sessão para usar a autenticação MD5, você fornece uma chave compartilhada secreta - uma chave a ser usada ao configurar o Cloud Router e novamente ao configurar o roteador de mesmo nível. Depois de concluir as etapas de configuração necessárias, o Cloud Router usará essa chave para autenticar o app semelhante do BGP. O Cloud Router aplica a autenticação MD5 usando o modelo descrito na RFC 2385.
É possível adicionar a autenticação MD5 ao criar um app semelhante. Também é possível adicionar a autenticação a uma sessão existente, alterar a chave usada por uma sessão ou remover a autenticação.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Se você estiver usando a Google Cloud CLI, defina o ID do
projeto executando o comando a seguir. As instruções do
gcloud
nesta página presumem que você definiu o ID do projeto.gcloud config set project PROJECT_ID
-
Confirme se o ID foi definido executando o seguinte comando:
gcloud config list --format='text(core.project)'
Criar uma sessão que usa autenticação
Em alguns produtos de conectividade de rede, é possível configurar um app semelhante do BGP para usar a autenticação MD5 enquanto cria o recurso. Esses produtos incluem a VPN de alta disponibilidade e a Interconexão dedicada.
Para saber mais, consulte as seguintes seções:
- Criar um túnel de VPN de alta disponibilidade para um gateway de VPN de peering
- Criar uma VPN de alta disponibilidade entre as redes do Google Cloud
- Criar anexos da VLAN (Interconexão dedicada)
Se você estiver criando um anexo da VLAN na Interconexão por parceiro de nível 2, crie o anexo primeiro e, em seguida, atualize o app semelhante do BGP para adicionar a autenticação MD5. Para informações sobre como adicionar autenticação ao atualizar uma sessão do BGP, consulte a seção a seguir. Se você tiver uma conexão da camada 3, entre em contato com seu provedor de serviços para receber instruções.
Adicionar autenticação a uma sessão existente
Para adicionar a autenticação a um peering de BGP existente, use um dos procedimentos a seguir. Ao adicionar autenticação, verifique se a chave usada é idêntica à usada pelo roteador de app semelhante.
O Google Cloud não exibe a chave de autenticação MD5 e exibe apenas o nome da chave após a configuração bem-sucedida.
- Se você configurar a autenticação MD5 usando a gcloud ou a IU, o Google Cloud gerará automaticamente o nome da chave no formato
PEER_NAME-key
. - Se você configurar a autenticação MD5 pela API, poderá especificar o nome da chave.
Console
No console do Google Cloud, acesse a página do Cloud Routers.
No campo Nome, clique no nome do Cloud Router apropriado.
Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.
Na página de detalhes da sessão do BGP, clique em
Editar.Para adicionar a autenticação MD5:
- Na seção Autenticação MD5, selecione Ativada. A página é atualizada para incluir um campo de texto.
- Digite uma chave de segurança ou, para gerar uma nova, clique em Gerar e copiar.
- Anote a chave. Depois de sair desta página, não será possível recuperar a chave.
Clique em Salvar.
gcloud
Para atualizar a sessão com a CLI gcloud, use o
comando gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Substitua os seguintes valores:
ROUTER_NAME
: o nome do Cloud RouterPEER_NAME
: o nome do app semelhante do BGPREGION
: a região do Google CloudSECRET_KEY
: a chave de autenticação MD5 compartilhada do secret
API
Para atualizar a sessão usando a API, utilize o
método
compute.routers.patch
. Quando você usa esse método para adicionar autenticação à sessão,
a solicitação precisa fazer duas coisas:
- Adicione uma entrada para a chave na matriz
md5AuthenticationKeys
. Ao adicionar a entrada, você fornece um nome e um valor para a chave. - Atualize a matriz
bgpPeers
para incluir um valor para o campomd5AuthenticationKeyName
. Esse campo faz referência à chave por nome.
Ao fazer patch da matriz md5AuthenticationKeys
, é preciso fornecer o name
de cada item na matriz (a menos que você queira remover alguns itens).
No entanto, não é necessário fornecer o valor do campo key
de cada item.
Se você omitir esse valor, o Cloud Router manterá o valor anterior que
foi usado. Esse comportamento foi criado para proteger o segredo das chaves.
Ele é diferente de outros métodos de patch, que normalmente exigem a especificação
de um valor para cada campo em um item da matriz.
Ao corrigir a matriz bgpPeers
, é preciso fornecer valores
para cada campo em cada item, a menos que você queira remover alguns apps semelhantes ou alguns
valores.
Por exemplo, suponha que o Cloud Router tenha dois apps semelhantes, um que usa a autenticação MD5 e outro que não. Se quiser manter o primeiro inalterado, mas adicionar a autenticação MD5 ao segundo, use uma solicitação como a seguinte:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME_1", }, { "name": "KEY_NAME_2", "key": "SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME_1", "md5AuthenticationKeyName": "KEY_NAME_1", "interfaceName": "INTERFACE_NAME_1", "ipAddress": "IP_ADDRESS_1", "peerIpAddress": "PEER_IP_ADDRESS_1", "peerAsn": "PEER_ASN_1" }, { "name": "PEER_NAME_2", "md5AuthenticationKeyName": "KEY_NAME_2", "interfaceName": "INTERFACE_NAME_2", "ipAddress": "IP_ADDRESS_2", "peerIpAddress": "PEER_IP_ADDRESS_2", "peerAsn": "PEER_ASN_2" } ], }
Substitua os seguintes valores:
PROJECT_ID
: o projeto que contém o Cloud RouterREGION
: a região do Google CloudROUTER_NAME
: o nome do Cloud RouterKEY_NAME_1
: o nome da chave que está em uso atual (porPEER_NAME_1
)KEY_NAME_2
: o nome da nova chave que você quer adicionar paraPEER_NAME_2
. Anote o nome. Se você quiser fazer alterações mais tarde usando a API, precisará do nome.SECRET_KEY
: chave de autenticação MD5 secreta que você está adicionando paraPEER_NAME_2
.PEER_NAME_1
: o nome do app semelhante do BGP que você não está mudando.INTERFACE_NAME_1
: o nome da interface da sessão de peering do BGP que não será alterada.IP_ADDRESS_1
: o endereço IP do Cloud Router (para o par que não vai mudar)PEER_IP_ADDRESS_1
: o endereço IP do app semelhante que não mudaPEER_ASN_1
: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o par que não vai mudar.PEER_NAME_2
: o nome do peering do BGP que você quer atualizar para que use a autenticação MD5INTERFACE_NAME_2
: o nome da interface da sessão de peering do BGP.IP_ADDRESS_2
: o endereço IP do Cloud RouterPEER_IP_ADDRESS_2
: o endereço IP do roteador de app semelhantePEER_ASN_2
: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para esse app semelhate do BGP
Atualizar a chave de autenticação
Para alterar a chave que o Cloud Router usa em uma sessão de peering, use um dos procedimentos a seguir. Ao atualizar a chave no Cloud Router, verifique se ela é idêntica à usada pelo roteador de app semelhante.
O Google Cloud não exibe a chave de autenticação MD5 e exibe apenas o nome da chave após a configuração bem-sucedida.
- Se você configurar a autenticação MD5 usando a gcloud ou a IU, o Google Cloud gerará automaticamente o nome da chave no formato
PEER_NAME-key
. - Se você configurar a autenticação MD5 pela API, poderá especificar o nome da chave.
Console
No console do Google Cloud, acesse a página do Cloud Routers.
No campo Nome, clique no nome do Cloud Router apropriado.
Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.
Na página de detalhes da sessão do BGP, clique em
Editar.Na seção Autenticação MD5, clique em Atualizar chave de autenticação MD5.
No campo Chave de autenticação MD5, insira a nova chave de autenticação secreta ou, para preencher o campo, clique em Gerar e copiar.
Anote a chave. Depois de sair desta página, não será possível recuperar a chave.
Clique em Salvar.
gcloud
Para atualizar a sessão, use o
comando
gcloud compute routers update-bgp-peer
.
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Substitua os seguintes valores:
ROUTER_NAME
: o nome do Cloud RouterPEER_NAME
: o nome do app semelhante do BGPREGION
: a região do Google CloudSECRET_KEY
: a nova chave de autenticação MD5 secreta que você quer usar.
API
Para atualizar a sessão, use o
método
compute.routers.patch
. Por exemplo, use uma solicitação como a mostrada a seguir.
Este exemplo substitui toda a matriz de peering, não apenas o app semelhante específico
identificado. Ou seja, ele remove todos os apps semelhantes, exceto
PEER_NAME
. Isso remove todas as chaves, exceto KEY_NAME
, e atualiza a KEY_NAME
com o novo valor UPDATED_SECRET_KEY
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME", "key": "UPDATED_SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME", "md5AuthenticationKeyName": "KEY_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "peerAsn": "PEER_ASN" } ], }
Substitua os seguintes valores:
PROJECT_ID
: o projeto que contém o Cloud RouterREGION
: a região do Google CloudROUTER_NAME
: o nome do Cloud RouterKEY_NAME
: o nome da chave que você quer atualizar. Sempre que você trabalhar com a autenticação MD5 usando a API, será necessário fazer referência à chave pelo nome.UPDATED_SECRET_KEY
: a nova chave de autenticação MD5 do secretPEER_NAME
: o nome do app semelhante do BGPINTERFACE_NAME
: o nome da interface da sessão de peering do BGP.IP_ADDRESS
: o endereço IP do Cloud RouterPEER_IP_ADDRESS
: o endereço IP do roteador de app semelhantePEER_ASN
: o número de sistema autônomo (ASN, na sigla em inglês) do BGP para esse app semelhate do BGP
Verificar o status da autenticação
Siga estas etapas para verificar o status da autenticação MD5. Consulte também Ver detalhes do Cloud Router.
Console
No console do Google Cloud, acesse a página do Cloud Routers.
No campo Nome, clique no nome do Cloud Router apropriado.
Na página Detalhes do roteador, procure a coluna Autenticação MD5. Para cada sessão, o valor nesta coluna indica se a autenticação MD5 está ativada.
gcloud
Para verificar a sessão usando a CLI do gcloud, use o
comando gcloud compute routers get-status
.
gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
Substitua os seguintes valores:
ROUTER_NAME
: o nome do Cloud RouterPROJECT
: o nome do projeto.REGION
: a região do Google Cloud
A saída inclui o objeto result.bgpPeerStatus[]
, que contém
informações sobre as sessões do BGP do Cloud Router. Os
dados sobre cada sessão incluem os dois campos a seguir:
md5AuthEnabled
: um campo booleano que indica se a autenticação MD5 está ativada para a sessãostatusReason
- um campo que descreve o status da sessão
API
Use o método routers.getRouterStatus
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
Substitua:
PROJECT_ID
: o projeto que contém o Cloud RouterREGION
: a região onde o Cloud Router está localizadoROUTER_NAME
: o nome do Cloud Router
A saída inclui informações sobre cada sessão do BGP. Os dados sobre cada sessão incluem os dois campos a seguir:
md5AuthEnabled
: um campo booleano que indica se a autenticação MD5 está ativada para a sessão.statusReason
: um campo que descreve o status da sessão. Este campo é exibido apenas quando há um problema com a autenticação MD5. (Nesse caso, o valor do campo seráMD5_AUTH_INTERNAL_PROBLEM
.)
Para configurar o monitoramento contínuo das suas sessões do BGP, use o Cloud Logging. O Logging grava informações sobre o status de autenticação MD5 no evento do BGP, que faz parte do Registro de informações.
Remover a autenticação de uma sessão
Se você quiser remover a autenticação MD5 de uma sessão do BGP, será necessário remover a autenticação MD5 do Cloud Router e do roteador de peering.
Para remover a autenticação MD5 da sessão do BGP no Cloud Router, use um dos seguintes procedimentos.
Console
No console do Google Cloud, acesse a página do Cloud Routers.
No campo Nome, clique no nome do Cloud Router apropriado.
Na página Detalhes do roteador, clique no nome da sessão do BGP que você quer modificar.
Na página de detalhes da sessão do BGP, clique em
Editar.Em Autenticação MD5, clique em Desativado.
Clique em Salvar. A caixa de diálogo Desativar chave de autenticação MD5 vai ser exibida.
Na caixa de diálogo, clique em Confirmar.
gcloud
Para remover a autenticação MD5, use o comando
gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
Substitua os seguintes valores:
ROUTER_NAME
: o nome do Cloud RouterPEER_NAME
: o nome do app semelhante do BGPREGION
: a região do Google Cloud
API
Para remover a autenticação MD5, use o
método
compute.routers.patch
.
Quando você remove a autenticação com a API, a atualização precisa fazer duas coisas:
- Atualizar a matriz
md5AuthenticationKeys
- Remover o valor
md5AuthenticationKey
da entradabgpPeers
relevante.
Por exemplo, se o Cloud Router tiver dois peerings do BGP e você quiser remover a autenticação MD5 de um deles. Nesse caso, use uma solicitação como a seguinte:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_UNCHANGED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_UPDATED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER", "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER", "peerAsn": "PEER_ASN_FOR_UPDATED_PEER" }, { "name": "NAME_OF_UNCHANGED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER", "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER", "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER" "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER" } ], ], }
Substitua os seguintes valores:
PROJECT_ID
: o projeto que contém o Cloud RouterREGION
: a região do Google Cloud em que o Cloud Router está localizado.ROUTER_NAME
: o nome do Cloud RouterNAME_OF_UPDATED_PEER
: o nome da sessão de peering que você quer modificar.INTERFACE_NAME_FOR_UPDATED_PEER
: o nome da interface do app semelhante do BGP que você quer modificarIP_ADDRESS_FOR_UPDATED_PEER
: o endereço IP do Cloud Router usado pelo app semelhante que você quer modificarPEER_IP_ADDRESS_FOR_UPDATED_PEER
: o endereço IP do roteador de app semelhante para a sessão de peering que você quer modificarPEER_ASN
: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para este app semelhante do BGP que você quer modificar.NAME_OF_UNCHANGED_PEER
: o nome da sessão de peering que você quer manter como estáINTERFACE_NAME_FOR_UNCHANGED_PEER
: o nome da interface do app semelhante do BGP que você quer manter como estáIP_ADDRESS_FOR_UNCHANGED_PEER
: o endereço IP do Cloud Router usado pelo app semelhante que você quer manterPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: o endereço IP do roteador de app semelhante para a sessão de peering que você quer manterPEER_ASN_FOR_UNCHANGED_PEER
: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o app semelhante do BGP que você quer manter como está.KEY_NAME_FOR_UNCHANGED_PEER
: o nome da chave de autenticação MD5 para o peering do BGP que você quer manter como está
Remover uma sessão que usa autenticação
Para remover uma sessão de peering que usa autenticação MD5, siga um dos procedimentos a seguir.
Console
No console do Google Cloud, acesse a página do Cloud Routers.
- Selecione o roteador do qual você quer remover uma sessão do BGP.
- Em Sessões do BGP, selecione a sessão do BGP que você quer remover.
- Na parte superior da página, clique em Excluir e confirme a exclusão.
gcloud
Para remover uma sessão do BGP com a autenticação MD5 ativada, use o
comando gcloud compute routers remove-bgp-peer
.
Veja mais informações em Desativar ou remover sessões do BGP.
API
Para remover uma sessão do BGP com a autenticação MD5 ativada, use o
método
compute.routers.patch
.
Quando você remove uma sessão do BGP com autenticação MD5 usando a API, a
atualização precisa fazer duas coisas: remover a chave da matriz md5AuthenticationKeys
e remover a bgpPeer
.
Por exemplo, suponha que o Cloud Router tenha dois apps semelhantes e você queira remover um deles. Nesse caso, use uma solicitação como esta:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_RETAINED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_RETAINED_PEER", "interfaceName": "INTERFACE_FOR_RETAINED_PEER", "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER", "peerAsn": "PEER_ASN_FOR_RETAINED_PEER", "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER" } ], }
Substitua os seguintes valores:
PROJECT_ID
: o projeto que contém o Cloud RouterREGION
: a região do Google CloudROUTER_NAME
: o nome do Cloud RouterKEY_NAME_FOR_RETAINED_PEER
: o nome da chave usada pelo app semelhante que você está mantendoNAME_OF_RETAINED_PEER
: o nome do app semelhante do BGP que você está mantendoINTERFACE_FOR_RETAINED_PEER
: o nome da interface do app semelhante do BGP que você está mantendoIP_ADDRESS_FOR_RETAINED_PEER
: o endereço IP do Cloud Router para o app semelhante que você está mantendoPEER_IP_ADDRESS_FOR_RETAINED_PEER
: o endereço IP do app semelhante que você está mantendoPEER_ASN_FOR_RETAINED_PEER
: o número do sistema autônomo (ASN, na sigla em inglês) do BGP para o app semelhante que você está mantendoKEY_NAME_FOR_RETAINED_PEER
: o nome da chave de autenticação MD5 para o peering do BGP que você está mantendo.
Por exemplo, suponha que você tenha criado os seguintes apps semelhantes:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", "key": "first_secret_key_value" }, { "name": "second_key_name", "key": "second_secret_key_value" } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" }, { "name": "second_peer", "md5AuthenticationKeyName": "second_key_name", "interfaceName": "second_interface", "ipAddress": "second_address", "peerIpAddress": "second_peer_interface", "peerAsn": "second_peer_asn" } ], }
Em seguida, se você quiser remover o segundo app semelhante, use uma solicitação como a seguinte:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" } ], }