Use a autenticação MD5

O Cloud Router usa o protocolo de gateway de limite (BGP) para trocar rotas entre uma rede da nuvem virtual privada (VPC) e uma rede de pares. Por predefinição, as sessões de BGP do Cloud Router não são autenticadas. No entanto, quando usa o Cloud Router com determinados produtos, pode, opcionalmente, configurar as sessões BGP para usar a autenticação MD5.

Os produtos que podem usar a autenticação MD5 incluem o seguinte:

Também pode usar a autenticação MD5 com dispositivos virtuais de rede de terceiros. Para mais informações, consulte o artigo Dispositivo de encaminhamento na documentação do Centro de conectividade de rede.

Quando configura uma sessão para usar a autenticação MD5, fornece uma chave partilhada secreta, ou seja, uma chave que usa quando configura o Cloud Router e novamente quando configura o router de pares. Depois de concluir os passos de configuração necessários, o Cloud Router usa essa chave para autenticar o par BGP. O Cloud Router aplica a autenticação MD5 através do modelo descrito na RFC 2385.

Pode adicionar a autenticação MD5 quando cria um par. Também pode adicionar autenticação a uma sessão existente, alterar a chave que uma sessão usa ou remover a autenticação.

Antes de começar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Install the Google Cloud CLI.

  4. Configure a CLI gcloud para usar a sua identidade federada.

    Para mais informações, consulte o artigo Inicie sessão na CLI gcloud com a sua identidade federada.

  5. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
    1. Se estiver a usar a CLI do Google Cloud, defina o ID do projeto executando o seguinte comando. As gcloud instruções nesta página pressupõem que definiu o ID do projeto.
      gcloud config set project PROJECT_ID
          
    1. Confirme que o ID foi definido executando o seguinte comando:
      gcloud config list --format='text(core.project)'
          

    Crie uma sessão que use a autenticação

    Para alguns produtos de conetividade de rede, pode configurar um par BGP para usar a autenticação MD5 enquanto cria o recurso. Estes produtos incluem a VPN de alta disponibilidade e o Interconnect dedicado.

    Para mais informações, consulte as secções seguintes:

    Se estiver a criar uma ligação VLAN de interligação de parceiros de camada 2, crie a ligação primeiro e, em seguida, atualize o par BGP para adicionar a autenticação MD5. Para obter informações sobre como adicionar autenticação ao atualizar uma sessão de BGP, consulte a secção seguinte. Se tiver uma ligação de camada 3, contacte o seu fornecedor de serviços para receber instruções.

    Adicione autenticação a uma sessão existente

    Para adicionar autenticação a um ponto de troca BGP existente, use um dos seguintes procedimentos. Quando adicionar a autenticação, certifique-se de que a chave que usa é idêntica à usada pelo seu router de pares.

    Trusted Cloud não apresenta a chave de autenticação MD5 e apenas mostra o nome da chave após a configuração bem-sucedida.

    • Se configurar a autenticação MD5 através do gcloud ou da IU, Trusted Cloud gera automaticamente o nome da chave no formato PEER_NAME-key.
    • Se configurar a autenticação MD5 através da API, pode especificar o nome da chave.

    Consola

    1. Na Trusted Cloud consola, aceda à página Routers na nuvem.

      Aceder aos Cloud Routers

    2. No campo Nome, clique no nome do Cloud Router adequado.

    3. Na página Detalhes do router, clique no nome da sessão BGP que quer modificar.

    4. Na página Detalhes da sessão BGP, clique em Editar.

    5. Para adicionar a autenticação MD5:

      1. Na secção Autenticação MD5, selecione Ativada. A página é atualizada para incluir um campo de texto.
      2. Introduza uma chave de segurança ou, para gerar uma nova chave de segurança, clique em Gerar e copiar.
      3. Anote a chave. Depois de sair desta página, não pode recuperar a chave.

    6. Clique em Guardar.

    gcloud

    Para atualizar a sessão através da 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 Router
    • PEER_NAME: o nome do par BGP
    • REGION: a Trusted Cloud região
    • SECRET_KEY: a sua chave de autenticação MD5 partilhada secreta

    API

    Para atualizar a sessão através da API, use o método compute.routers.patch. Quando usa este método para adicionar autenticação à sessão, o seu pedido tem de fazer duas coisas:

    • Adicione uma entrada para a chave na matriz md5AuthenticationKeys. Quando adiciona a entrada, fornece um nome e um valor para a chave.
    • Atualize a matriz bgpPeers para incluir um valor para o campo md5AuthenticationKeyName. Este campo faz referência à chave pelo nome.

    Quando aplica uma correção à matriz md5AuthenticationKeys, tem de fornecer o name de cada item na matriz (a menos que queira remover alguns itens). No entanto, não tem de fornecer o valor para o campo key de cada artigo. Se omitir este valor, o Cloud Router retém o valor anterior que foi usado. Este comportamento foi concebido para proteger o sigilo das chaves. Difere de outros métodos de patch, que normalmente exigem que especifique um valor para cada campo num item de matriz.

    Quando corrige a matriz bgpPeers, não tem de fornecer valores para todos os campos em todos os itens (a menos que queira remover alguns pares ou alguns valores).

    Por exemplo, suponhamos que o Cloud Router tem dois pares, um que usa a autenticação MD5 e outro que não usa. Se quiser deixar o primeiro par inalterado, mas adicionar a autenticação MD5 ao segundo par, usaria um pedido semelhante ao 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 Router
    • REGION: a Trusted Cloud região
    • ROUTER_NAME: o nome do Cloud Router
    • KEY_NAME_1: o nome da chave que está atualmente em utilização (porPEER_NAME_1)
    • KEY_NAME_2: o nome da nova chave que quer adicionar para PEER_NAME_2. Tome nota do nome. Se quiser fazer alterações mais tarde através da API, precisa do nome.
    • SECRET_KEY: a sua chave de autenticação MD5 secreta que está a adicionar para PEER_NAME_2
    • PEER_NAME_1: o nome do par de BGP que não está a alterar
    • INTERFACE_NAME_1: o nome da interface para a sessão de peering de BGP que não está a mudar
    • IP_ADDRESS_1: o endereço IP no Cloud Router (para o par que não está a ser alterado)
    • PEER_IP_ADDRESS_1: o endereço IP do par que não está a ser alterado
    • PEER_ASN_1: o número do sistema autónomo (ASN) do BGP para o par que não está a ser alterado
    • PEER_NAME_2: o nome do par BGP que quer atualizar para que use a autenticação MD5
    • INTERFACE_NAME_2: o nome da interface para a sessão de peering de BGP
    • IP_ADDRESS_2: o endereço IP no Cloud Router
    • PEER_IP_ADDRESS_2: o endereço IP do router de pares
    • PEER_ASN_2: o número do sistema autónomo (ASN) do BGP para este par do BGP

    Atualize a chave de autenticação

    Para alterar a chave que o Cloud Router usa para uma sessão de peering, use um dos seguintes procedimentos. Quando atualiza a chave no router na nuvem, certifique-se de que a chave que usa é idêntica à usada pelo router de pares.

    Trusted Cloud não apresenta a chave de autenticação MD5 e apenas mostra o nome da chave após a configuração bem-sucedida.

    • Se configurar a autenticação MD5 através do gcloud ou da IU, Trusted Cloud gera automaticamente o nome da chave no formato PEER_NAME-key.
    • Se configurar a autenticação MD5 através da API, pode especificar o nome da chave.

    Consola

    1. Na Trusted Cloud consola, aceda à página Routers na nuvem.

      Aceder aos Cloud Routers

    2. No campo Nome, clique no nome do Cloud Router adequado.

    3. Na página Detalhes do router, clique no nome da sessão BGP que quer modificar.

    4. Na página Detalhes da sessão BGP, clique em Editar.

    5. Na secção Autenticação MD5, clique em Atualizar chave de autenticação MD5.

    6. No campo Chave de autenticação MD5, introduza a nova chave de autenticação secreta ou, para preencher o campo, clique em Gerar e copiar.

    7. Anote a chave. Depois de sair desta página, não pode recuperar a chave.

    8. Clique em Guardar.

    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 Router
    • PEER_NAME: o nome do par BGP
    • REGION: a Trusted Cloud região
    • SECRET_KEY: a nova chave de autenticação MD5 secreta que quer usar

    API

    Para atualizar a sessão, use o método compute.routers.patch. Por exemplo, use um pedido como o seguinte.

    Este exemplo substitui toda a matriz de pares e não apenas o par específico identificado. Ou seja, remove todos os pares, exceto PEER_NAME. Remove todas as chaves, exceto KEY_NAME, e atualiza 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 Router
    • REGION: a Trusted Cloud região
    • ROUTER_NAME: o nome do Cloud Router
    • KEY_NAME: o nome da chave que quer atualizar; sempre que trabalhar com a autenticação MD5 através da API, tem de fazer referência à chave pelo respetivo nome
    • UPDATED_SECRET_KEY: a sua nova chave de autenticação MD5 secreta
    • PEER_NAME: o nome do par BGP
    • INTERFACE_NAME: o nome da interface para a sessão de peering de BGP
    • IP_ADDRESS: o endereço IP no Cloud Router
    • PEER_IP_ADDRESS: o endereço IP do router de pares
    • PEER_ASN: o número do sistema autónomo (ASN) do BGP para este par do BGP

    Verifique o estado da autenticação

    Siga os passos abaixo para verificar o estado da autenticação MD5. Consulte também Ver detalhes do Cloud Router.

    Consola

    1. Na Trusted Cloud consola, aceda à página Routers na nuvem.

      Aceder aos Cloud Routers

    2. No campo Nome, clique no nome do Cloud Router adequado.

    3. Na página Detalhes do router, 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 através da CLI 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 Router
    • PROJECT: o nome do projeto
    • REGION: a Trusted Cloud região

    O resultado inclui o objeto result.bgpPeerStatus[], que contém informações sobre as sessões BGP do Cloud Router. Os dados sobre cada sessão incluem os seguintes dois campos:

    • md5AuthEnabled—um campo booleano que indica se a autenticação MD5 está ativada para a sessão
    • statusReason: um campo que descreve o estado 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 o seguinte:

    • PROJECT_ID: o projeto que contém o Cloud Router
    • REGION: a região onde o Cloud Router está localizado
    • ROUTER_NAME: o nome do Cloud Router

    O resultado inclui informações sobre cada sessão BGP. Os dados sobre cada sessão incluem os seguintes dois campos:

    • md5AuthEnabled: um campo booleano que indica se a autenticação MD5 está ativada para a sessão
    • statusReason: um campo que descreve o estado da sessão. Este campo é apresentado apenas quando existe um problema com a autenticação MD5. (Nesse caso, o valor do campo é MD5_AUTH_INTERNAL_PROBLEM.)

    Para configurar a monitorização contínua das suas sessões de BGP, use o Cloud Logging. O registo regista informações sobre o estado de autenticação MD5 no evento BGP, que faz parte do registo de informações.

    Remova a autenticação de uma sessão

    Se quiser remover a autenticação MD5 de uma sessão BGP, tem de remover a autenticação MD5 do Cloud Router e do seu router de pares.

    Para remover a autenticação MD5 da sessão BGP no Cloud Router, use um dos seguintes procedimentos.

    Consola

    1. Na Trusted Cloud consola, aceda à página Routers na nuvem.

      Aceder aos Cloud Routers

    2. No campo Nome, clique no nome do Cloud Router adequado.

    3. Na página Detalhes do router, clique no nome da sessão BGP que quer modificar.

    4. Na página Detalhes da sessão BGP, clique em Editar.

    5. Para a autenticação MD5, clique em Desativada.

    6. Clique em Guardar. É apresentada a caixa de diálogo Desativar chave de autenticação MD5.

    7. Na caixa de diálogo de confirmação, 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 Router
    • PEER_NAME: o nome do par BGP
    • REGION: a Trusted Cloud região

    API

    Para remover a autenticação MD5, use o método compute.routers.patch.

    Quando remove a autenticação através da API, a sua atualização tem de fazer duas coisas:

    • Atualize a matriz md5AuthenticationKeys
    • Remova o valor md5AuthenticationKey da entrada bgpPeers relevante

    Por exemplo, se o seu Cloud Router tiver dois pares BGP e quiser remover a autenticação MD5 de um deles. Neste caso, use um pedido como o 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 Router
    • REGION: a Trusted Cloud região onde o Cloud Router está localizado
    • ROUTER_NAME: o nome do Cloud Router
    • NAME_OF_UPDATED_PEER: o nome da sessão de peering que quer modificar
    • INTERFACE_NAME_FOR_UPDATED_PEER: o nome da interface para o par de BGP que quer modificar
    • IP_ADDRESS_FOR_UPDATED_PEER: o endereço IP no router na nuvem que é usado pelo par que quer modificar
    • PEER_IP_ADDRESS_FOR_UPDATED_PEER: o endereço IP do router paritário para a sessão de peering que quer modificar
    • PEER_ASN: o número do sistema autónomo (ASN) do BGP para este par do BGP que quer modificar
    • NAME_OF_UNCHANGED_PEER: o nome da sessão de peering que quer manter tal como está
    • INTERFACE_NAME_FOR_UNCHANGED_PEER: o nome da interface para o par BGP que quer manter tal como está
    • IP_ADDRESS_FOR_UNCHANGED_PEER: o endereço IP no router na nuvem usado pelo par que quer manter tal como está
    • PEER_IP_ADDRESS_FOR_UNCHANGED_PEER: o endereço IP do router de pares para a sessão de peering que quer manter tal como está
    • PEER_ASN_FOR_UNCHANGED_PEER: o número do sistema autónomo (ASN) do BGP para o par do BGP que quer manter tal como está
    • KEY_NAME_FOR_UNCHANGED_PEER: o nome da chave de autenticação MD5 do par BGP que quer manter tal como está

    Remova uma sessão que usa autenticação

    Para remover uma sessão de peering que usa a autenticação MD5, use um dos seguintes procedimentos.

    Consola

    1. Na Trusted Cloud consola, aceda à página Routers na nuvem.

      Aceder aos Cloud Routers

    2. Selecione o router do qual quer remover uma sessão BGP.
    3. Para sessões de BGP, selecione a sessão de BGP que quer remover.
    4. Na parte superior da página, clique em Eliminar e, de seguida, confirme a eliminação.

    gcloud

    Para remover uma sessão de BGP com a autenticação MD5 ativada, use o comando gcloud compute routers remove-bgp-peer.

    Para mais informações, consulte o artigo Desative ou remova sessões BGP.

    API

    Para remover uma sessão de BGP com a autenticação MD5 ativada, use o método compute.routers.patch.

    Quando remove uma sessão BGP com autenticação MD5 através da API, a sua atualização tem de fazer duas coisas: remover a chave da matriz md5AuthenticationKeys e remover o próprio bgpPeer.

    Por exemplo, suponhamos que o Cloud Router tem dois pares e quer remover um deles. Neste caso, use um pedido como o seguinte:

      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 Router
    • REGION: a Trusted Cloud região
    • ROUTER_NAME: o nome do Cloud Router
    • KEY_NAME_FOR_RETAINED_PEER: o nome da chave usada pelo par que está a manter
    • NAME_OF_RETAINED_PEER: o nome do par de BGP que vai manter
    • INTERFACE_FOR_RETAINED_PEER: o nome da interface para o par BGP que está a manter
    • IP_ADDRESS_FOR_RETAINED_PEER: o endereço IP no router na nuvem para o par que está a manter
    • PEER_IP_ADDRESS_FOR_RETAINED_PEER: o endereço IP do par que está a manter
    • PEER_ASN_FOR_RETAINED_PEER: o número do sistema autónomo (ASN) do BGP para o par que está a manter
    • KEY_NAME_FOR_RETAINED_PEER: o nome da chave de autenticação MD5 para o par BGP que está a manter

    Por exemplo, suponha que criou os seguintes pares:

      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"
          }
        ],
      }
     

    Se, em seguida, quiser remover o segundo par, pode usar um pedido como o 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"
          }
        ],
      }
     

    O que se segue?