Para acceder a los Google Cloud productos y servicios de manera programática, usa las APIs de Cloud. Estas APIs exponen una interfaz JSON REST simple. La forma recomendada de acceder a las APIs de Cloud es usar las bibliotecas cliente de Cloud.
Cloud Code facilita la adición de las bibliotecas cliente de Cloud para las APIs de Cloud y el lenguaje que usas en tu proyecto. En la misma vista, puedes buscar muestras para cada API y, luego, incorporarlas fácilmente a tu aplicación.
Explora las API de Cloud
Para explorar todas las APIs Google Cloud disponibles, haz lo siguiente:
Haz clic en
Cloud Code y, luego, expande la sección APIs de Cloud.
La vista de las APIs de Cloud agrupa las APIs de Cloud por categoría.
Para ver los detalles de una API, haz clic en su nombre. Se muestran detalles como el nombre del servicio, el estado, las instrucciones de instalación para las bibliotecas cliente, la documentación y las muestras de código.
Habilita las API de Cloud
Para habilitar las APIs de Cloud para un proyecto con la página de detalles de la API, sigue estos pasos:
- En la página de detalles de la API de Cloud, elige el proyecto para el que deseas habilitar la API de Cloud.
- Haz 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.
Para instalar una biblioteca cliente, sigue las instrucciones de la página de detalles de la API de tu idioma.
Usa muestras de la API
Puedes buscar y usar muestras de código para cada API en el navegador de APIs.
Haz clic en
Cloud Code y, luego, expande la sección APIs de Cloud.
Para abrir la vista de detalles, haz clic en el nombre de una API.
Para ver muestras de código de la API, haz clic en Code Samples.
Para filtrar la lista de muestras, escribe el texto que quieres buscar o elige un idioma de programación de la lista Idioma.
Para ver un feed de Samples, haz clic en su nombre. También hay opciones para copiar la muestra en el portapapeles o verla en GitHub.
Configura la autenticación
Después de habilitar las APIs requeridas 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, tu aplicación puede autenticarse y estará lista para implementarse.
Desarrollo local
La instancia de VM de Cloud Shell usa la cuenta de servicio predeterminada de Compute Engine (la cuenta de servicio que Google Kubernetes Engine usa de forma predeterminada) como su cuenta de servicio predeterminada. Esto significa que cuando desarrollas con Cloud Code en Cloud Shell, no necesitas establecer ninguna configuración adicional cuando trabajas con bibliotecas cliente. Tu aplicación se autentica y está lista para ejecutarse de forma local.
Desarrollo local con APIs que requieren una cuenta de servicio
Algunas APIs, como la API de Cloud Translation, requieren una cuenta de servicio con los permisos adecuados para autenticar tus solicitudes. Para obtener más información, consulta Crea y administra cuentas de servicio.
Para abrir una terminal, haz clic en Terminal > Nueva terminal.
Crea una cuenta de servicio para autenticar tus solicitudes a la API:
gcloud iam service-accounts create \ SERVICE_ACCOUNT_ID \ --project PROJECT_ID
Reemplaza los siguientes valores:
SERVICE_ACCOUNT_ID
: el ID de la cuenta de servicioPROJECT_ID
: El ID del proyecto
Para encontrar estos IDs, en Google Cloud, haz clic en el menú de navegación en la parte superior izquierda de la pantalla, coloca el puntero sobre IAM y administración y haz clic en Cuentas de servicio.
En la columna Correo electrónico, se muestran los
SERVICE_ACCOUNT_ID
yPROJECT_ID
únicos para cada una de tus cuentas de servicio en el siguiente formato:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Por ejemplo, una dirección de correo electrónico de cuenta de servicio de
my-service-account@my-project.iam.gserviceaccount.com
tiene los siguientes valores:SERVICE_ACCOUNT_ID
:my-service-account
PROJECT_ID
:my-project
Otorga a tu cuenta de servicio el rol adecuado. El siguiente comando de muestra otorga el rol de usuario de la API de Cloud Translation. Para determinar el rol que debes otorgar, consulta la documentación de la API de Cloud que usas.
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
Para crear una clave de cuenta de servicio, haz lo siguiente:
gcloud iam service-accounts keys \ create key.json --iam-account \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Configura la clave como tus credenciales predeterminadas:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
Opcional: Para permitir que los usuarios actúen en nombre de la cuenta de servicio, ejecuta el comando
gcloud iam service-accounts add-iam-policy-binding
para otorgar a un usuario el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser
) en la cuenta de servicio:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Reemplaza los siguientes valores:
USER_EMAIL
: la dirección de correo electrónico del usuario
Desarrollo remoto
GKE
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 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é habilitada en tu clúster (en la sección Clúster > Seguridad).
- Asigna los roles necesarios a tu cuenta de servicio:
- Si usas la cuenta de servicio predeterminada de Compute Engine, es posible que ya se hayan aplicado los roles de IAM correctos.
- 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 de descripción de roles. Para obtener 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 la 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 aplicación de muestra de Cloud Code, este archivo se encuentra en la carpeta kubernetes-manifests. - Si el Google Cloud servicio al que intentas acceder requiere roles adicionales, otórgales la cuenta de servicio de Google que usas para desarrollar tu app:
- 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 de descripción de roles. Para obtener los pasos para otorgar los roles, consulta Otorga, cambia y revoca el acceso a los recursos.
Cloud Run
- Para crear una cuenta de servicio nueva y ú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 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 Google Cloud servicio al que intentas acceder requiere roles adicionales, otórgalos, haz clic en Continuar y, luego, en Listo.
- Agrega la cuenta de servicio a tu configuración de implementación.
- En la barra de estado de Cloud Code, elige el comando Cloud Run: Deploy.
- En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica tu cuenta de 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 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é habilitada en tu clúster (en la sección Clúster > Seguridad).
- Asigna los roles necesarios a tu cuenta de servicio:
- Si usas la cuenta de servicio predeterminada de Compute Engine, es posible que ya se hayan aplicado los roles de IAM correctos.
- 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 de descripción de roles. Para obtener 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 la 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.
- Agrega la cuenta de servicio a tu configuración de implementación.
- En la barra de estado de Cloud Code, elige el comando Cloud Run: Deploy.
- En la IU de implementación de Cloud Run, en Configuración de revisión, en el campo Cuenta de servicio, especifica tu cuenta de servicio.
- Si el Google Cloud servicio al que intentas acceder requiere roles adicionales, otórgales la cuenta de servicio de Google que usas para desarrollar tu app:
- 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 de descripción de roles. Para obtener 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 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:
Haz clic en
Cloud Code y, luego, expande la sección Secret Manager.
Haz clic con el botón derecho en el secreto y selecciona Editar permisos en la consola de Cloud. Esto inicia la página de configuración de Secret Manager para ese secreto en tu navegador web.
En la consola de Google Cloud, haz clic en Permisos y, luego, en Agregar.
En el campo Principales nuevas, ingresa el nombre de tu cuenta de servicio.
En el campo Selecciona una función, elige el rol Administrador y descriptor de acceso a secretos.
Haz clic en Guardar.
La cuenta de servicio ahora tiene permiso para acceder a este secreto en particular.