Guía de la política de seguridad del contenido

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En este documento, se proporcionan recomendaciones sobre cómo configurar la Política de Seguridad del Contenido (CSP) del sitio web para la API de Maps JavaScript. Dado que los usuarios finales usan una gran variedad de tipos y versiones de navegador, se recomienda a los desarrolladores que usen este ejemplo como referencia, y que se ajusten hasta que no se produzcan más infracciones de CSP.

Obtén más información sobre la Política de Seguridad del Contenido.

CSP estricto

Recomendamos usar un CSP estricto por sobre la CSP de la lista de entidades permitidas para mitigar la posibilidad de ataques de seguridad. La API de Maps JavaScript admite el uso de CSP estricto basado en nonce. Los sitios web deben propagar elementos script y style con un valor de instancia. De forma interna, la API de Maps JavaScript encontrará el primer elemento y aplicará su valor de instancia a los elementos de estilo o secuencia de comandos que inserta la secuencia de comandos de API, respectivamente.

Ejemplo

En el siguiente ejemplo, se muestra un CSP de muestra, junto con una página HTML en la que está incorporado:

Ejemplo de política de seguridad de contenido

script-src 'nonce-{script value}' 'strict-dynamic' https: 'unsafe-eval';
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com data: blob:;
font-src https://fonts.gstatic.com;
style-src 'nonce-{style value}' https://fonts.googleapis.com

Ejemplo de página HTML

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css" nonce="{style value}">
    <style nonce="{style value}">...</style>
    ...
  </head>
  <body>
    <div id="map"></div>
    <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async nonce="{script value}"></script>
    <script nonce="{script value}"> function initMap() { ... } </script>
  </body>
</html>

CSP de la lista de entidades permitidas

Si configuraste la CSP en la lista de entidades permitidas, consulta la lista de dominios de Google Maps. Te recomendamos que consultes este documento y las notas de la versión de la API de Maps JavaScript para mantenerte actualizado y, si es necesario, incluir cualquier dominio de servicio nuevo en la lista de entidades permitidas.

Los sitios web que cargan la API de Maps JavaScript desde un dominio heredado de las API de Google (por ejemplo, maps.google.com) o un dominio específico de la región (por ejemplo, maps.google.fr), también deben incluir estos nombres de dominio en su configuración de script-src de CSP, como se muestra en el siguiente ejemplo:

script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.googleapis.com https://*.gstatic.com *.google.com https://*.ggpht.com *.googleusercontent.com;
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com  *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com  data: blob:;
font-src https://fonts.gstatic.com;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com