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.
Para configurar a autenticação MD5, você precisa usar a CLI ou a API do Google Cloud.
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.
- Instale e inicialize a Google Cloud CLI.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.
- Instale e inicialize a Google Cloud CLI.
- 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
Se você quiser adicionar a autenticação a um app semelhante 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.
gcloud
Para atualizar a sessão com a CLI gcloud, use o
comando gcloud beta compute routers update-bgp-peer
:
gcloud beta 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/beta/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
Se você precisar alterar a chave usada pelo Cloud Router para 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.
gcloud
Para atualizar a sessão, use o
comando
gcloud beta compute routers update-bgp-peer
.
gcloud beta 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
. Ele remove todas as chaves, exceto
KEY_NAME
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME" } ], "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.
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.
gcloud
Para verificar a sessão usando a CLI do gcloud, use o
comando gcloud beta compute routers get-status
.
gcloud beta 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/beta/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
.)
Remover a autenticação de uma sessão
Se você quiser remover a autenticação MD5 de uma sessão, use um dos procedimentos a seguir.
gcloud
Para remover a autenticação MD5, use o comando
gcloud beta compute routers update-bgp-peer
:
gcloud beta 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/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_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_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_FOR_UNCHANGED_PEER
: o nome do sistema autônomo do BGP da chave de autenticação MD5 para o app semelhante do BGP que você quer manter como está
Remover uma sessão que usa autenticação
Às vezes, pode ser necessário remover uma sessão de peering que usa a autenticação MD5. Se você estiver trabalhando com a CLI gcloud, use o mesmo processo que você usaria para apps semelhantes não autenticados. No entanto, se você estiver trabalhando na API, o processo será um pouco diferente.
gcloud
Para remover a autenticação MD5, use o comando
gcloud beta compute routers update-bgp-peer
:
gcloud beta 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 usando a API, a atualização precisa fazer
duas coisas: remover a chave da matriz md5AuthenticationKeys
e remover o
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/beta/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" } ], }
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á mantendo
Por exemplo, suponha que você tenha criado os seguintes apps semelhantes:
PATCH https://compute.googleapis.com/compute/beta/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/beta/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" } ], }