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 que 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, te recomendamos que la aplicación se comunique con un servidor de backend que administre la autenticación a los servicios de Google Cloud Platform, y las llamadas.

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 las funciones básicas.

Para crear una clave de API, sigue estos pasos:

  1. En Cloud Console, navega al panel API y servicios > Credenciales.

  2. Selecciona Crear credenciales y, luego, Clave de API en el menú desplegable.

  3. Se mostrará la clave nueva en el cuadro de diálogo Se creó la clave de API.

Recomendamos que copies tu clave y la mantengas segura. A menos que uses una clave de prueba que pretendas 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, usa lo siguiente:

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 las 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. Para regenerar las claves de API desde la página de credenciales, haz clic en 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. En Cloud Console, navega al panel API y servicios > Credenciales.

  2. Selecciona el nombre de una clave de API existente.

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.

Elige el tipo de restricción según las necesidades de la app.

  • Usa Ninguna solo con fines de prueba.

  • Usa Referentes HTTP (HTTP referrers) para los clientes de API que se ejecuten 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 que, en su lugar, uses una cuenta de servicio. 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.

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

Agrega restricciones HTTP

Para agregar restricciones HTTP, sigue estos pasos:

  • Selecciona URL de referencia HTTP (sitios web) en la sección Restricciones de aplicaciones.

  • Ingresa al menos una restricción en la sección Restricciones de sitios web.

  • Si el dominio admite HTTP y HTTPS, se deben agregar ambas restricciones por separado.

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

En la siguiente tabla, se muestran 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 el dominio admite 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 el dominio admite 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, sigue estos pasos:

  1. Selecciona Restringir clave en la sección Restricciones de API.

  2. En el menú desplegable, selecciona todos los nombres de las API a las que debe llamar la clave.

  3. Selecciona el botón Guardar.

Consulta las claves de API existentes

Usa Cloud Console para ver las claves de API existentes. Luego de navegar al panel API y Servicios > Credenciales en Cloud Console, las claves de API existentes aparecerán debajo del encabezado Claves de API.

Pasos siguientes