Crea y administra Secrets con Cloud Code

Aprende a crear y administrar secretos con la integración de Secret Manager de Cloud Code.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

Guiarme


Antes de comenzar

  1. En la consola de Google Cloud, ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud.

  3. Instala Git para que Cloud Code pueda realizar operaciones de Git, como clonar una muestra.
  4. Instala el complemento de Cloud Code si aún no lo has hecho.

Crea tu servicio de Cloud Run

Usa el editor de Cloud Shell como entorno para crear tu servicio y secreto de Cloud Run. El editor está precargado con las herramientas para el desarrollo en Cloud.

Sigue estos pasos para crear tu servicio:

  1. En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.

    Nombre del proyecto activo en la barra de estado

  2. En el menú de selección rápida que aparece, haz clic en New Application y, luego, en Cloud Run Application.

  3. En la lista de muestras de Cloud Run, selecciona Python (Flask): Cloud Run.

  4. Selecciona una carpeta para tu muestra y haz clic en Create New Application.

Después de que el editor de Cloud Shell cargue el servicio en un lugar de trabajo nuevo, consulta sus archivos en la vista del explorador.

Crea un secreto

Secret Manager te permite almacenar y administrar secretos, y acceder a ellos de forma segura como BLOB binarios o strings de texto. Además, administra tus secretos, lo que significa que no tienes que lidiar con máquinas virtuales ni servicios operativos.

Sigue estos pasos para crear un Secret con la integración de Secret Manager de Cloud Code:

  1. Haz clic en Secret Manager y espera un momento para que se cargue.
  2. Si se te solicita que autorices a Cloud Shell a realizar llamadas a la API de Google Cloud, haz clic en Autorizar.
  3. Haz clic en add Crear secreto.
  4. Si se te solicita, elige tu proyecto de Google Cloud en el selector desplegable.
  5. Si se te solicita, habilita la API de Secret Manager.
  6. En la pestaña Secret Manager - Create Secret que aparece, ingresa lo siguiente en el campo Name:

    my-secret
    
  7. En el campo Valor del secreto, ingresa lo siguiente:

    Hello secret!
    
  8. Haz clic en Crear secreto y aparecerá un mensaje que indica que el secreto se creó de forma correcta.

Agrega un secreto a tu código

Los Secrets son excelentes para almacenar información de configuración, como contraseñas de bases de datos, claves de API o certificados TLS que necesita una aplicación en el entorno de ejecución.

Para agregar un secreto a tu código, haz lo siguiente:

  1. Abre la vista de la API de Cloud y selecciona la API de Secret Manager.

    Se abrirá una pestaña de detalles de la API de Google Cloud con el encabezado API de Secret Manager.

  2. En la sección Instalar biblioteca cliente, haz clic en la pestaña Python y, luego, en play_arrow Ejecutar en terminal. De esta manera, se instala la biblioteca cliente google-cloud-secret-manager.

  3. Abre requirements.txt y agrega la siguiente línea al final del archivo:

    google-cloud-secret-manager==2.1.0
    

    Tus cambise guardan automáticamente.

  4. Para obtener el valor más reciente de tu secreto, abre app.py y copia y pega la siguiente función: después de la función hello:

    def access_secret_version(secret_version_id):
        """Return the value of a secret's version"""
        from google.cloud import secretmanager
    
        # Create the Secret Manager client.
        client = secretmanager.SecretManagerServiceClient()
    
        # Access the secret version.
        response = client.access_secret_version(name=secret_version_id)
    
        # Return the decoded payload.
        return response.payload.data.decode('UTF-8')
    
    
  5. Para llamar a la función access_secret_version, reemplaza la variable de mensaje por lo siguiente:

    message = access_secret_version("<SECRET_VERSION_ID>")
    
  6. Si aún tienes abierta la pestaña Secret Manager - Create Secret (Administrador de secretos - Crear secreto), file_copy copia el ID.

    Para obtener el ID de una versión del secreto en cualquier momento, navega a Secret Manager > [SECRET_NAME] > Versions, mantén el puntero sobre tu versión y haz clic en Copiar ID del recurso.

  7. Para agregar el ID de versión, reemplaza el marcador de posición <SECRET_VERSION_ID> por el ID de la versión que copiaste.

