Usa claves de API

En esta guía, se muestra cómo crear claves de API y cómo configurar restricciones de clave de API para aplicaciones de GCP. Para obtener más información sobre la autenticación en una API de GCP, consulta Descripción general de la autenticación. Si deseas obtener información sobre la configuración de claves de API para Google Maps, consulta la documentación de Google Maps.

Una clave de API es una string encriptada simple que se puede usar para llamar a ciertas API que no necesitan acceder a datos del usuario privados. Las claves de API son útiles en clientes como las aplicaciones para navegador o dispositivos móviles que no tienen un servidor de backend. La clave de API se utiliza a fin de rastrear las solicitudes a la API asociadas con tu proyecto para la cuota y la facturación.

Las claves de API tienen limitaciones importantes, entre ellas:

Debido a esto, recomendamos usar el flujo de autenticación estándar en su lugar. Sin embargo, hay ciertos casos en que las claves de API son más adecuadas. Por ejemplo, si desarrollas una aplicación para dispositivos móviles que necesita usar la API de Google Cloud Translation, pero no necesita un servidor de backend, las claves de API son la forma más sencilla de autenticarse en esa API. En la mayoría de los casos, recomendamos que tu aplicación se comunique con un servidor de backend que maneje la autenticación y las llamadas a los servicios de Google Cloud Platform.

Crea una clave de API

Para crear una clave de API, tu cuenta debe tener la función básica de Editor (roles/editor) en el proyecto actual. Para obtener más información, consulta funciones básicas.

Para crear una clave de API, sigue estos pasos:

  1. Navega hasta el panel de APIs & Services→Credentials (API y Servicios→Credenciales) en GCP Console.

  2. Selecciona Create credentials (Crear credenciales) y luego API key (Clave de API) en el menú desplegable.

  3. Haz clic en el botón Create (Crear). El cuadro de diálogo de API key created (Clave de API creada) muestra tu nueva clave.

Recomendamos que copies tu clave y la mantengas segura. A menos que uses una clave de prueba que pretendes borrar más adelante, agrega restricciones de aplicación y de clave de API.

Usa una clave de API

Pasa la clave de API a una llamada a la API de REST como un parámetro de búsqueda con el siguiente formato. Reemplaza API_KEY por tu clave de API.

key=API_KEY

Por ejemplo, si deseas pasar una clave de API para solicitar documents.analyzeEntities a la API de Cloud Natural Language:

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

Protege una clave de API

Cuando usas claves de API en tus aplicaciones, ten cuidado de mantenerlas seguras. Si expones tus credenciales en público, puedes comprometer tu cuenta y generar cargos inesperados. Para ayudarte a mantener tus claves de API seguras, sigue estas recomendaciones:

  • No incorpores claves de API de forma directa en el código. Las claves de API incorporadas en el código pueden exponerse de forma accidental al público. Por ejemplo, podrías olvidarte de quitar las claves cuando compartes el código. En lugar de incorporar tus claves de API en tus aplicaciones, almacénalas en variables de entorno o en archivos fuera del árbol de origen de tu aplicación.

  • No almacenes claves de API en archivos dentro del árbol de origen de tu aplicación. Si almacenas claves de API en archivos, mantenlos fuera del árbol de origen de tu aplicación para asegurarte de que tus claves no terminen en tu sistema de control de código fuente. Esto es muy importante si usas un sistema de administración de código fuente público como GitHub.

  • Configura restricciones de aplicación y de clave de API. Si agregas restricciones, puedes reducir el impacto de una clave de API comprometida.

  • Borra las claves de API innecesarias para minimizar la exposición a los ataques.

  • Regenera tus claves de API de forma periódica. Puedes regenerar las claves de API desde la página de Credenciales con un clic en Regenerate key (Regenerar clave) para cada una. Luego, actualiza tus aplicaciones para que usen las claves recién generadas. Tus claves anteriores continuarán funcionando durante 24 horas después de que generes las claves de reemplazo.

  • Revisa tu código antes de lanzarlo de forma pública. Asegúrate de que tu código no contenga claves de API o cualquier otra información privada antes de hacer que tu código esté disponible de forma pública.

Agrega restricciones a las claves de API

De forma predeterminada, una clave de API no tiene restricciones. Las claves sin restricciones no son seguras porque se pueden ver de forma pública, como desde un navegador, o se puede acceder a ellas en un dispositivo donde se encuentre la clave.

Para aplicaciones de producción, establece restricciones de aplicación y de API.

