Descripción general
Gestionar correctamente su información confidencial es fundamental para crear un flujo de trabajo de desarrollo seguro. Para Cloud SQL, le recomendamos almacenar su información confidencial como secretos que cree en Secret Manager . Los secretos incluyen claves de API, contraseñas, información confidencial o credenciales que podría usar para acceder a un sistema confidencial.
Secret Manager ofrece comodidad y mejora la seguridad. También puede aplicar control de versiones a sus secretos y compartirlos con su equipo. Para obtener más información sobre cómo compartir secretos con su equipo, consulte Control de acceso (IAM) .
En esta página se describen cuatro casos de uso para usar Secret Manager para administrar secretos con Cloud SQL:
- Almacenamiento de nombres de usuario y contraseñas
- Conexión a instancias de Cloud SQL
- Administración de certificados SSL/TLS
- Coordinación de escenarios de recuperación ante desastres
Antes de empezar
Antes de comenzar a usar Secret Manager para gestionar secretos en Cloud SQL:
- Familiarícese con Cloud SQL y Secret Manager .
- Comience a utilizar Cloud SQL aprendiendo cómo conectarse a su primera instancia de Cloud SQL desde su computadora local .
Nombres de usuario y contraseñas
Usar Secret Manager para almacenar los nombres de usuario y las contraseñas de sus cuentas de usuario de Cloud SQL como secretos es una forma segura y confiable de administrar esta información confidencial.
Primero, debe crear un usuario en Cloud SQL. Para ello, deberá proporcionar un nombre de usuario y una contraseña. Para obtener más información sobre cómo crear un usuario en Cloud SQL, consulte Crear y administrar usuarios .
Tras crear el usuario, cree un secreto en el Administrador de Secretos para almacenar el nombre de usuario y la contraseña. Esto garantiza que esta información confidencial no se pierda. Para obtener más información sobre cómo crear y acceder a secretos en el Administrador de Secretos, consulte Creación y acceso a secretos .
Instancias de Cloud SQL
Al conectarse a su instancia de Cloud SQL, puede usar Secret Manager para administrar secretos y crear un flujo de trabajo de desarrollo seguro.
Comience por conectarse a su instancia de Cloud SQL desde su equipo local. Una vez que la instancia esté en ejecución, use variables de entorno para conectarse. Algunos valores asociados a las variables son más sensibles, como el nombre de conexión de la instancia. Para cada valor, puede crear un secreto en Secret Manager para almacenar y administrar esta información. Para obtener más información sobre el uso de variables de entorno para conectarse a su instancia de Cloud SQL, consulte Configurar y ejecutar una aplicación de ejemplo .
Puede recuperar el nombre de la conexión de la instancia almacenado como secreto directamente desde Secret Manager. Esto proporciona un flujo de trabajo flexible que permite a su equipo compartir esta información confidencial entre varias aplicaciones y administrarla desde una ubicación centralizada. Para obtener más información sobre cómo recuperar secretos desde Secret Manager, consulte Crear un secreto con Secret Manager .
Una aplicación necesita la información de los secretos para iniciarse. Esta información incluye los valores asociados a las variables de entorno que se utilizan para conectarse a la aplicación. Su aplicación accede a los secretos al iniciarse y, a continuación, los utiliza para configurar una conexión a Cloud SQL. Si se actualiza algún secreto relevante en Secret Manager, es posible que deba reiniciar la aplicación.
Certificados SSL/TLS
Si se conecta a una instancia de Cloud SQL con una dirección IP pública o privada, debe usar un certificado de seguridad de la capa de transporte (TLS) que protege los datos durante su transmisión. Cada certificado TLS incluye un certificado de clave pública y una clave privada. Para obtener más información sobre la configuración de certificados TLS, consulte Configurar certificados SSL/TLS .
Puede guardar el certificado TLS, el certificado de clave pública y la clave privada como secretos para protegerlos y compartirlos con su equipo. Para obtener más información sobre cómo crear y acceder a secretos, consulte Crear un secreto con Secret Manager . Para obtener más información sobre cómo compartir secretos, consulte Control de acceso (IAM) .
Escenarios de recuperación ante desastres
Si falla una instancia principal en Cloud SQL, puede promover una réplica de lectura a la instancia principal. Una vez que la réplica de lectura se convierta en la instancia principal, debe actualizar el nombre de la conexión de la instancia para reflejar esta promoción. Si el nombre de la conexión de la instancia está almacenado en un secreto, debe actualizar el secreto con el nombre de la nueva instancia principal. Para obtener más información, consulte Editar un secreto .
Una forma de usar Secret Manager para conmutaciones por error es almacenar el nombre de su instancia principal en un secreto y luego configurar su conector de Cloud SQL para que se actualice cada vez que se actualice el secreto.
Puede usar el siguiente script contenedor de bash con el proxy de autenticación de Cloud SQL para detectar cuándo se actualiza el valor del nombre de conexión de la instancia y luego reiniciar el proxy con el nuevo valor:
Para obtener más información sobre cómo crear y acceder a un secreto que contenga el nombre de conexión de la instancia de la réplica principal, consulte Crear un secreto con Secret Manager . Para obtener más información sobre el uso del proxy de autenticación de Cloud SQL, consulte Conectarse a Cloud SQL mediante el proxy de autenticación de Cloud SQL .
¿Qué sigue?
- Puede integrar Secret Manager con otros Google Cloudproductos como Cloud Run.
- Para obtener más información sobre cómo proteger sus secretos en entornos de contenedores, consulte Usar secretos .
- Para obtener una lista de otros Google Cloud productos que se integran con Secret Manager, consulte Uso de Secret Manager con otros productos .
- Para aprender cómo integrar Secret Manager con su entorno de desarrollo, consulte los distintos ejemplos disponibles en la página Todos los ejemplos de código de Secret Manager .