Descripción general
Administrar correctamente la información sensible es una parte esencial de la creación de un flujo de trabajo de desarrollo seguro. En Cloud SQL, te recomendamos que almacenes la información sensible como secretos que creas en Secret Manager. Los secretos incluyen claves de API, contraseñas, información sensible o credenciales que puedes usar para acceder a un sistema confidencial.
Secret Manager proporciona conveniencia y mejora la seguridad. También puedes aplicar el control de versiones a tus secretos y compartirlos con tu equipo. Para obtener más información sobre cómo compartir secretos con tu equipo, consulta Control de acceso (IAM).
En esta página, se describen cuatro casos de uso para usar Secret Manager a fin de administrar secretos con Cloud SQL:
- Almacenar nombres de usuario y contraseñas
- Conectarse a instancias de Cloud SQL
- Administrar certificados SSL/TLS
- Coordinar situaciones de recuperación ante desastres
Antes de comenzar
Antes de comenzar a usar Secret Manager para controlar los secretos en Cloud SQL, haz lo siguiente:
- Familiarízate con Cloud SQL y Secret Manager.
- Para comenzar a usar Cloud SQL, aprende a conectarte a tu primera instancia de Cloud SQL desde tu computadora local.
Nombres de usuarios y contraseñas
Usar Secret Manager para almacenar los nombres de usuario y las contraseñas de las cuentas de usuario de Cloud SQL como secretos es una forma segura y confiable de administrar esta información sensible.
Primero, debes crear un usuario en Cloud SQL. Como parte de la creación de este usuario, debes proporcionar un nombre de usuario y una contraseña. Para obtener más información sobre cómo crear un usuario en Cloud SQL, consulta Administra usuarios con autenticación integrada.
Después de crear el usuario, crea un secreto en Secret Manager para almacenar el nombre de usuario y la contraseña. Esto garantiza que no se pierda esta información sensible. Para obtener más información sobre cómo crear secretos y acceder a ellos en Secret Manager, consulta Crea y accede a secretos.
Instancias de Cloud SQL
Cuando te conectas a tu instancia de Cloud SQL, puedes usar Secret Manager para administrar los secretos a fin de crear un flujo de trabajo de desarrollo seguro.
Para comenzar, conéctate a tu instancia de Cloud SQL desde tu computadora local. Después de que la instancia se ejecute, usa variables de entorno para conectarte a ella. Algunos valores asociados con las variables son más sensibles, como el nombre de conexión de la instancia. Puedes crear un secreto en Secret Manager para almacenar y administrar esta información por cada valor. Si deseas obtener más información sobre el uso de variables de entorno para conectarte a tu instancia de Cloud SQL, consulta Configura y ejecuta una app de muestra.
Puedes recuperar el nombre de conexión de la instancia que se almacena como un secreto directamente desde Secret Manager. Esto proporciona un flujo de trabajo flexible que puede ayudar a tu equipo a compartir esta información sensible en varias aplicaciones y administrarla desde una ubicación centralizada. Para obtener más información sobre cómo recuperar secretos de Secret Manager, consulta Crea un secreto con Secret Manager.
Una aplicación requiere la información en los secretos para iniciarse. Esta información incluye los valores asociados con las variables de entorno que se usan para conectarse a la aplicación. Tu aplicación accede a los secretos cuando se inicia y los usa para configurar una conexión con Cloud SQL. Si se actualiza algún secreto relevante en Secret Manager, es posible que debas reiniciar la aplicación.
Certificados SSL/TLS
Si te conectas a una instancia de Cloud SQL mediante una dirección IP pública o privada, debes usar un certificado de seguridad de la capa de transporte (TLS) que proteja los datos mientras se transmiten. 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, consulta Configura certificados SSL/TLS.
Puedes guardar el certificado TLS, el certificado de clave pública y la clave privada como secretos para mantenerlos seguros y compartirlos con tu equipo. Para obtener más información sobre cómo crear secretos y acceder a ellos, consulta Crea un secreto con Secret Manager. Para obtener más información sobre cómo compartir secretos, consulta Control de acceso (IAM).
Situaciones de recuperación ante desastres
Si una instancia principal en Cloud SQL falla, puedes promover una réplica de lectura a la instancia principal. Después de que la réplica de lectura se convierta en la instancia principal, debes 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 se almacena en un secreto, debes actualizar el secreto con el nombre de la instancia principal nueva. Para obtener más información, consulta Edita un secreto.
Una forma de usar Secret Manager para las conmutaciones por error es almacenar el nombre de tu instancia principal en un secreto y, luego, configurar el conector de Cloud SQL para que se actualice cada vez que se actualice el secreto.
Puedes usar la siguiente secuencia de comandos de wrapper de Bash con el proxy de autenticación de Cloud SQL para detectar cuándo se actualiza el valor del nombre de la conexión de la instancia y, luego, reiniciar el proxy con el valor nuevo:
Para obtener más información sobre cómo crear y acceder a un secreto que contiene el nombre de conexión de la instancia de la réplica principal, consulta Crea un secreto con Secret Manager. Para obtener más información sobre el uso del proxy de autenticación de Cloud SQL, consulta Conéctate a Cloud SQL mediante el proxy de autenticación de Cloud SQL.
¿Qué sigue?
- Puedes integrar Secret Manager en otros productos de Google Cloud, como Cloud Run.
- Para obtener más información sobre cómo proteger tus secretos en entornos de contenedores, consulta Usa secretos.
- Para obtener una lista de otros productos de Google Cloud que se integran en Secret Manager, consulta Usa Secret Manager con otros productos.
- Para obtener información sobre cómo integrar Secret Manager en tu entorno de desarrollo, consulta las diversas muestras disponibles en la página Todas las muestras de código de Secret Manager.