Cuando uses claves de API en tus aplicaciones, asegúrate de que se mantengan protegidas tanto durante el almacenamiento como durante la transmisión. Si expones públicamente tus claves de API, se pueden producir cargos inesperados en tu cuenta o un acceso no autorizado a tus datos. Para mantener tus claves de API protegidas, implementa las siguientes prácticas recomendadas.
Añadir restricciones a tu clave de API
Si añades restricciones, puedes limitar las formas en las que se puede usar una clave de API, lo que reduce el impacto de una clave de API vulnerada.
Para obtener más información, consulta Aplicar restricciones a claves de API.
Evita usar parámetros de consulta para proporcionar tu clave de API a las APIs de Google
Si proporcionas tu clave de API a las APIs como parámetro de consulta, la clave se incluirá en la URL, lo que la expondrá a robos mediante análisis de URLs. Usa el encabezado HTTP x-goog-api-key
o una biblioteca de cliente.
Elimina las claves de API innecesarias para minimizar la exposición a ataques
Conserva solo las claves de API que estés usando para que tu superficie de ataque sea lo más pequeña posible.
No incluyas claves de API en el código de cliente ni las subas a repositorios de código
Las claves de API codificadas de forma rígida en el código fuente o almacenadas en un repositorio pueden ser interceptadas o robadas por agentes maliciosos. El cliente debe enviar las solicitudes al servidor, que puede añadir la credencial y emitir la solicitud.
No uses claves de API vinculadas a cuentas de servicio en producción
Las claves de API asociadas a cuentas de servicio se han diseñado para acelerar la experiencia inicial de los desarrolladores que exploran las APIs Google Cloud . No las uses en entornos de producción. En su lugar, planifica la migración a alternativas más seguras, como las políticas de gestión de identidades y accesos (IAM) y las credenciales de cuentas de servicio de corta duración, siguiendo las prácticas de seguridad de mínimo privilegio.
Estos son los motivos por los que deberías migrar de usar una clave de API vinculada a una cuenta de servicio a prácticas más seguras lo antes posible:
Las claves de API se envían junto con las solicitudes. De esta forma, es más probable que la clave se exponga o se registre.
Las claves de API son credenciales de portador. Esto significa que, si alguien roba una clave de API asociada a una cuenta de servicio, puede usarla para autenticarse como esa cuenta de servicio y acceder a los mismos recursos que la cuenta de servicio.
Las claves de API asociadas a cuentas de servicio ocultan la identidad del usuario final en los registros de auditoría. Para monitorizar las acciones de usuarios concretos, asegúrate de que cada usuario tenga su propio conjunto de credenciales.
Implementa una monitorización y un registro sólidos
Monitorizar el uso de las APIs puede ayudarte a detectar usos no autorizados. Para obtener más información, consulta la descripción general de Cloud Monitoring y la descripción general de Cloud Logging.
Aísla las claves de API
Proporciona a cada miembro del equipo su propia clave de API para cada aplicación. Esto puede ayudar a controlar el acceso, proporcionar un registro de auditoría y reducir el impacto de una clave de API vulnerada.
Rota tus claves de API periódicamente
Crea periódicamente nuevas claves de API, actualiza tus aplicaciones para que usen las nuevas claves y elimina las antiguas.
Para obtener más información, consulta Rotar una clave de API.
Considera un método más seguro para autorizar el acceso
Si necesitas ayuda para elegir un método de autenticación, consulta el artículo Métodos de autenticación.