Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como proteger a conexão com o banco de dados do google usando ip público (0.0.0.0)?


Há várias maneiras de definir uma conexão segura com uma instância do Cloud SQL.
  1. Use certificados SSL para se conectar à instância e ative a opção "Permitir somente conexões SSL".

  2. Use IP privado. Entendo que o aplicativo que você criou não está hospedado no GCP, mas em outro lugar. Portanto, uma boa opção é:

    2.1. Habilite o recurso de IP privado em sua instância CSQL

    2.2. Ative "importar rotas personalizadas " no peering recém-criado entre seu projeto (vamos chamar esse projeto de "projeto A") e o projeto de locatário onde seu CSQL está (o nome deste projeto será semelhante a "speckle-umbrella-[pg]-xx" JFYI). Tenha em mente que este recurso está em beta.

    2.3. Peça à nossa equipe de suporte técnico para habilitar "exportar rotas personalizadas" no peering recém-criado, mas por enquanto, do nosso lado (no já mencionado projeto "speckle-umbrella-[pg]-xx"). Se você não tiver um pacote de suporte, poderá abrir um rastreador de problemas privado seguindo este ligação especificando meu nome, seu ID de projeto e a instância CSQL onde você deseja habilitar esse recurso. Não se preocupe, o rastreador de problemas que você abrirá estará visível apenas para você e para os funcionários do Google. Tenha em mente que abrir um rastreador de problemas pode levar até 90 dias para obter uma resposta, mas estarei monitorando este post.

    2.4. Então, como presumi que seu aplicativo não está sendo executado no GCP, você precisará definir um túnel VPN ou um Cloud Interconnect , para conectar sua rede local ao Google Cloud.

Depois disso, você poderá se conectar do seu aplicativo à sua instância CSQL de maneira segura.
  1. Se você quiser usar IP privado e seu aplicativo estiver hospedado no GCP, poderá se conectar diretamente à instância CSQL se o aplicativo e o CSQL estiverem na mesma região e usando a mesma VPC (se você estiver usando uma opção sem servidor como funções de nuvem ou Google App Engine Standard, você pode usar o acesso VPC sem servidor ). Mas se seu aplicativo estiver hospedado no GCP, mas em um projeto diferente, você poderá seguir as etapas 2.1, 2.2 e 2.3 e, em seguida, criar um emparelhamento de VPC entre o projeto em que seu aplicativo está (vamos chamar esse projeto de "projeto B") e o projeto ao qual você associou sua instância CSQL ("Projeto A"). Para o "projeto A", você terá que habilitar "exportar rotas personalizadas" neste novo emparelhamento de VPC e, para o "projeto B", precisará habilitar "importar rotas personalizadas". Fazendo isso, sua conexão entre seu aplicativo (hospedado no "Projeto B") passará do Projeto B para o Projeto A e do Projeto A para o speckle-umbrella-[pg]-xx até chegar à instância do Cloud SQL.

A razão pela qual você precisa lidar com rotas personalizadas é porque, há algum tempo, os peerings de VPC não conseguiam propagar rotas, mas agora com isso é completamente possível.