Ejecutar en el emulador de Cloud Run

Para probar tu secreto nuevo, ejecuta el servicio de Cloud Run de forma local en el emulador de Cloud Run.

  1. Abre el menú Cloud Code desde la barra de estado.
  2. Para compilar e implementar el servicio en el emulador, selecciona Run on Cloud Run Emulator.
  3. En la pestaña del emulador de Run/Debug on Cloud Run que aparece, haz clic en Run.
  4. Cuando ejecutas la configuración por primera vez, este proceso puede tardar hasta 5 minutos. En el panel Output, se muestra el progreso mientras se compila y se implementa la app.

  5. Una vez que se haya compilado la app, iníciala haciendo clic en el vínculo de localhost que aparece en el panel Output. El valor de tu secreto se muestra debajo del gráfico de éxito.

Ve y crea una nueva versión del secreto

La vista Secret Manager de Cloud Code te ofrece una vista rápida de los secretos de tu proyecto, con acciones para administrarlos.

Visualiza el valor de una versión del Secret

  1. Haz clic en la vista Secret Manager.
  2. Haz clic en tu secreto para expandirlo.
  3. En la carpeta Versiones, haz clic con el botón derecho en la versión numerada de la que deseas ver el valor y selecciona Mostrar valor de la versión.

Ten en cuenta que no puedes editar la versión del secreto. Para actualizar el valor de un secreto, debes crear una versión nueva.

Crea una nueva versión del secreto

El valor de un secreto se almacena en una versión del secreto. Un secreto puede tener muchas versiones. Esto es útil en situaciones en las que un secreto cambia. Actualizar un secreto con una versión nueva significa que no tienes que actualizar el código.

  1. Haz clic en la vista Secret Manager.
  2. Haz clic con el botón derecho en el nombre de tu secreto y selecciona Crear versión del secreto.
  3. En la pestaña Secret Manager - Create Version, ingresa un valor nuevo y haz clic en Crear versión.
  4. Cuando se abra la pestaña Secret Manager - Create Secret, haz clic en file_copy Copy en la parte superior para copiar el ID.
  5. Para agregar el ID de versión más reciente, reemplaza la versión actual que aparece en la variable del mensaje en app.py con el ID de la versión más reciente que copiaste.

Si siempre deseas que tu código use la versión más reciente, reemplaza el número de versión que se encuentra al final del ID de versión por latest.

Ver y administrar Secrets

Inhabilita una versión del Secret

Las versiones de secretos se habilitan de forma predeterminada después de su creación, lo que significa que se puede acceder a ellas. No se puede acceder a un secreto inhabilitado, pero puedes restablecer el acceso a él en cualquier momento.

Para inhabilitar una versión del secreto, haz lo siguiente:

  1. Haz clic en Cloud Code y, luego, expande la sección Secret Manager.
  2. Haz clic en tu secreto para expandirlo.
  3. En la carpeta Versiones, haz clic con el botón derecho en la versión numerada que quieras inhabilitar.
  4. Selecciona Inhabilitar versión.

Destruye una versión del secreto

Cuando destruyes una versión del secreto, no se puede acceder a ella. La destrucción de una versión del secreto es permanente.

  1. Haz clic en Cloud Code y, luego, expande la sección Secret Manager.
  2. Haz clic en tu secreto para expandirlo.
  3. En la carpeta Versions, haz clic con el botón derecho en la versión que quieras destruir.
  4. Selecciona Destruir versión.

Realice una limpieza

Para borrar solo el clúster que creaste en esta guía de inicio rápido, haz lo siguiente:

  1. Haz clic en Cloud Code y, luego, expande la sección Kubernetes.
  2. Mantén el puntero sobre el nombre de tu clúster y, luego, haz clic en open_in_new Abrir en la consola de Google Cloud.
  3. Haz clic en Borrar y, luego, en Borrar.

Para borrar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:

  1. Ve a la página Proyectos en la consola de Google Cloud.

    Ir a la página Proyectos

  2. Selecciona el proyecto que creaste para esta guía de inicio rápido y haz clic en Borrar.

  3. Escribe el ID del proyecto para confirmar y, luego, haz clic en Cerrar.

    Esta acción cierra el proyecto y programa su eliminación.