Para agregar restricciones de clave de API, sigue estos pasos:

  1. Navega hasta el panel de APIs & Services→Credentials en GCP Console.

  2. Selecciona el nombre de una clave de API existente. La sección de restricciones aparece en la parte inferior de la página.

    Agrega la clave de API

Restricciones de aplicaciones

Las restricciones de aplicación especifican qué sitios web, direcciones IP o apps pueden usar una clave de API. Agrega restricciones de aplicación según tu tipo de aplicación. Solo puedes configurar un tipo de restricción por clave de API.

  1. Selecciona la pestaña Application restrictions (Restricciones de aplicación) en la sección Key restrictions (Restricciones de clave).

  2. Elige el tipo de restricción según las necesidades de tu aplicación. Si deseas agregar más de un valor para cualquier restricción, escribe el primer valor y luego presiona la tecla Intro. Repite esto para agregar valores.

    • Usa None (Ninguna) solo con fines de prueba.

    • Usa HTTP referrers (Referentes HTTP) para los clientes de API que se ejecutan en un navegador web, de modo que solo las páginas especificadas puedan llamar a la API. Estos tipos de aplicaciones exponen sus claves de API de forma pública, por lo que recomendamos usar una cuenta de servicio en su lugar. Consulta Agrega restricciones HTTP para ver ejemplos.

    • Usa IP addresses (Direcciones IP) para limitar el acceso a las claves de API desde ciertas direcciones IP.

    • Usa Android apps (Apps de Android) para aplicaciones de Android. Esta opción requiere agregar el nombre de tu paquete y la huella digital del certificado de firma SHA-1.

    • // NOTYPO
    • Usa iOS apps (Apps de iOS) para aplicaciones de iOS. Esta opción requiere agregar al menos un identificador de paquete de iOS para restringir las llamadas a la API a paquetes de iOS específicos.

    • // NOTYPO
  3. Selecciona el botón Save (Guardar).

Agrega restricciones HTTP

Para agregar restricciones HTTP, sigue estos pasos:

  • Ingresa al menos una restricción en el campo de formulario.

  • Si tu dominio admite HTTP y HTTPS, ambas restricciones deben agregarse por separado.

  • Para agregar más de un valor, escribe el primer valor y luego presiona la tecla Intro. Repite esto para agregar valores.

    Restricciones de referente HTTP

  • De forma opcional, puedes usar caracteres comodín (*) para el subdominio o la ruta de acceso.

La siguiente tabla muestra situaciones y restricciones de ejemplo, desde la más restrictiva a la menos restrictiva. Recomendamos usar el ejemplo más restrictivo que se ajuste a tu caso práctico.

Situación Restricciones
Permitir una URL específica.

Agrega una sola restricción con una ruta de acceso exacta. Por ejemplo:

  • https://www.example.com/path
  • http://www.example.com/path/path
Permitir cualquier URL en un solo subdominio o dominio simple.

Debes establecer al menos dos restricciones para permitir un dominio completo.

  1. Establece una restricción para el dominio, sin la barra final. Por ejemplo:
    • https://www.example.com
    • http://sub.example.com
    • http://example.com
  2. Establece una segunda restricción para el dominio que incluya un comodín en la ruta de acceso. Por ejemplo:
    • https://www.example.com/*
    • http://sub.example.com/*
    • http://example.com/*
  3. Si tu dominio permite HTTP y HTTPS, debes agregar restricciones adicionales por separado.
Permitir cualquier URL de subdominio en un solo dominio.

Debes establecer al menos dos restricciones.

  1. Establece una restricción para el dominio, con un comodín en el subdominio y sin la barra final. Por ejemplo:
    • https://*.example.com
  2. Establece una segunda restricción para el dominio que incluya un comodín en la ruta de acceso, por ejemplo:
    • https://*.example.com/*
  3. Si tu dominio permite HTTP y HTTPS, debes agregar restricciones adicionales por separado.

Restricciones de API

Las restricciones de API especifican a qué API se puede llamar con la clave de API. Todas las claves de API que se usan en aplicaciones de producción deben usar restricciones de API.

Para establecer restricciones de API:

  1. Selecciona la pestaña API restrictions (Restricciones de API) en la sección Key restrictions.

  2. Selecciona un nombre de API de la lista desplegable.

  3. Repite el paso anterior para todas las API a las que debe llamar tu clave de API.

  4. Selecciona el botón Save.

Consulta las claves de API existentes

Usa GCP Console para ver tus claves de API existentes. Después de navegar al panel APIs & Services→Credentials en GCP Console, las claves de API existentes se muestran debajo del encabezado API keys (Claves de API).

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…