Puedes acceder a los productos y servicios de Google Cloud desde tu código mediante las API de Cloud. Estas APIs de Cloud exponen una interfaz REST JSON sencilla a la que puedes llamar a través de bibliotecas de cliente.
En este documento se describe cómo habilitar las APIs de Cloud y añadir bibliotecas de cliente de Cloud a tu proyecto.
Consultar APIs de Cloud
Para consultar todas las APIs disponibles en tu IDE, sigue estos pasos: Google Cloud
Ve a Herramientas > Google Cloud Code > APIs de Cloud.
En la ventana Gestionar APIs de Google Cloud, las APIs de Cloud se agrupan por categorías. También puedes usar la barra de búsqueda de las APIs de búsqueda para encontrar APIs concretas.
Haz clic en una API para ver más detalles, como su estado, las instrucciones de instalación específicas del lenguaje para sus bibliotecas de cliente correspondientes y la documentación pertinente.
Habilitar APIs de Cloud
Para habilitar las APIs de Cloud en un proyecto mediante los detalles de la API, sigue estos pasos:
En la vista de detalles de la API Cloud, selecciona el proyecto Google Cloud en el que quieras habilitar la API Cloud.
Haz clic en Habilitar API.
Cuando la API esté habilitada, aparecerá un mensaje para confirmar el cambio.
Añadir las bibliotecas de cliente de Cloud
Para añadir bibliotecas a tu proyecto en IntelliJ, sigue estos pasos:
Para proyectos Java Maven
- Ve a Herramientas > Google Cloud Code > APIs de Cloud.
- Selecciona el tipo de biblioteca que prefieras: Biblioteca de cliente de Google Cloud (recomendada para la mayoría de los proyectos) o Java Spring Google Cloud (recomendada si tu proyecto usa Java Spring).
- Sigue el resto de las instrucciones de la sección Instalar biblioteca de cliente de tu IDE, si procede.
- Cuando hayas terminado, haz clic en Cerrar.
En la sección Instalar biblioteca de cliente del cuadro de diálogo Gestionar APIs de Google Cloud se muestran las bibliotecas compatibles.
Para el resto de los proyectos
- Ve a Herramientas > Google Cloud Code > APIs de Cloud.
- Para instalar la API, sigue las instrucciones de instalación que se indican en la página de detalles de la API para el lenguaje que prefieras.
Si desarrollas una aplicación Java, también debes especificar tu preferencia de biblioteca como Biblioteca de cliente de Google Cloud (recomendada) o Java Spring Google Cloud.
- Cuando hayas terminado, haz clic en Cerrar.
En la sección Instalar biblioteca de cliente del cuadro de diálogo Gestionar APIs de Google Cloud se muestran las bibliotecas compatibles.
Usar códigos de ejemplo de la API
Para buscar y usar ejemplos de código de cada API en el Explorador de APIs, sigue estos pasos:
Ve a Herramientas > Google Cloud Code > APIs de Cloud.
Para abrir la vista de detalles, haz clic en el nombre de una API.
Para ver ejemplos de código de la API, haga clic en la pestaña Ejemplos de código.
Para filtrar la lista de ejemplos, escribe texto para buscar o selecciona un lenguaje de programación en el menú desplegable Lenguaje.
Configurar la autenticación
Una vez que hayas habilitado las APIs necesarias y añadido las bibliotecas de cliente correspondientes, tendrás que configurar tu aplicación para que se autentique correctamente. La configuración depende del tipo de desarrollo y de la plataforma en la que se ejecute.
Una vez que hayas completado los pasos de autenticación pertinentes, tu aplicación podrá autenticarse y estará lista para implementarse.
Desarrollo local
Equipo local
Cloud Code se asegura de que tengas configuradas las credenciales predeterminadas de la aplicación (ADC) si has iniciado sesión en Google Cloud a través de tu IDE. Si no inicias sesión con Cloud Code, ejecuta gcloud
auth application-default login
manualmente.
minikube
- Cloud Code se asegura de que tengas configuradas las credenciales predeterminadas de la aplicación (ADC) si has iniciado sesión en Google Cloud a través de tu IDE. Si no inicias sesión con Cloud Code, ejecuta
gcloud auth application-default login
manualmente. - Inicia minikube con
minikube start --addons gcp-auth
. De esta forma, se montará tu ADC en tus pods. Para obtener una guía detallada sobre la autenticación de minikube en Google Cloud, consulta la documentación de gcp-auth de minikube.
Otros clústeres de K8s locales
- Cloud Code se asegura de que tengas configuradas las credenciales predeterminadas de la aplicación (ADC) si has iniciado sesión en Google Cloud a través de tu IDE. Si no inicias sesión con Cloud Code, ejecuta
gcloud auth application-default login
manualmente. - Monta tu directorio
gcloud
local en tus pods de Kubernetes editando la especificación del pod en los manifiestos del pod o del deployment, de forma que las bibliotecas cliente de Google Cloud puedan encontrar tus credenciales. Ejemplo de configuración de un 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 se asegura de que tengas configuradas las credenciales predeterminadas de la aplicación (ADC) si has iniciado sesión en Google Cloud a través de tu IDE. Si no inicias sesión con Cloud Code, ejecuta gcloud
auth application-default login
manualmente.
Desarrollo remoto
Google Kubernetes Engine
En función del ámbito de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:
- (Solo para desarrollo)
- Crea un clúster de GKE con la siguiente configuración:
- Asegúrate de usar la cuenta de servicio que usa GKE de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y de que Permisos de acceso esté configurado como Permitir el acceso completo a todas las APIs de Cloud (ambos ajustes se encuentran en la sección Grupos de nodos > Seguridad).
Como la cuenta de servicio de Compute Engine se comparte entre todas las cargas de trabajo implementadas en tu nodo, este método proporciona permisos en exceso y solo se debe usar en entornos de desarrollo. - Comprueba que Workload Identity no esté habilitado en tu clúster (en la sección Clúster > Seguridad).
- Asegúrate de usar la cuenta de servicio que usa GKE de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y de que Permisos de acceso esté configurado como Permitir el acceso completo a todas las APIs de Cloud (ambos ajustes se encuentran en la sección Grupos de nodos > Seguridad).
- Asigna los roles necesarios 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 los roles necesarios en tu cuenta de servicio.
- Si se usa la cuenta de servicio predeterminada de Compute Engine, es posible que ya se hayan aplicado los roles de gestión de identidades y accesos correctos.
Para ver una lista de los tipos de roles de gestión de identidades y accesos y los roles predefinidos que puedes asignar a las identidades, consulta la guía sobre los roles.
Para saber cómo asignar los roles, consulta Conceder, cambiar y revocar el acceso a los recursos.
- Crea un clúster de GKE con la siguiente configuración:
- (Recomendado para producción)
- Configura tu clúster y tu aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. De esta forma, se asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
- Configura tu despliegue de Kubernetes para que haga referencia a la cuenta de servicio de Kubernetes. Para ello, define el campo
.spec.serviceAccountName
en el archivo YAML de tu despliegue de Kubernetes.
Si estás trabajando en una aplicación creada a partir de una plantilla de Cloud Code, este archivo se encuentra en la carpeta kubernetes-manifests. - Si el servicio de Google Cloud al que intentas acceder requiere roles adicionales, concédelos a la cuenta de servicio de Google que estés usando para desarrollar tu aplicación:
- Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar los roles necesarios en tu cuenta de servicio.
Para ver una lista de los tipos de roles de gestión de identidades y accesos y los roles predefinidos que puedes asignar a las identidades, consulta la guía sobre los roles.
Para saber cómo asignar los roles, consulta Conceder, cambiar y revocar el acceso a los recursos.
Cloud Run
-
Para crear una cuenta de servicio única para desplegar tu aplicación de Cloud Run, en la página Cuentas de servicio, selecciona el proyecto en el que se almacena tu secreto.
- Haz clic en Crear cuenta de servicio.
- En el cuadro de diálogo Crear cuenta de servicio, escribe un nombre descriptivo para la cuenta de servicio.
- Cambie el ID de cuenta de servicio por un valor único y reconocible y, a continuación, haga clic en Crear.
- Si el servicio de Google Cloud al que intentas acceder requiere roles adicionales, concédelos, haz clic en Continuar y, a continuación, en Hecho.
- Para añadir tu cuenta de servicio de Kubernetes a la configuración de implementación, ve a Ejecutar > Editar configuraciones y, a continuación, especifica tu cuenta de servicio en el campo Nombre del servicio.
Cloud Run
En función del ámbito de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:
- (Solo para desarrollo)
- Crea un clúster de GKE con la siguiente configuración:
- Asegúrate de usar la cuenta de servicio que usa GKE de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y de que Permisos de acceso esté configurado como Permitir el acceso completo a todas las APIs de Cloud (ambos ajustes se encuentran en la sección Grupos de nodos > Seguridad).
Como la cuenta de servicio de Compute Engine se comparte entre todas las cargas de trabajo implementadas en tu nodo, este método proporciona permisos en exceso y solo se debe usar en entornos de desarrollo.
- Comprueba que Workload Identity no esté habilitado en tu clúster (en la sección Clúster > Seguridad).
- Asegúrate de usar la cuenta de servicio que usa GKE de forma predeterminada, la cuenta de servicio predeterminada de Compute Engine, y de que Permisos de acceso esté configurado como Permitir el acceso completo a todas las APIs de Cloud (ambos ajustes se encuentran en la sección Grupos de nodos > Seguridad).
- Asigna los roles necesarios 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 los roles necesarios en tu cuenta de servicio.
- Si se usa la cuenta de servicio predeterminada de Compute Engine, es posible que ya se hayan aplicado los roles de gestión de identidades y accesos correctos.
Para ver una lista de los tipos de roles de gestión de identidades y accesos y los roles predefinidos que puedes asignar a las identidades, consulta la guía sobre los roles.
Para saber cómo asignar los roles, consulta Conceder, cambiar y revocar el acceso a los recursos.
- Crea un clúster de GKE con la siguiente configuración:
- (Recomendado para producción)
- Configura tu clúster y tu aplicación de GKE con Workload Identity para autenticar los servicios de Google Cloud en GKE. De esta forma, se asocia tu cuenta de servicio de Kubernetes con tu cuenta de servicio de Google.
- Para añadir tu cuenta de servicio de Kubernetes a la configuración de implementación, ve a Ejecutar > Editar configuraciones y, a continuación, especifica tu cuenta de servicio de Kubernetes en el campo Nombre de servicio.
- Si el servicio de Google Cloud al que intentas acceder requiere roles adicionales, concédelos a la cuenta de servicio de Google que estés usando para desarrollar tu aplicación:
- Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar los roles necesarios en tu cuenta de servicio.
Para ver una lista de los tipos de roles de gestión de identidades y accesos y los roles predefinidos que puedes asignar a las identidades, consulta la guía sobre los roles.
Para saber cómo asignar los roles, consulta Conceder, cambiar y revocar el acceso a los recursos.
Desarrollo remoto con permisos de Secret Manager habilitados
Si desarrollas de forma remota, usas una cuenta de servicio para la autenticación y tu aplicación usa secretos, debes completar algunos pasos más además de las instrucciones de desarrollo remoto. Con estos pasos, se asigna a tu cuenta de servicio de Google el rol necesario para acceder a un secreto concreto de Secret Manager:
Para abrir la ventana de herramientas Secret Manager, vaya a Herramientas > Google Cloud Code > Secret Manager.
Selecciona el secreto al que quieras acceder en tu código.
Haz clic en la pestaña Permisos y, a continuación, configura los permisos de tu secreto haciendo clic en Editar Editar permiso.
La consola Google Cloud se abre en una nueva ventana del navegador web y muestra la página de configuración de Secret Manager de tu secreto.
En la Google Cloud consola, haga clic en la pestaña Permisos y, a continuación, en Conceder acceso.
En el campo Nuevos principales, introduce tu cuenta de servicio.
En el campo desplegable Selecciona un rol, elige el rol Permiso para acceder a los recursos de Secret Manager.
Cuando termines, haz clic en Guardar.
Tu cuenta de servicio tiene permiso para acceder a este secreto.