Visão geral
Gerenciar informações confidenciais corretamente é uma parte essencial da criação de um fluxo de trabalho de desenvolvimento seguro. Para o Cloud SQL, recomendamos armazenar as informações confidenciais como secrets criados no Secret Manager. Os secrets incluem chaves de API, senhas, informações confidenciais ou credenciais que você pode usar para acessar um sistema confidencial.
O Secret Manager oferece conveniência e melhora a segurança. Também é possível aplicar o controle de versões aos seus secrets e compartilhá-los com toda a equipe. Para saber mais sobre como compartilhar secrets com sua equipe, consulte Controle de acesso (IAM).
Nesta página, descrevemos quatro casos de uso do Secret Manager para gerenciar secrets com o Cloud SQL:
- Armazenar nomes de usuários e senhas
- Como se conectar a instâncias do Cloud SQL
- Como gerenciar certificados SSL/TLS
- Como coordenar cenários de recuperação de desastres
Antes de começar
Antes de começar a usar o Secret Manager para processar secrets no Cloud SQL, faça o seguinte:
- Conheça o Cloud SQL e o Gerenciador de secrets.
- Comece a usar o Cloud SQL aprendendo a se conectar à primeira instância do Cloud SQL do seu computador local.
Nomes de usuário e senhas
Usar o Secret Manager para armazenar os nomes de usuário e as senhas das contas de usuário do Cloud SQL como secrets é uma maneira segura e confiável de gerenciar essas informações confidenciais.
Primeiro você precisa criar um usuário no Cloud SQL. Como parte da criação desse usuário, você precisa fornecer um nome de usuário e uma senha. Para 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 secret no Secret Manager para armazenar o nome de usuário e a senha. Isso garante que essas informações sensíveis não sejam perdidas. Para ver mais informações sobre como criar e acessar secrets no Secret Manager, consulte Como criar e acessar secrets.
Instâncias do Cloud SQL
Ao se conectar à sua instância do Cloud SQL, use o Secret Manager para gerenciar secrets e criar um fluxo de trabalho de desenvolvimento seguro.
Para começar, conecte-se à instância do Cloud SQL 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 de conexão da instância. Para cada valor, é possível criar um secret no Secret Manager para armazenar e gerenciar essas informações. Para saber mais sobre como usar as variáveis de ambiente para se conectar à instância do Cloud SQL, consulte Configurar e executar o aplicativo de amostra.
No Gerenciador de secrets, é possível recuperar o nome da conexão da instância armazenado como um secret. Isso fornece um fluxo de trabalho flexível que pode ajudar sua equipe a compartilhar essas informações confidenciais em vários aplicativos e gerenciá-las de um local centralizado. Para mais informações sobre como recuperar secrets do Secret Manager, consulte Criar um secret com o Secret Manager.
Um aplicativo requer as informações nos secrets para começar. Essas informações incluem os valores associados às variáveis de ambiente usadas para se conectar ao aplicativo. O aplicativo acessa os secrets quando é iniciado e, em seguida, usa os secrets para configurar uma conexão com o Cloud SQL. Se as chaves secretas relevantes forem atualizadas no Secret Manager, 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 particular, use um certificado Transport Layer Security (TLS) que proteja os dados enquanto eles são transmitidos. Cada certificado TLS inclui um certificado de chave pública e uma chave privada. Veja mais informações sobre a configuração de certificados TLS em Configurar certificados SSL/TLS.
Salve o certificado TLS, o certificado de chave pública e a chave privada como secrets para mantê-los seguros e compartilhá-los com sua equipe. Para ver mais informações sobre como criar e acessar secrets, consulte Criar um secret com o Secret Manager. Para mais informações sobre o compartilhamento de secrets, consulte Controle de acesso (IAM).
Cenários de recuperação de desastres
Se uma instância principal no Cloud SQL falhar, é possível promover uma réplica de leitura para a instância principal. Depois que a réplica de leitura se tornar a instância principal, vai ser necessário 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 secret, atualize-o com o nome da nova instância principal. Para mais informações, consulte Editar um secret.
Uma maneira de usar o Secret Manager para failovers é armazenar o nome da instância principal em um secret e configurar o conector do Cloud SQL para ser atualizado sempre que o secret for atualizado.
É possível usar o script de wrapper bash a seguir com o proxy do Cloud SQL Auth para detectar quando o valor do nome da conexão da instância é atualizado e reiniciar o proxy com o novo valor:
Para mais informações sobre como criar e acessar um secret que contenha o nome da conexão da instância da réplica primária, consulte Criar um secret com o Gerenciador de secrets. Para mais informações sobre como usar o proxy do Cloud SQL Auth, consulte Conectar-se ao Cloud SQL usando o proxy do Cloud SQL Auth.
A seguir
- É possível integrar o Secret Manager a outros produtos do Google Cloud,
como o Cloud Run.
- Para mais informações sobre como proteger seus secrets em ambientes de contêiner, consulte Usar secrets.
- Para uma lista de outros produtos do Google Cloud que se integram ao Secret Manager, consulte Como usar o Secret Manager com outros produtos.
- Para saber como integrar o Secret Manager ao ambiente de desenvolvimento, consulte as várias amostras disponíveis na página Todas as amostras de código do Secret Manager.