Administra las API y bibliotecas de Cloud

Puedes acceder a los productos y servicios de Google Cloud desde tu código mediante las API de Cloud. Estas API de Cloud exponen una interfaz JSON REST simple que puedes llamar a través de bibliotecas cliente.

En este documento, se describe cómo habilitar las API de Cloud y agregar bibliotecas cliente de Cloud a tu proyecto.

Explora las API de Cloud

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

  1. Selecciona Tools (Herramientas) > Cloud Code (Cloud Code) > Add Cloud Libraries and Manage Cloud APIs (Agregar bibliotecas de Cloud y administrar las API de Cloud).
  2. Expande el árbol del Explorador de API de Google Cloud para ver todas las API disponibles. El explorador agrupa las API de Cloud por categoría. También puedes buscar una API específica con la barra de búsqueda de las API de Búsqueda.
  3. Captura de pantalla que muestra la lista de las API de Cloud que se muestran en el explorador de vista de árbol.
  4. Haz clic en una API a fin de ver más detalles, como su estado, instrucciones de instalación específicas del lenguaje para sus bibliotecas cliente correspondientes y documentación relevante.

Habilita las API de Cloud

Además, puedes habilitar con rapidez las API de Cloud para un proyecto mediante los detalles de esta. Para ello, sigue estos pasos:

  1. En la vista de detalles de la API de Cloud, elige un proyecto de Google Cloud para el que deseas habilitar la API de Cloud.
  2. Haz clic en el botón Habilitar API.

    Una vez que se haya habilitado la API, verás un mensaje que confirma este cambio.

Agrega las bibliotecas cliente de Cloud

Sigue los pasos a continuación para agregar bibliotecas a tu proyecto en IntelliJ:

Para proyectos de Java Maven

  1. Selecciona Tools (Herramientas) > Cloud Code (Cloud Code) > Add Cloud libraries and Manage Cloud APIs (Agregar bibliotecas de Cloud y administrar las API de Cloud).
  2. En el cuadro de diálogo Add Google Cloud Libraries (Agregar bibliotecas de Google Cloud), se muestran las bibliotecas compatibles.

    Captura de pantalla que muestra el cuadro de diálogo Agregar bibliotecas de Cloud En el cuadro de diálogo se muestra un menú desplegable para seleccionar el módulo al que se agregarán las bibliotecas, además de una lista de las API disponibles que se pueden agregar, y se ofrece un área de trabajo en la que se muestra información sobre la API.
  3. Selecciona el tipo de biblioteca que prefieras de la biblioteca cliente de Google Cloud (opción recomendada) o la biblioteca de GCP de Java Spring.
  4. En el menú desplegable Module (Módulo), selecciona el módulo al que deseas agregar la biblioteca.
  5. Haz clic en Add Maven Dependency (Agregar dependencia de Maven) a fin de agregar la BOM y la biblioteca cliente a tu proyecto.

Para todos los demás proyectos

  1. Selecciona Tools (Herramientas) > Cloud Code (Cloud Code) > Add Cloud Libraries and Manage Cloud APIs (Agregar bibliotecas de Cloud y administrar las API de Cloud).
  2. En el cuadro de diálogo Add Google Cloud Libraries (Agregar bibliotecas de Google Cloud), se muestran las bibliotecas compatibles.

    Captura de pantalla que muestra el cuadro de diálogo Agregar bibliotecas de Cloud En este cuadro de diálogo, se muestra una lista de las API disponibles para agregar y se ofrece un área de trabajo en la que se muestra información sobre la API.
  3. Instala la API mediante las instrucciones de instalación disponibles en la página de detalles de la API de tu lenguaje preferido.

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.

Una vez que completes los pasos de autenticación relevantes, tu aplicación puede autenticarse y estará lista para implementarse.

Desarrollo local

Máquina local

  1. Cloud Code garantiza que tengas configuradas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través del IDE.
    Si accediste a Google Cloud fuera de tu IDE (por ejemplo, a través de la herramienta de línea de comandos de gcloud), debes ejecutar gcloud auth login --update-adc para configurar tus ADC. Esto también permite que las bibliotecas cliente de Google Cloud encuentren las ADC con la que se podrá autenticar.

minikube

  1. Cloud Code garantiza que tengas configuradas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través del IDE.
    Si accediste a Google Cloud fuera de tu IDE (por ejemplo, a través de la herramienta de línea de comandos de gcloud), debes ejecutar gcloud auth login --update-adc para configurar tus ADC. Esto también permite que Minikube encuentre tus ADC con las que te autenticarás.
  2. Inicia Minikube con minikube start --addons gcp-auth. Esto activa tus ADC en los Pods. Si deseas obtener una guía detallada de autenticación de Minikube para Google Cloud, consulta los documentos de gcp-auth de Minikube.

