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 APIs de Cloud
Para explorar todas las APIs de Google Cloud disponibles en tu IDE, sigue estos pasos:
Navega a Tools > Google Cloud Code > Cloud APIs.
En la ventana Manage Google Cloud APIs, se agrupan las API de Cloud por categoría. También puedes usar la barra de búsqueda de las APIs de búsqueda para encontrar APIs específicas.
Haz clic en una API para ver más detalles, como su estado, instrucciones de instalación específicas en cada lenguaje para sus bibliotecas cliente correspondientes y documentación relevante.
Habilita las API de Cloud
Si deseas habilitar las API de Cloud para un proyecto con los detalles de la API, sigue estos pasos:
En la vista de detalles de la API de Cloud, selecciona el proyecto de Google Cloud para el que desees habilitar la API de Cloud.
Haz clic en Habilitar API.
Cuando la API esté habilitada, aparecerá un mensaje para confirmar el cambio.
Agrega las bibliotecas cliente de Cloud
Para agregar bibliotecas a tu proyecto en IntelliJ, sigue estos pasos:
Para proyectos de Java Maven
- Navega a Tools (Herramientas) > Google Cloud Code (Google Cloud Code) > Cloud APIs (API de Cloud).
- Selecciona el tipo de biblioteca que prefieras, como Biblioteca cliente de Google Cloud (recomendado para la mayoría de los proyectos) o Java Spring de Google Cloud (recomendado si tu proyecto usa Java Spring).
- Si corresponde, sigue el resto de las instrucciones de Instala la biblioteca cliente en tu IDE.
- Cuando hayas terminado, haz clic en Cerrar.
En la sección Instalar biblioteca cliente del cuadro de diálogo Administrar las APIs de Google Cloud, se muestran las bibliotecas compatibles.
Para todos los demás proyectos
- Navega a Herramientas > Google Cloud Code > APIs de Cloud.
- Para instalar la API, sigue las instrucciones de instalación que aparecen en la página de detalles de la API de tu idioma preferido.
Si desarrollas una aplicación de Java, también debes especificar tu preferencia de biblioteca como Biblioteca cliente de Google Cloud (recomendado) o Java Spring en Google Cloud.
- Cuando hayas terminado, haz clic en Cerrar.
En la sección Instalar biblioteca cliente del cuadro de diálogo Administrar las APIs de Google Cloud, se muestran las bibliotecas compatibles.
Usa muestras de código de la API
Si deseas buscar y usar muestras de código para cada API en el Explorador de API, sigue estos pasos:
Navega a Tools > Google Cloud Code > Cloud APIs.
Para abrir la vista detallada, haz clic en el nombre de una API.
Para ver las muestras de código de la API, haz clic en la pestaña Code Samples.
Si deseas filtrar la lista de muestras, escribe el texto que deseas buscar o selecciona 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 configuradas las 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
- Cloud Code garantiza que tengas configuradas las 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. - 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
- Cloud Code garantiza que tengas configuradas las 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. - 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 configuradas las 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)
- 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 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).
- 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).
- 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 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.
Para obtener una lista de los tipos de roles de IAM y los roles predefinidos que puedes otorgar a las identidades, consulta la Guía para comprender los roles.
Si quieres conocer los pasos para otorgar los roles, consulta Otorga, cambia y revoca el acceso a los recursos.
- Crea un clúster de GKE con la siguiente configuración:
- (Recomendado para producción)
- 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.
- 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. - Si el servicio de Google Cloud al que intentas acceder requiere roles adicionales, otórgalos para la cuenta de servicio de Google que usas para desarrollar tu app:
- Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar las funciones necesarias en tu cuenta de servicio.
Para obtener una lista de los tipos de roles de IAM y los roles predefinidos que puedes otorgar a las identidades, consulta la Guía para comprender los roles.
Si quieres conocer los pasos para otorgar los roles, consulta Otorga, cambia y revoca el acceso a los recursos.
Cloud Run
-
Si quieres crear una cuenta de servicio nueva y única 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.
- Haga clic en Crear cuenta de servicio.
- En el cuadro de diálogo Crear cuenta de servicio, ingresa un nombre descriptivo para la cuenta de servicio.
- Cambia el ID de cuenta de servicio por un valor único y reconocible y, luego, haz clic en Crear.
- Si el servicio de Google Cloud al que intentas acceder requiere funciones adicionales, otórgalas, haz clic en Continuar y, luego, en Listo.
- Para agregar tu cuenta de servicio de Kubernetes a la configuración de implementación, navega a Ejecutar > Editar configuraciones y, luego, especifica la cuenta de servicio en el campo Nombre del servicio.
Cloud Run
Según el alcance de tu proyecto, puedes elegir cómo autenticar los servicios de Google Cloud en GKE:
- (Solo desarrollo)
- 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 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).
- 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).
- 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 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.
Para obtener una lista de los tipos de roles de IAM y los roles predefinidos que puedes otorgar a las identidades, consulta la Guía para comprender los roles.
Si quieres conocer los pasos para otorgar los roles, consulta Otorga, cambia y revoca el acceso a los recursos.
- Crea un clúster de GKE con la siguiente configuración:
- (Recomendado para producción)
- 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.
- Para agregar tu cuenta de servicio de Kubernetes a la configuración de implementación, navega a Ejecutar > Editar configuraciones y, luego, especifica la cuenta de servicio de Kubernetes en el campo Nombre del servicio.
- Si el servicio de Google Cloud al que intentas acceder requiere roles adicionales, otórgalos para la cuenta de servicio de Google que usas para desarrollar tu app:
- Si intentas acceder a un secreto, sigue estos pasos específicos de Secret Manager para configurar las funciones necesarias en tu cuenta de servicio.
Para obtener una lista de los tipos de roles de IAM y los roles predefinidos que puedes otorgar a las identidades, consulta la Guía para comprender los roles.
Si quieres conocer los pasos para otorgar los roles, consulta Otorga, cambia y revoca el acceso a los recursos.
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 secrets, 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:
Para abrir la ventana de herramientas de Secret Manager, navega a Tools > Google Cloud Code > Secret Manager.
Selecciona el secreto al que quieres acceder en tu código.
Haz clic en la pestaña Permisos y, luego, configura los permisos de tu secreto haciendo clic en Editar Editar permiso.
La consola de Google Cloud se abrirá en una ventana nueva del navegador web, y se mostrará la página de configuración de Secret Manager del Secret.
En la consola de Google Cloud, haz clic en la pestaña Permisos y, luego, en Otorgar acceso.
En el campo Principales nuevas, ingresa tu cuenta de servicio.
En el campo desplegable Selecciona un rol, selecciona el rol Descriptor de acceso a secretos de Secret Manager.
Cuando termines, haz clic en Save (Guardar).
Tu cuenta de servicio tiene permiso para acceder a este Secret.