Administra las API y bibliotecas de Cloud en Cloud Code para IntelliJ

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. En el menú Herramientas, selecciona Cloud Code y 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 la API de Search.
  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

Si quieres habilitar rápidamente las API de Cloud para un proyecto con sus detalles, 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. Haga clic en Habilitar API.

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

Agrega las bibliotecas cliente de Cloud

Para agregar bibliotecas a tu proyecto en IntelliJ, sigue estos pasos:

Para proyectos de Java Maven

  1. En el menú Herramientas, selecciona Cloud Code y 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 Administrar API de Google Cloud. Este diálogo te permite seleccionar un módulo para agregar las bibliotecas, mostrar la lista de API disponibles y agregar un área de trabajo que muestre información sobre cada API.
  3. Selecciona el tipo de biblioteca que prefieras de la biblioteca cliente de Google Cloud (recomendado para la mayoría de los proyectos) o Java Spring GCP (recomendado si tu proyecto usa 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. En el menú Herramientas, selecciona Cloud Code y 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 Administrar API de Google Cloud.
                      En este cuadro de diálogo, se muestra una lista de las API disponibles para agregar y se ofrece un área de trabajo que 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.

Usar muestras de API

Para buscar y usar muestras de código para cada API en el Explorador de API, sigue estos pasos:

  1. En el menú Tools, selecciona Cloud Code y Cloud API.

  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 la pestaña Muestras de código.

  4. Para filtrar la lista de muestras, escribe texto para buscar o elige un lenguaje de programación en el menú desplegable Language.

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

Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.

minikube

  1. Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.
  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 tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.
  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

Cloud Code garantiza que tengas tus credenciales predeterminadas de la aplicación (ADC) si accediste a Google Cloud a través de tu IDE. Si no accedes con Cloud Code, ejecuta gcloud auth application-default login de forma manual.

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. Cree 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 del Grupos de nodos > sección  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é 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:
  • (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órgale los permisos a la cuenta de servicio de Google que usas para desarrollar tu app:

Cloud Run

  1. A fin de crear una cuenta de servicio única nueva para implementar tu aplicación de Cloud Run, en la página Cuentas de servicio, selecciona el proyecto en el que se almacena tu 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 a 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, otórgale, haz clic en Continuar y, luego, en Listo.
  6. Para agregar tu cuenta de servicio de Kubernetes a la configuración de implementación, navega hasta la configuración de ejecución de Cloud Run: Deploy, expande la sección Advanced review settings y, luego, especifica la cuenta de servicio en el campo Service Account.
    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. Cree 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 del Grupos de nodos > sección  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é 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:
  • (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. Para agregar tu cuenta de servicio de Kubernetes a la configuración de implementación, navega hasta la configuración de ejecución de Cloud Run:Deploy, expande la sección Configuración de revisión avanzada y, luego, especifica tu cuenta de servicio de Kubernetes en el campo Cuenta de servicio.
      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órgale los permisos a 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. Para abrir el panel de Secret Manager, haz clic en la pestaña Secret Manager en la barra lateral derecha de Cloud Code.

  2. Selecciona el secreto al que quieres acceder en tu código.

  3. Ve a la pestaña Permisos y haz clic en Ícono Editar Editar permiso para configurar tus permisos secretos. Se abrirá la página de configuración de Secret Manager en tu navegador web.

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

  4. En Google Cloud Console, haga clic en Mostrar panel de información y, luego, en Agregar principal.

  5. Asigna a tu cuenta de servicio la función de descriptor de acceso a secretos de Secret Manager.

    Tu cuenta de servicio tiene permiso para acceder a este secreto.

Obtén asistencia

Para enviar comentarios o informar un problema en tu IDE de IntelliJ, ve aTools >Cloud Code >Help / About >Envía comentarios o informa un problema para informar un problema en GitHub o hacer una pregunta en Stack Overflow.

También puedes unirte al canal #cloud-code, que forma parte de la comunidad de Slack en Google Cloud.