Otros clústeres locales de K8s

  1. Cloud Code garantiza que tengas configuradas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través del IDE.
    Si accediste a Google Cloud fuera de tu IDE (por ejemplo, a través de la herramienta de línea de comandos de gcloud), debes ejecutar gcloud auth login --update-adc para configurar tus ADC.
  2. Activa tu directorio gcloud local en tus Pods de Kubernetes con la edición de la especificación del Pod en los manifiestos del Pod o de implementación para que las bibliotecas cliente de Google Cloud puedan encontrar tus credenciales. 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
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. Cloud Code garantiza que tengas configuradas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través del IDE.
    Si accediste a Google Cloud fuera de tu IDE (por ejemplo, a través de la herramienta de línea de comandos de gcloud), debes ejecutar gcloud auth login --update-adc para configurar tus ADC. Esto también permite que el entorno simulado local de Cloud Run encuentre tus ADC con el que puedas autenticarte.

Desarrollo remoto

Google Kubernetes Engine

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

  • (Solo 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 se configuran 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 la cuenta de servicio de Compute Engine se comparte todas las cargas de trabajo implementadas en tu nodo, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitada en tu clúster (dentro de la sección Clúster > Seguridad).
    2. Asigna las funciones necesarias a la cuenta de servicio predeterminada de Compute Engine:
      • Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar las funciones necesarias en tu cuenta de servicio.
      • Si se usa la cuenta de servicio predeterminada de Compute Engine, es posible que se apliquen las funciones correctas de IAM.
      • En la guía de descripción de funciones, se describen los tipos de funciones de IAM y las listas predeterminadas disponibles que puedes otorgar a las identidades.
  • (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 plantilla 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. Crea una cuenta de servicio nueva para implementar la aplicación de Cloud Run a través de la página Cuentas de servicio. Asegúrate de seleccionar el mismo proyecto en el que está almacenado tu secreto.
    Ir a la página Cuentas de servicio
  2. Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgales la cuenta de servicio de Google que usas a fin de desarrollar tu aplicación.
    La guía para comprender las funciones describe los tipos de funciones y enumera las funciones predefinidas disponibles que puedes otorgar a las identidades.
  3. Agrega la cuenta de servicio a tu configuración de implementación. Para hacerlo, navega a la configuración de ejecución de Cloud Run: Implementar, expande la sección de configuración de la revisión avanzada y completa el campo Cuenta de servicio con tu 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 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 se configuran 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 la cuenta de servicio de Compute Engine se comparte todas las cargas de trabajo implementadas en tu nodo, este método aprovisiona en exceso los permisos y solo debe usarse para el desarrollo.
      • Asegúrate de que Workload Identity no esté habilitada en tu clúster (dentro de la sección Clúster > Seguridad).
    2. Asigna las funciones necesarias a la cuenta de servicio predeterminada de Compute Engine:
      • Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar las funciones necesarias en tu cuenta de servicio.
      • Si se usa la cuenta de servicio predeterminada de Compute Engine, es posible que se apliquen las funciones correctas de IAM.
      • En la guía de descripción de funciones, se describen los tipos de funciones de IAM y las listas predeterminadas disponibles que puedes otorgar a las identidades.
  • (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 tu cuenta de servicio de Kubernetes a tu configuración de implementación. Para hacerlo, navega a la configuración de ejecución de Cloud Run: Implementar, expande la sección de configuración de la revisión avanzada y completa el campo Cuenta de servicio con tu cuenta de servicio de Kubernetes.
      Sección de configuración avanzada de revisión expandida en Cloud Run: campo de cuenta de servicio e implementación con nombre de la cuenta de servicio de Kubernetes
    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 el panel Secret Manager y selecciona el secreto al que deseas acceder en el código.

    Cambia a la pestaña Permisos y configura los permisos de tu secreto con el ícono de lápiz Editar permiso. Si haces clic en el ícono de lápiz, se inicia la página de configuración de Secret Manager para ese secreto en tu navegador web.

    La pestaña Permisos seleccionada en Secret Manager y en el ícono Editar permisos destacado

  2. En el panel de información de Cloud Console, selecciona Agregar miembro.

    Detalles del secreto incluidos en la página secreto de Console en el navegador; se destacó el botón Agregar miembro en el panel de información expandido

  3. Asigna a tu cuenta de servicio la función Administrador y descriptor de acceso a secretos.

    Dentro de Agregar miembros para probar el panel, se indica la cuenta de servicio con el formato service-account-name@project-name.iam.gservicesaccount.com en el campo Nuevos miembros y se completa el desplegable Selecciona una función en la categoría Secret Manager, se selecciona la función de tipo “Acceso de Secret Manager”

    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.