Administrar las API de Cloud y las bibliotecas cliente de Cloud

Para acceder a productos y servicios de Google Cloud de manera programática, usa las API de Cloud. Estas API exponen una interfaz JSON REST simple. La forma recomendada de acceder a las API de Cloud es mediante las bibliotecas cliente de Cloud.

Cloud Code facilita la adición de las bibliotecas cliente de Cloud a las API de Cloud y al lenguaje que usas en tu proyecto. En la misma vista, puedes buscar muestras para cada API e incorporar muestras fácilmente en tu aplicación.

Explora las API de Cloud

Para explorar todas las API de Google Cloud disponibles, sigue estos pasos:

  1. En la barra de actividad, haz clic en Ícono de las API de Cloud de Cloud Code Cloud Code: Cloud APIs (Cloud Code: API de Cloud).
  2. Para ver todas las API disponibles, expande el árbol del Explorador de API de Google Cloud. El explorador agrupa las API de Cloud por categoría.
  3. Captura de pantalla que muestra la lista de las API de Cloud que se muestran en el explorador de vista de árbol.

  4. Para ver los detalles de una API, haz clic en el nombre de la API. Se muestran detalles como el nombre del servicio, el estado, las instrucciones de instalación para bibliotecas cliente, la documentación y las muestras de código.

Habilita las API de Cloud

Si deseas habilitar las API de Cloud para un proyecto mediante la página de detalles de la API, sigue estos pasos:

  1. En la página de detalles de la API de Cloud, elige el proyecto para el que deseas habilitar la API.
  2. Haga clic en Habilitar API. Después de habilitar la API, se mostrará un mensaje para confirmar el cambio.

Agrega bibliotecas cliente al proyecto

Además de explorar y habilitar las API de Cloud mediante Cloud Code, también puedes agregar una biblioteca cliente específica del lenguaje al proyecto.

A fin de instalar una biblioteca cliente, sigue las instrucciones que se indican en la página de detalles de la API para tu lenguaje.

Usa muestras de API

Puedes buscar y usar muestras de código para cada API en el navegador de la API.

  1. Haz clic en ícono de las API de Cloud Cloud Code: API de Cloud.
  2. Para abrir la vista de detalles, haz clic en el nombre de una API.
  3. Para ver muestras de código de la API, haz clic en Code Samples.
  4. Para filtrar la lista de muestras, escribe texto para buscar o elige un lenguaje de programación de la lista Language.
  5. Para ver una muestra, haz clic en el nombre correspondiente. También hay opciones para copiar la muestra en tu portapapeles o ver la muestra en GitHub.

Configura la autenticación

Después de habilitar las API necesarias y agregar las bibliotecas cliente necesarias, debes configurar tu aplicación para que se autentique de forma correcta. La configuración depende del tipo de desarrollo y de la plataforma en la que se ejecute.

Después de completar los pasos de autenticación, tu aplicación puede autenticarse y está lista para implementarse.

Desarrollo local

Máquina local

Si accediste a Google Cloud en tu IDE, Cloud Code configura las credenciales predeterminadas de la aplicación (ADC) y puedes omitir este paso. Si accediste a Google Cloud fuera de tu IDE (por ejemplo, mediante la herramienta de gcloud), ejecuta gcloud auth login --update-adc para configurar tu ADC. Esto también permite que las bibliotecas cliente de Google Cloud encuentren las ADC con las que se podrá autenticar.

minikube

  1. Si accediste a Google Cloud en tu IDE, Cloud Code configura las credenciales predeterminadas de la aplicación (ADC) y puedes omitir este paso. Si accediste a Google Cloud fuera de tu IDE (por ejemplo, mediante la herramienta de gcloud), ejecuta gcloud auth login --update-adc para configurar tu ADC. Esto también permite que Minikube encuentre tus ADC con las que te autenticarás.
  2. Para iniciar minikube, ejecuta minikube start --addons gcp-auth. Con este comando, se activa la ADC en los Pods. Para obtener información detallada sobre la autenticación minikube con Google Cloud, consulta los documentos de Minikube gcp-auth.

Otros clústeres locales de K8s

  1. Si accediste a Google Cloud en tu IDE, Cloud Code configura las credenciales predeterminadas de la aplicación (ADC) y puedes omitir este paso. Si accediste a Google Cloud fuera de tu IDE (por ejemplo, mediante la herramienta de gcloud), ejecuta gcloud auth login --update-adc para configurar tu ADC.
  2. Para asegurarte de que las bibliotecas cliente de Google Cloud puedan encontrar tus credenciales, edita los manifiestos de implementación a fin de activar el directorio local ~/.config/gcloud en los pods de Kubernetes.
  3. Establece el ID del proyecto de Google Cloud como una variable de entorno llamada GOOGLE_CLOUD_PROJECT.

Ejemplo de configuración de Pod de Kubernetes:

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    name: my-app
spec:
  containers:
  - name: my-app
    image: gcr.io/google-containers/busybox
    ports:
      - containerPort: 8080
    env:
    - name: GOOGLE_CLOUD_PROJECT
      value: my-project-id
    volumeMounts:
      - mountPath: /root/.config/gcloud
        name: gcloud-volume
  volumes:
    - name: gcloud-volume
      hostPath:
        path: /path/to/home/.config/gcloud

