Visão geral
Gerenciar suas informações confidenciais corretamente é essencial para criar um fluxo de trabalho de desenvolvimento seguro. Para o Cloud SQL, recomendamos que você armazene suas informações confidenciais como segredos criados no Gerenciador de Segredos . Segredos incluem chaves de API, senhas, informações confidenciais ou credenciais que você pode usar para acessar um sistema confidencial.
O Gerenciador de Segredos oferece praticidade e melhora a segurança. Você também pode aplicar controle de versão aos seus segredos e compartilhá-los com sua equipe. Para saber mais sobre como compartilhar segredos com sua equipe, consulte Controle de acesso (IAM) .
Esta página descreve quatro casos de uso para usar o Secret Manager para gerenciar segredos com o Cloud SQL:
- Armazenamento de nomes de usuários e senhas
- Conexão com instâncias do Cloud SQL
- Gerenciando certificados SSL/TLS
- Coordenação de cenários de recuperação de desastres
Antes de começar
Antes de começar a usar o Secret Manager para manipular segredos no Cloud SQL:
- Familiarize-se com o Cloud SQL e o Secret Manager .
- Comece a usar o Cloud SQL aprendendo como se conectar à sua primeira instância do Cloud SQL a partir do seu computador local .
Nomes de usuários e senhas
Usar o Secret Manager para armazenar os nomes de usuário e senhas das suas contas de usuário do Cloud SQL como segredos é uma maneira segura e confiável de gerenciar essas informações confidenciais.
Primeiro, você precisa criar um usuário no Cloud SQL. Para criá-lo, você precisa fornecer um nome de usuário e uma senha. Para obter mais informações sobre como criar um usuário no Cloud SQL, consulte Criar e gerenciar usuários .
Após a criação do usuário, crie um segredo no Gerenciador de Segredos para armazenar o nome de usuário e a senha. Isso garante que essas informações confidenciais não sejam perdidas. Para obter mais informações sobre como criar e acessar segredos no Gerenciador de Segredos, consulte Criação e acesso a segredos .
Instâncias do Cloud SQL
Ao se conectar à sua instância do Cloud SQL, você pode usar o Secret Manager para gerenciar segredos e criar um fluxo de trabalho de desenvolvimento seguro.
Comece conectando-se à sua instância do Cloud SQL a partir do seu computador local. Depois que a instância estiver em execução, use variáveis de ambiente para se conectar a ela. Alguns valores associados às variáveis são mais confidenciais, como o nome da conexão da instância. Para cada valor, você pode criar um segredo no Gerenciador de Segredos para armazenar e gerenciar essas informações. Para saber mais sobre como usar variáveis de ambiente para se conectar à sua instância do Cloud SQL, consulte Configurar e executar aplicativo de exemplo .
Você pode recuperar o nome da conexão da instância armazenado como um segredo diretamente do Gerenciador de Segredos. Isso proporciona um fluxo de trabalho flexível que pode ajudar sua equipe a compartilhar essas informações confidenciais entre vários aplicativos e gerenciá-las de um local centralizado. Para obter mais informações sobre como recuperar segredos do Gerenciador de Segredos, consulte Criar um segredo com o Gerenciador de Segredos .
Um aplicativo precisa das informações contidas nos segredos para ser iniciado. Essas informações incluem os valores associados às variáveis de ambiente usadas para se conectar ao aplicativo. Seu aplicativo acessa os segredos ao ser iniciado e, em seguida, os utiliza para configurar uma conexão com o Cloud SQL. Se algum segredo relevante for atualizado no Gerenciador de Segredos, talvez seja necessário reiniciar o aplicativo.
Certificados SSL/TLS
Se você se conectar a uma instância do Cloud SQL usando um endereço IP público ou privado, deverá usar um certificado TLS (Transport Layer Security), que protege os dados durante a transmissão. Cada certificado TLS inclui um certificado de chave pública e uma chave privada. Para obter mais informações sobre como configurar certificados TLS, consulte Configurar certificados SSL/TLS .
Você pode salvar o certificado TLS, o certificado de chave pública e a chave privada como segredos para mantê-los seguros e compartilhá-los com sua equipe. Para obter mais informações sobre como criar e acessar segredos, consulte Criar um segredo com o Gerenciador de Segredos . Para obter mais informações sobre como compartilhar segredos, consulte Controle de acesso (IAM) .
Cenários de recuperação de desastres
Se uma instância primária no Cloud SQL falhar, você poderá promover uma réplica de leitura para a instância primária. Depois que a réplica de leitura se tornar a instância primária, você deverá atualizar o nome da conexão da instância para refletir essa promoção. Se o nome da conexão da instância estiver armazenado em um segredo, você deverá atualizar o segredo com o nome da nova instância primária. Para obter mais informações, consulte Editar um segredo .
Uma maneira de usar o Secret Manager para failovers é armazenar o nome da sua instância primária em um segredo e, em seguida, configurar seu conector do Cloud SQL para ser atualizado sempre que o segredo for atualizado.
Você pode usar o seguinte script wrapper bash com o proxy de autenticação do Cloud SQL para detectar quando o valor do nome de conexão da instância é atualizado e, em seguida, reiniciar o proxy com o novo valor:
Para obter mais informações sobre como criar e acessar um segredo que contém o nome da conexão da instância da réplica primária, consulte Criar um segredo com o Gerenciador de Segredos . Para obter mais informações sobre como usar o proxy de autenticação do Cloud SQL, consulte Conectar-se ao Cloud SQL usando o proxy de autenticação do Cloud SQL .
O que vem a seguir
- Você pode integrar o Secret Manager com outros Google Cloudprodutos como o Cloud Run.
- Para obter mais informações sobre como proteger seus segredos em ambientes de contêiner, consulte Usar segredos .
- Para uma lista de outros Google Cloud produtos que se integram ao Secret Manager, consulte Usando o Secret Manager com outros produtos .
- Para saber como integrar o Secret Manager ao seu ambiente de desenvolvimento, veja os vários exemplos disponíveis na página Todos os exemplos de código do Secret Manager .