Cloud Run

Si accediste a Google Cloud en tu IDE, Cloud Code configura las credenciales predeterminadas de la aplicación (ADC) y puedes omitir este paso. Si accediste a Google Cloud fuera de tu IDE (por ejemplo, mediante la herramienta de gcloud), ejecuta gcloud auth login --update-adc para configurar tu ADC. Esto también permite que el entorno simulado local de Cloud Run encuentre tu ADC para realizar la autenticación.

Desarrollo remoto

GKE

Según el alcance de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:

  • (Solo para desarrollo)
    1. Crea un clúster de GKE con la siguiente configuración:
      • Asegúrate de usar la cuenta de servicio que GKE usa de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y que los permisos de acceso estén configurados en Permitir acceso total a todas las API de Cloud (ambas opciones de configuración dentro de la sección Grupos de nodos > Seguridad).Dado que todas las cargas de trabajo implementadas en tu nodo comparten la cuenta de servicio de Compute Engine, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitado en tu clúster (en la sección Clúster > Seguridad).
    2. Asigna las funciones necesarias a tu cuenta de servicio:
  • (Recomendado para la producción)
    1. Configura el clúster y la aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. Esto asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
    2. Configura tu implementación de Kubernetes para que haga referencia a la cuenta de servicio de Kubernetes mediante la configuración del campo .spec.serviceAccountName en tu archivo YAML de implementación de Kubernetes. Si trabajas en una app creada a partir de una aplicación de muestra de Cloud Code, este archivo se encuentra en la carpeta kubernetes-manifests.
    3. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgales la cuenta de servicio de Google que usas para desarrollar tu app:

Cloud Run

  1. Si deseas crear una cuenta de servicio única para implementar tu aplicación de Cloud Run, navega a la página Cuentas de servicio y, luego, selecciona el proyecto en el que se almacena el secreto.

    Ir a la página cuentas de servicio

  2. Haga clic en Crear cuenta de servicio.
  3. En el cuadro de diálogo Crear cuenta de servicio, ingresa un nombre descriptivo para la cuenta de servicio.
  4. Cambia el ID de cuenta de servicio por un valor único y reconocible y, luego, haz clic en Crear.
  5. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otorga las funciones, haz clic en Continuar y, luego, en Listo.
  6. Agrega la cuenta de servicio a tu configuración de implementación.
    1. Elige el comando Cloud Run: Deploy mediante la barra de estado de Cloud Code.
    2. En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica la cuenta de servicio.
    Sección de configuración avanzada de revisión expandida en Cloud Run: campo de implementación y cuenta de servicio con el nombre de cuenta de servicio del formato service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Según el alcance de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:

  • (Solo para desarrollo)
    1. Crea un clúster de GKE con la siguiente configuración:
      • Asegúrate de usar la cuenta de servicio que GKE usa de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y que los permisos de acceso estén configurados en Permitir acceso total a todas las API de Cloud (ambas opciones de configuración dentro de la sección Grupos de nodos > Seguridad).Dado que todas las cargas de trabajo implementadas en tu nodo comparten la cuenta de servicio de Compute Engine, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitado en tu clúster (en la sección Clúster > Seguridad).
    2. Asigna las funciones necesarias a tu cuenta de servicio:
  • (Recomendado para la producción)
    1. Configura el clúster y la aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. Esto asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
    2. Agrega la cuenta de servicio a tu configuración de implementación.
      1. Elige el comando Cloud Run: Deploy mediante la barra de estado de Cloud Code.
      2. En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica la cuenta de servicio.
      Sección de configuración avanzada de revisión expandida en Cloud Run: campo de implementación y cuenta de servicio con el nombre de cuenta de servicio de Kubernetes con el formato service-account-name@project-name.iam.gserviceaccount.com
    3. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgales la cuenta de servicio de Google que usas para desarrollar tu app:

Desarrollo remoto con Secret Manager habilitado

Si desarrollas una aplicación de forma remota, con una cuenta de servicio para la autenticación y tu aplicación usa secretos, debes completar algunos pasos adicionales además de la instrucciones de desarrollo remoto. Estos pasos asignan la función requerida a tu cuenta de servicio de Google para acceder a un secreto de Secret Manager específico:

  1. Abre la vista Ícono de Secret Manager Secret Manager y selecciona el secreto al que deseas acceder en tu código.

    Secret Manager en Cloud Code abierto con dos secretos enumerados

  2. Haz clic con el botón derecho en el secreto y selecciona Editar permisos en Cloud Console. Esto inicia la página de configuración de Secret Manager para ese secreto en tu navegador web.

    Clic con el botón derecho en el panel de Secret Manager

  3. En Cloud Console, haga clic en Permisos y, luego, en Agregar.

  4. En el campo Principales nuevos, ingresa el nombre de tu cuenta de servicio.

  5. En el campo Selecciona una función, elige la función Administrador y descriptor de acceso a Secretos.

  6. Haz clic en Guardar.

    La cuenta de servicio ahora tiene permiso para acceder a este secreto en particular.

Obtener asistencia

Para enviar comentarios, informa problemas en GitHub o haz preguntas en Stack Overflow.