Google Maps Platform ‒ Leitlinie zur Sicherheit

Für Anwendungen und Projekte, für die die APIs und SDKs der Google Maps Platform verwendet werden, sind API-Schlüssel oder (falls unterstützt) OAuth erforderlich, um die nicht autorisierte Nutzung und damit verbundene Kosten zu verhindern. Für maximale Sicherheit sollten Sie beim Erstellen Ihrer API-Schlüssel Einschränkungen festlegen. Nachfolgend finden Sie entsprechende Best Practices dazu.

Zusätzlich zu Einschränkungen für Anwendungen und für API-Schlüssel sollten Sie die erforderlichen Sicherheitsmaßnahmen für die einzelnen Google Maps Platform-Produkte befolgen. Entsprechende Informationen für die Maps JavaScript API finden Sie z. B. im Abschnitt Empfohlene Anwendungs- und API-Einschränkungen unten.

Falls Ihre API-Schlüssel bereits im Einsatz sind, sehen Sie sich die Empfehlungen im Abschnitt Vorhandene API-Schlüssel einschränken oder neu generieren unten an.

Weitere Informationen zu digitalen Signaturen finden Sie im entsprechenden Leitfaden.

Empfohlene Best Practices

Um die Sicherheit zu erhöhen und Kosten aufgrund nicht autorisierter Nutzung zu vermeiden, sollten Sie sich in puncto API-Sicherheit bei allen APIs, SDKs und Diensten der Google Maps Platform an folgende Best Practices halten:

API-Schlüssel einschränken

Separate API-Schlüssel für jede Anwendung verwenden

Nicht verwendete API-Schlüssel löschen

Nutzung Ihrer API-Schlüssel prüfen

Vorsicht beim Neugenerieren von API-Schlüsseln

Zusätzliche Empfehlungen für Websites, für die Static Web APIs verwendet werden

Anwendungen schützen, für die Static Web APIs verwendet werden

Zusätzliche Empfehlungen für Anwendungen, für die Webdienste verwendet werden

Anwendungen schützen, für die Webdienste verwendet werden

Zusätzliche Empfehlungen für iOS- und Android-Apps

Mobile Apps schützen, für die Web Service oder Static Web APIs verwendet werden

Vorhandene API-Schlüssel einschränken oder neu generieren

  • Bevor Sie Änderungen an einem API-Schlüssel vornehmen, müssen Sie seine Nutzung prüfen. Das ist besonders dann wichtig, wenn Sie Einschränkungen für einen Schlüssel festlegen, der bereits verwendet wird.

  • Nachdem Sie Änderungen an einem Schlüssel vorgenommen haben, müssen Sie alle Ihre Anwendungen mit den neuen API-Schlüsseln aktualisieren.

  • Liegt kein aktiver Missbrauch Ihres API-Schlüssels vor, können Sie Ihre Anwendungen nach und nach auf die neuen API-Schlüssel umstellen. Dabei bleibt der ursprüngliche API-Schlüssel so lange unangetastet, bis Sie nur noch einen Traffic-Typ sehen, für den Sie dann eine entsprechende Anwendungseinschränkung für die API-Schlüssel festlegen können. Weitere Informationen

    Behalten Sie die Nutzung im Blick und warten Sie, bis die einzelnen APIs, Plattformtypen und Domains zum neuen API-Schlüssel migriert sind, bevor Sie den alten Schlüssel einschränken oder löschen. Weitere Informationen finden Sie unter Berichterstellung für die Google Maps Platform und Google Cloud-Messwerte.

  • Wenn Ihr API-Schlüssel manipuliert wurde, müssen Sie schnell aktiv werden, um den Schlüssel abzusichern und den Missbrauch zu unterbinden. In Android- und iOS-Apps werden Schlüssel erst ersetzt, wenn Nutzer die Apps aktualisieren. Bei JavaScript- oder Webdienstanwendungen lassen sich Schlüssel wesentlich einfacher aktualisieren und ersetzen. Das Ganze muss aber trotzdem sorgfältig geplant und schnell umgesetzt werden.

    Weitere Informationen finden Sie unter Gegen die nicht autorisierte Nutzung von API-Schlüsseln vorgehen.

API-Schlüssel einschränken

Als Best Practice wird empfohlen, für API-Schlüssel immer eine Anwendungs- und mindestens eine API-Einschränkung festzulegen. Im Abschnitt Empfohlene Anwendungs- und API-Einschränkungen unten finden Sie Empfehlungen für die einzelnen APIs, SDKs und JavaScript-Dienste.

  • Mit Anwendungseinschränkungen können Sie die Nutzung eines API-Schlüssels auf bestimmte Plattformen beschränken: Android- oder iOS-Apps, bestimmte Websites für clientseitige Anwendungen oder bestimmte IP-Adressen oder CIDR-Subnetze für serverseitige Anwendungen, die Webdienst-REST API-Aufrufe tätigen.

    Dazu legen Sie für den Schlüssel eine oder mehrere Anwendungseinschränkungen der Typen fest, die autorisiert werden sollen. Danach sind nur noch Anfragen von diesen Quellen zulässig.

  • Mit API-Einschränkungen lässt sich festlegen, für welche APIs, SDKs oder Dienste der Google Maps Platform der API-Schlüssel verwendet werden kann. Es sind dann nur Anfragen an die entsprechenden APIs und SDKs möglich. Pro API-Schlüssel können so viele API-Einschränkungen festgelegt werden wie nötig. Zur Auswahl stehen alle APIs, die für das entsprechende Projekt aktiviert sind.

Anwendungseinschränkung für einen API-Schlüssel festlegen

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Wählen Sie den API-Schlüssel aus, den Sie einschränken möchten.

  3. Wählen Sie auf der Seite API-Schlüssel bearbeiten unter Schlüsseleinschränkungen die Option Anwendungseinschränkung festlegen aus.

    Seite „API-Schlüssel bearbeiten“

  4. Wählen Sie einen der Einschränkungstypen aus und machen Sie alle erforderlichen Angaben gemäß der Einschränkungsliste.

    Einschränkungstyp Beschreibung
    Websites Geben Sie mindestens eine Referrer-URI (Website) an.
    • Die allgemein unterstützten Referrer-URI-Schemas sind https und http.
    • Geben Sie immer die vollständige Referrer-URI einschließlich des Protokollschemas, Hostnamens und optionalen Ports an (z.B. https://google.com).
    • Sie können Platzhalterzeichen verwenden, wenn alle Subdomains autorisiert werden sollen. Bei https://*.google.com werden z. B. sämtliche Websites akzeptiert, die auf .google.com enden. Wenn Sie www.domain.com angeben, wird sie als Platzhalter www.domain.com/* verwendet, mit dem jeder Unterpfad dieses Hostnamens autorisiert wird.
    • Es wird davon abgeraten, Referrer-URIs mit vollständiger Pfadangabe festzulegen (z. B. https://google.com/some/path). In den meisten Browsern wird der Pfad bei Cross-Origin-Anfragen nämlich standardmäßig entfernt.
    IP-Adressen Geben Sie eine oder mehrere IPv4- oder IPv6-Adressen oder Subnetze in CIDR-Notation an. Die IP-Adressen müssen mit der Quelladresse übereinstimmen, die die Google Maps Platform-Server beobachten. Wenn Sie Netzwerkadressübersetzung (Network Address Translation, NAT) einsetzen, entspricht diese Adresse in der Regel der öffentlichen IP-Adresse Ihres Computers.
    Android-Apps Geben Sie den Namen Ihres Android-Pakets aus der Datei AndroidManifest.xml und den SHA-1-Fingerabdruck des Signaturzertifikats für jede Android-App an, die autorisiert werden soll. Falls Sie die Funktion Play App-Signatur verwenden, können Sie unter Working with API Providers nachlesen, wie Sie den Fingerabdruck des Signaturzertifikats abrufen. Falls Sie Ihren eigenen Signaturschlüssel verwalten, lesen Sie den Abschnitt Anwendung selbst signieren oder folgen Sie der Anleitung für Ihre Build-Umgebung.
    iOS-Apps Geben Sie den Paket-Identifikator jeder iOS-App an, die autorisiert werden soll.

    Empfehlungen für Anwendungseinschränkungen finden Sie im entsprechenden Abschnitt unten.

  5. Klicken Sie auf Speichern.

API-Einschränkungen für einen API-Schlüssel festlegen

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Wählen Sie den API-Schlüssel aus, den Sie einschränken möchten.

  3. Gehen Sie auf der Seite API-Schlüssel bearbeiten unter API-Einschränkungen so vor:

    • Wählen Sie Schlüssel einschränken aus.

    • Öffnen Sie das Drop-down-Menü APIs auswählen und wählen Sie die APIs oder SDKs aus, auf die Ihre Anwendung mit dem API-Schlüssel zugreifen soll.

      Werden APIs oder SDKs nicht aufgeführt, müssen Sie sie aktivieren. Weitere Informationen

    API auf der Seite „API-Schlüssel bearbeiten“ einschränken

  4. Klicken Sie auf Speichern.

    Die Einschränkung wird nach diesem Schritt in die API-Schlüsseldefinition aufgenommen. Machen Sie alle erforderlichen Angaben und vergessen Sie nicht, auf Speichern zu klicken, um die Einschränkungen für den API-Schlüssel zu speichern. Weitere Informationen finden Sie in der Dokumentation der entsprechenden API bzw. des jeweiligen SDK unter API-Schlüssel abrufen.

Unter Empfohlene API-Einschränkungen finden Sie entsprechende Empfehlungen.

Nutzung Ihrer API-Schlüssel prüfen

Sie möchten Einschränkungen für API-Schlüssel festlegen, nachdem sie erstellt wurden, oder sehen, welche APIs von einem Schlüssel verwendet werden, damit Sie sie einschränken können? Dann sollten Sie die Nutzung Ihrer API-Schlüssel prüfen. Führen Sie die Schritte unten aus, um zu sehen, in welchen Diensten oder API-Methoden Ihr API-Schlüssel verwendet wird. Wird er nicht nur für die Dienste der Google Maps Platform genutzt, sollten Sie untersuchen, ob weitere Einschränkungen erforderlich sind, um eine nicht autorisierte Verwendung zu verhindern. In der Cloud Console ist der Metrics Explorer für die Google Maps Platform verfügbar. Sie können ihn verwenden, um geeignete API- und Anwendungseinschränkungen für Ihren API-Schlüssel zu finden:

APIs bestimmen, für die Ihr API-Schlüssel verwendet wird

Die folgenden Messwertberichte geben Aufschluss über die APIs, für die Ihre API-Schlüssel verwendet werden. Sie können die Berichte verwenden, um…

  • zu sehen, wie Ihre API-Schlüssel verwendet werden.
  • eine unerwartete Nutzung zu erkennen.
  • zu prüfen, ob ein nicht verwendeter Schlüssel gelöscht werden kann, ohne dass dies negative Auswirkungen hat. Weitere Informationen finden Sie unter Nicht verwendete API-Schlüssel löschen.

Wenn Sie API-Einschränkungen festlegen, können Sie diese Berichte verwenden, um eine Liste der zu autorisierenden APIs zu erstellen oder die automatisch generierten Empfehlungen für API-Schlüssel-Einschränkungen zu überprüfen. Weitere Informationen finden Sie unter Empfohlene Einschränkungen für API-Schlüssel anwenden. Weitere Informationen zur Verwendung des Metrics Explorers finden Sie unter Diagramme mit dem Metrics Explorer erstellen.

  1. Rufen Sie in der Google Cloud Console den Metrics Explorer auf.

  2. Melden Sie sich an und wählen Sie das Projekt für die API-Schlüssel aus, die Sie überprüfen möchten.

  3. Rufen Sie die Seite „Metrics Explorer“ für den entsprechenden API-Typ aus:

    • Für API-Schlüssel, für die APIs außer der Maps Embed API verwendet werden, wechseln Sie zur Seite „Metrics Explorer“.

    • Für API-Schlüssel, für die die Maps Embed API verwendet wird, folgen Sie diesem Link.

  4. Sehen Sie sich die einzelnen API-Schlüssel an:

    1. Wählen Sie FILTER HINZUFÜGEN aus.

    2. Wählen Sie das Label credential_id aus.

    3. Wählen Sie den Wert für den Schlüssel aus, der untersucht werden soll.

    4. Sehen Sie sich an, für welche APIs der API-Schlüssel verwendet wird. Entspricht die Nutzung Ihren Erwartungen?

    5. Wählen Sie abschließend am Ende der Zeile des aktiven Filters Filter entfernen  aus, um den zusätzlichen Filter zu löschen.

  5. Wiederholen Sie die Schritte für die anderen Schlüssel.

  6. Schränken Sie Ihre API-Schlüssel auf die APIs ein, die verwendet werden.

  7. Wenn Sie eine nicht autorisierte Nutzung feststellen, lesen Sie den Abschnitt Gegen die nicht autorisierte Nutzung von API-Schlüsseln vorgehen.

Die richtige Art der Anwendungseinschränkung mithilfe des Metrics Explorers auswählen

Nachdem Sie überprüft haben, ob Ihr API-Schlüssel nur für die verwendeten Google Maps Platform-Dienste genutzt wird, und ggf. entsprechende Maßnahmen ergriffen haben, müssen Sie auch dafür sorgen, dass die richtigen Anwendungseinschränkungen für ihn festgelegt sind.

Falls für den API-Schlüssel Empfehlungen für Einschränkungen verfügbar sind, wenden Sie diese an. Weitere Informationen finden Sie unter Empfohlene Einschränkungen für API-Schlüssel anwenden.

Falls für den API-Schlüssel keine Empfehlungen für Einschränkungen vorhanden sind, können Sie anhand des Werts für platform_type im Metrics Explorer bestimmen, welche Art von Einschränkung angewendet werden sollte:

  1. Rufen Sie in der Google Cloud Console den Metrics Explorer auf.

  2. Melden Sie sich an und wählen Sie das Projekt für die APIs aus, die Sie überprüfen möchten.

  3. Rufen Sie die Metrics Explorer-Seite auf.

  4. Sehen Sie sich die einzelnen API-Schlüssel an:

    1. Wählen Sie FILTER HINZUFÜGEN aus.

    2. Wählen Sie das Label credential_id aus.

    3. Wählen Sie den Wert für den Schlüssel aus, der untersucht werden soll.

    4. Wählen Sie abschließend am Ende der Zeile des aktiven Filters Filter entfernen  aus.

  5. Wiederholen Sie die Schritte für die anderen Schlüssel.

  6. Sobald Sie den Plattformtyp (platform_type) Ihrer API-Schlüssel kennen, können Sie die entsprechende Anwendungseinschränkung anwenden:

    PLATFORM_TYPE_JS
    Website-Einschränkungen auf den Schlüssel anwenden
    PLATFORM_TYPE_ANDROID
    Android-App-Einschränkungen auf den Schlüssel anwenden
    PLATFORM_TYPE_IOS
    iOS-App-Einschränkungen auf den Schlüssel anwenden
    PLATFORM_TYPE_WEBSERVICE
    Eventuell müssen Sie Einschränkungen vom Typ „IP-Adressen“ für den Schlüssel festlegen, um ihn richtig einzuschränken. Weitere Optionen für die Maps Static API und Street View Static API finden Sie unter Anwendungen schützen, für die Static Web APIs verwendet werden. Weitere Informationen zur Maps Embed API sind unter Websites mit der Maps Embed API verfügbar.
    Mein API-Schlüssel wird für mehrere Plattformtypen verwendet
    Mit einem einzelnen API-Schlüssel lässt sich Ihr Traffic nicht ausreichend absichern. Sie müssen auf mehrere API-Schlüssel umstellen. Weitere Informationen

Separate API-Schlüssel für jede Anwendung verwenden

Bei dieser Vorgehensweise wird der Anwendungsbereich der einzelnen Schlüssel eingeschränkt. Wenn ein API-Schlüssel manipuliert wurde, können Sie ihn löschen oder neu generieren, ohne dass Änderungen an Ihren anderen API-Schlüsseln erforderlich sind. Pro Projekt können Sie bis zu 300 API-Schlüssel erstellen. Weitere Informationen finden Sie unter Limits für API-Schlüssel.

Aus Sicherheitsgründen ist ein API-Schlüssel pro Anwendung ideal. Sie können Schlüssel mit Einschränkungen aber auch für mehrere Anwendungen verwenden, solange dieselbe Art von Anwendungseinschränkung festgelegt ist.

Empfohlene Einschränkungen für API-Schlüssel anwenden

Für einige Project Owners und Project Editors werden in der Google Cloud Console Einschränkungen für nicht eingeschränkte API-Schlüssel vorgeschlagen. Diese Einschränkungen orientieren sich an der Google Maps Platform-Nutzung und entsprechenden Aktivitäten.

Verfügbare Empfehlungen werden auf der Google Maps Platform-Seite „Anmeldedaten“ als vorausgefüllte Optionen angezeigt.

Mögliche Gründe, warum Sie keine vollständige Liste mit Empfehlungen sehen

  • Sie verwenden den API-Schlüssel (auch) für andere Dienste (nicht nur für Google Maps Platform-Dienste). Wird der Schlüssel für andere Dienste genutzt, müssen Sie Folgendes tun, bevor Sie die Empfehlung anwenden:

    1. Überprüfen Sie, ob die API-Nutzung, die Sie im Metrics Explorer der Google Cloud Console sehen, zulässig ist.

    2. Fügen Sie fehlende Dienste manuell zur Liste der zu autorisierenden APIs hinzu.

    3. Fügen Sie fehlende Anwendungseinschränkungen für die Dienste auf der API-Liste manuell hinzu. Wenn für die anderen Dienste, die Sie hinzugefügt haben, eine andere Art von Anwendungseinschränkung erforderlich ist, lesen Sie Zu mehreren API-Schlüsseln migrieren.

  • Ihr API-Schlüssel wird nicht in clientseitigen SDKs oder APIs verwendet.

  • Sie verwenden den API-Schlüssel für eine Anwendung oder Website, die in den letzten 60 Tagen nicht genutzt wurde.

  • Sie haben vor Kurzem einen neuen Schlüssel erstellt oder einen vorhandenen Schlüssel einer neuen Anwendung zugewiesen. Warten Sie in diesem Fall einfach noch ein paar Tage, bis die Empfehlungen aktualisiert wurden.

  • Sie verwenden den API-Schlüssel in mehreren Anwendungen, für die in Konflikt stehende Arten von Anwendungseinschränkungen erforderlich sind, oder Sie verwenden denselben API-Schlüssel für zu viele verschiedene Anwendungen oder Websites. In beiden Fällen empfiehlt es sich, auf mehrere Schlüssel umzustellen. Weitere Informationen

Gründe, warum Sie Empfehlungen sehen, die nicht in den Diagrammen angezeigt werden

  • Ihre Anwendung oder Website sendet nur kurzzeitig Anfragen. Wechseln Sie in diesem Fall von der Ansicht DIAGRAMM zu TABELLE oder BEIDES, da in der Legende weiter Nutzungsdaten angezeigt werden. Weitere Informationen finden Sie unter Legenden anzeigen und ausblenden.

  • Die Anfragen stammen von der Maps Embed API. Entsprechende Informationen finden Sie unter APIs bestimmen, für die Ihr API-Schlüssel verwendet wird.

  • Der Traffic von der Anwendung oder Website fällt nicht in den Zeitraum, der im Metrics Explorer der Google Cloud Console verfügbar ist.

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Wählen Sie Empfohlene Einschränkungen anwenden aus (falls verfügbar).

    Empfohlene Einschränkungen anwenden

    Hinweis: Falls keine Empfehlungen angezeigt werden, können Sie unter API-Einschränkungen für einen API-Schlüssel festlegen nachlesen, wie Sie geeignete Einschränkungen festlegen.

  3. Wählen Sie API-Nutzung prüfen aus, um zu sehen, für welche Dienste der API-Schlüssel verwendet wird. Wenn andere als die Google Maps Platform-Dienste angezeigt werden, pausieren Sie, um die Empfehlungsschritte oben manuell zu überprüfen. Sehen Sie sich die Schritte zur Fehlerbehebung am Anfang des Abschnitts Empfohlene Einschränkungen für API-Schlüssel anwenden an.

  4. Überprüfen Sie noch einmal, dass die vorausgefüllten Einschränkungen den Websites und Anwendungen entsprechen, für die Sie Ihren API-Schlüssel verwenden möchten.

    Best Practice: Dokumentieren und entfernen Sie alle Anwendungs- oder API-Einschränkungen, die keinen Bezug zu Ihren Diensten haben. Sollten Fehler aufgrund einer unerwarteten Abhängigkeit auftreten, können Sie die erforderlichen Anwendungen oder APIs wieder hinzufügen.

    • Falls eine App, Website oder API in der Empfehlung fehlt, fügen Sie sie manuell hinzu oder warten Sie ein paar Tage, bis die Empfehlung aktualisiert wurde.

    • Wenn Sie weitere Unterstützung in Bezug auf die vorgeschlagene Empfehlung benötigen, wenden Sie sich an den Support.

  5. Klicken Sie auf Anwenden.

Was kann ich tun, wenn meine Anwendung abgelehnt wird, nachdem ich eine Empfehlung angewendet habe?

Es kann sein, dass eine Anwendung oder Website abgelehnt wird, nachdem Sie eine Einschränkung angewendet haben. Suchen Sie in diesem Fall in der Fehlermeldung der API-Antwort nach der erforderlichen Anwendungseinschränkung.

Informationen für clientseitige SDKs:

Unter APIs bestimmen, für die Ihr API-Schlüssel verwendet wird erfahren Sie, wie Sie prüfen, welche API-Einschränkungen erforderlich sind.

Wenn Sie nicht ermitteln können, welche Einschränkungen angewendet werden müssen:

  1. Dokumentieren Sie die aktuellen Einschränkungen, um später bei Bedarf darauf zurückgreifen zu können.
  2. Entfernen Sie sie vorübergehend, um das Problem zu untersuchen. Mit den unter Nutzung Ihrer API-Schlüssel prüfen aufgeführten Schritten können Sie die Nutzung im Zeitverlauf prüfen.
  3. Falls Sie Unterstützung benötigen, wenden Sie sich an den Support.

Nicht verwendete API-Schlüssel löschen

Löschen Sie einen API-Schlüssel nur, wenn er nicht in der Produktion verwendet wird. Wenn es keine erfolgreichen Anfragen dafür gibt, kann er wahrscheinlich gelöscht werden. Weitere Informationen finden Sie unter Nutzung Ihrer API-Schlüssel prüfen.

So löschen Sie einen API-Schlüssel:

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Wählen Sie den API-Schlüssel aus, den Sie löschen möchten.

  3. Klicken Sie am oberen Seitenrand auf die Schaltfläche Löschen.

  4. Wählen Sie auf der Seite Anmeldedaten löschen die Option Löschen aus.

    Das Löschen eines API-Schlüssels dauert einige Minuten. Danach werden alle Anfragen, für die der gelöschte API-Schlüssel verwendet wird, abgelehnt.

Vorsicht beim Neugenerieren von API-Schlüsseln

Wenn Sie einen API-Schlüssel neu generieren, wird ein neuer Schlüssel mit allen Einschränkungen des alten Schlüssels erstellt. Durch die Neugenerierung wird ein 24-Stunden-Timer gestartet, nach dessen Ablauf der alte API-Schlüssel gelöscht wird.

Während dieser Zeit werden der alte und der neue Schlüssel akzeptiert, sodass Sie Ihre Anwendungen auf den neuen Schlüssel umstellen können. Nach den 24 Stunden funktionieren alle Anwendungen, die noch den alten API-Schlüssel verwenden, nicht mehr.

Versuchen Sie Folgendes, bevor Sie Ihren API-Schlüssel neu generieren:

  • Legen Sie Einschränkungen für den Schlüssel fest, wie unter API-Schlüssel einschränken beschrieben.

  • Sollte dies aufgrund in Konflikt stehender Anwendungseinschränkungen nicht möglich sein, stellen Sie auf mehrere (eingeschränkte) Schlüssel um, wie unter Zu mehreren API-Schlüsseln migrieren beschrieben. Dabei können Sie den Zeitplan für die Einführung der neuen API-Schlüssel selbst festlegen.

Falls die Vorschläge oben nicht funktionieren und Sie Ihren API-Schlüssel neu generieren müssen, um eine nicht autorisierte Nutzung zu verhindern, gehen Sie so vor:

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Öffnen Sie den API-Schlüssel, der neu generiert werden soll.

  3. Wählen Sie oben auf der Seite Schlüssel neu generieren aus.

  4. Wählen Sie Schlüssel ersetzen aus.

Hinweis: Bei Bedarf können Sie für jeden neu generierten Schlüssel ein Rollback auf eine frühere Version durchführen. Es gibt keine Zeitbegrenzung für Rollbacks.

So führen Sie ein Rollback für einen neu generierten Schlüssel durch:

  1. Öffnen Sie in der Cloud Console die Google Maps Platform-Seite „Anmeldedaten“.

  2. Öffnen Sie den API-Schlüssel, für den das Rollback durchgeführt werden soll.

  3. Wählen Sie Auf vorherigen Schlüssel zurücksetzen aus.

  4. Klicken Sie im Dialogfeld Rückgängig machen auf Schlüssel zurücksetzen.

Bei einem Rollback wird die Version, die Sie zuletzt neu generiert haben, zur vorherigen Version. Ein Timer sorgt dafür, dass sie dann noch 24 Stunden lang aktiv bleibt. Sie können zwischen diesen beiden Schlüsselversionen wechseln, bis Sie den Schlüssel wieder neu generieren.

Wenn Sie den Schlüssel wieder neu generieren, wird die inaktive Version des Schlüssels überschrieben.

Zu mehreren API-Schlüsseln migrieren

So migrieren Sie von einem gemeinsamen API-Schlüssel für mehrere Anwendungen zu einem eigenen API-Schlüssel für jede Anwendung:

  1. Finden Sie heraus, für welche Anwendungen neue Schlüssel erforderlich sind:

    • Webanwendungen lassen sich am einfachsten aktualisieren, da Sie den Code komplett verwalten. Sie sollten die Schlüssel all Ihrer webbasierten Anwendungen aktualisieren.
    • Bei mobilen Apps gestaltet sich das Ganze viel schwieriger. Sie müssen vom Nutzer aktualisiert werden, bevor die neuen Schlüssel zum Einsatz kommen können.
  2. Erstellen Sie die neuen Schlüssel und schränken Sie sie ein: Legen Sie eine Anwendungseinschränkung und mindestens eine API-Einschränkung fest. Weitere Informationen finden Sie unter Empfohlene Best Practices.

  3. Fügen Sie die neuen Schlüssel zu Ihren Anwendungen hinzu: Bei mobilen Apps kann es Monate dauern, bis alle Nutzer die aktuelle Version mit dem neuen API-Schlüssel installiert haben.

Anwendungen schützen, für die Static Web APIs verwendet werden

Static Web API-Aufrufe, z. B. an die Maps Static API und Street View Static API, ähneln Webdienst-API-Aufrufen.

Für beide wird eine HTTPS REST API verwendet und die API-Anfrage-URL wird in der Regel auf dem Server generiert. Anstatt eine JSON-Antwort zurückzugeben, generieren Static Web APIs jedoch ein Bild, das Sie in generierten HTML-Code einbetten können. Noch wichtiger ist aber, dass in der Regel nicht der Server, sondern der Endnutzer-Client den Google Maps Platform-Dienst aufruft.

Digitale Signatur verwenden

Neben einem API-Schlüssel sollten immer digitale Signaturen verwendet werden. Außerdem müssen Sie entscheiden, wie viele nicht signierte Anfragen pro Tag zulässig sein sollen, und die Kontingente für nicht signierte Anfragen entsprechend anpassen.

Weitere Informationen zu digitalen Signaturen finden Sie im entsprechenden Leitfaden.

Signatur-Secret schützen

Um Static Web APIs zu schützen, sollten Sie Ihre API-Signatur-Secrets nicht direkt in den Code oder die Quellstruktur einbetten und auch nicht in clientseitigen Anwendungen preisgeben. Berücksichtigen Sie diese Best Practices zum Schutz Ihrer Signatur-Secrets:

  • Signieren Sie Anfragen serverseitig und nicht auf dem Client. Wenn Sie die Signatur clientseitig in JavaScript vornehmen, ist sie für jeden Besucher Ihrer Website sichtbar. Generieren Sie daher für dynamisch erstellte Bilder die URLs der signierten Maps Static API- und Street View Static API-Anfragen immer serverseitig, wenn Sie die Webseite bereitstellen. Für statische Webinhalte können Sie das Widget Jetzt URL signieren verwenden, das in der Cloud Console unten auf der Google Maps Platform-Seite Anmeldedaten verfügbar ist.

  • Speichern Sie Signatur-Secrets nicht im Quellcode und in der Quellstruktur Ihrer Anwendung. Wenn Sie Ihre Signatur-Secrets oder andere private Informationen in Umgebungsvariablen oder Include-Dateien ablegen, die separat gespeichert werden, und den Code dann freigeben, sind die Signatur-Secrets nicht in den freigegebenen Dateien enthalten. Wenn Sie Signatur-Secrets oder andere private Informationen in Dateien speichern, sollten Sie diese Dateien außerhalb der Quellstruktur der Anwendung aufbewahren, damit die Signatur-Secrets nicht im Verwaltungssystem Ihres Quellcodes enthalten sind. Das ist besonders dann wichtig, wenn Sie GitHub oder ein anderes öffentliches Verwaltungssystem für Quellcode verwenden.

API-Schlüssel in Anwendungen schützen, für die Webdienste verwendet werden

Speichern Sie API-Schlüssel nicht im Quellcode oder in der Quellstruktur Ihrer Anwendung. Wenn Sie Ihre API-Schlüssel oder andere private Informationen in Umgebungsvariablen oder Include-Dateien ablegen, die separat gespeichert werden, und den Code dann freigeben, sind die API-Schlüssel nicht in den freigegebenen Dateien enthalten. Das ist besonders dann wichtig, wenn Sie GitHub oder ein anderes öffentliches Verwaltungssystem für Quellcode verwenden.

API-Schlüssel und Signatur-Secret in mobilen Apps schützen, für die Webdienste oder Static Web APIs verwendet werden

Verwenden Sie einen sicheren Schlüsselspeicher oder Proxyserver, um mobile Apps zu schützen:

  • Speichern Sie den API-Schlüssel oder das Signatur-Secret in einem sicheren Schlüsselspeicher. Dadurch wird das Scraping von API-Schlüsseln und anderen privaten Daten direkt aus der Anwendung erschwert.

  • Verwenden Sie einen sicheren Proxyserver. Der Proxyserver bietet eine solide Quelle für die Interaktion mit der entsprechenden Google Maps Platform API. Weitere Informationen zum Verwenden eines Proxyservers finden Sie im Artikel Living Vicariously: Using Proxy Servers with the Google Data API Client Libraries.

    • Erstellen Sie Ihre Google Maps Platform-Anfragen auf dem Proxyserver. Sie dürfen nicht zulassen, dass Clients beliebige API-Aufrufe über den Proxy weiterleiten.

    • Bearbeiten Sie die Google Maps Platform-Antworten auf Ihrem Proxyserver. Filtern Sie Daten heraus, die der Client nicht benötigt.

Gegen die nicht autorisierte Nutzung von API-Schlüsseln vorgehen

Wenn Sie feststellen, dass ein API-Schlüssel nicht autorisiert verwendet wird, gehen Sie so vor, um das Problem zu beheben:

  1. Schränken Sie Ihre Schlüssel ein: Wenn ein Schlüssel in mehreren Anwendungen verwendet wird, stellen Sie auf mehrere API-Schlüssel um und verwenden Sie separate API-Schlüssel für jede Anwendung. Weitere Informationen:

  2. Generieren Sie Schlüssel nur dann neu, wenn Sie sie nicht einschränken können. Lesen Sie den Abschnitt Vorsicht beim Neugenerieren von API-Schlüsseln, bevor Sie fortfahren.

  3. Falls weiterhin Probleme auftreten oder Sie Hilfe benötigen, wenden Sie sich an den Support.

Empfohlene Anwendungs- und API-Einschränkungen

In den folgenden Abschnitten finden Sie Vorschläge für geeignete Anwendungs- und API-Einschränkungen für die einzelnen APIs, SDKs oder Dienste der Google Maps Platform.

Empfohlene API-Einschränkungen

Die folgenden Richtlinien für API-Einschränkungen gelten für die gesamte Google Maps Platform:

  • Schränken Sie Ihren API-Schlüssel auf die APIs ein, für die Sie ihn verwenden, mit folgenden Ausnahmen:

    • Wird für Ihre App das Places SDK for Android oder Places SDK for iOS verwendet, autorisieren Sie die Places API.

    • Wird für Ihre Anwendung die Maps JavaScript API verwendet, müssen Sie sie für den Schlüssel autorisieren.

    • Wenn Sie einen der folgenden Dienste der Maps JavaScript API verwenden, müssen Sie auch diese APIs autorisieren:

    Dienst API-Einschränkung
    „Directions“-Dienst, Maps JavaScript API Directions API
    „Distance Matrix“-Dienst, Maps JavaScript API Distance Matrix API
    „Elevation“-Dienst, Maps JavaScript API Elevation API
    „Geocoding“-Dienst, Maps JavaScript API Geocoding API
    Places Library, Maps JavaScript API Places API

Beispiele:

  • Wenn Sie das Maps SDK for Android und Places SDK for Android verwenden, müssen Sie das Maps SDK for Android und die Places API als API-Einschränkungen festlegen.

  • Wenn für Ihre Website der „Elevation“-Dienst der Maps JavaScript API und die Maps Static API verwendet werden, müssen Sie API-Einschränkungen für die folgenden APIs festlegen:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

Empfohlene Anwendungseinschränkungen

Websites mit der Maps JavaScript API oder Static Web API

Für Websites, für die Maps JavaScript-Dienste oder Static Web APIs verwendet werden, müssen Sie die Anwendungseinschränkung Websites festlegen.

Legen Sie sie für Websites fest, für die folgende JavaScript-Dienste und APIs verwendet werden:

1 Für Apps sollten Sie die Verwendung des nativen Maps SDK for Android bzw. Maps SDK for iOS in Betracht ziehen.

2 Weitere Informationen finden Sie unter Mobile Apps schützen, für die Web Service oder Static Web APIs verwendet werden.

Websites mit der Maps Embed API

Auch wenn die Nutzung der Maps Embed API kostenlos ist, sollten Sie alle verwendeten API-Schlüssel einschränken, um einen Missbrauch in anderen Diensten zu verhindern.

Best Practice: Erstellen Sie einen separaten Schlüssel für die Maps Embed API und schränken Sie ihn ausschließlich auf die Maps Embed API ein. Durch diese Einschränkung wird der Schlüssel hinreichend abgesichert und seine nicht autorisierte Verwendung in anderen Google-Diensten verhindert.

Wenn Sie keinen separaten API-Schlüssel für die Nutzung der Maps Embed API erstellen können, sichern Sie Ihren Schlüssel mit der Anwendungseinschränkung Websites ab.

Anwendungen und Server, für die Webdienste verwendet werden

Legen Sie für Anwendungen und Server, für die Webdienste verwendet werden, die Anwendungseinschränkung IP addresses fest.

Legen Sie sie für Anwendungen und Server fest, für die folgende APIs verwendet werden:

3 Für mobile Apps bietet sich auch das native Places SDK for Android und Places SDK for iOS an.

Android-Apps

Arbeiten Sie bei Apps unter Android mit der Anwendungseinschränkung Android apps. Nutzen Sie diese Einschränkung auch bei Apps und Servern, für die folgende SDKs verwendet werden:

Verhindern Sie außerdem die versehentliche Übernahme von API-Schlüsseln in die Versionsverwaltung, indem Sie mit dem Secrets Gradle-Plug-in Secrets aus einer lokalen Datei einschleusen, anstatt sie im Android-Manifest zu hinterlegen.

iOS-Apps

Arbeiten Sie bei Apps unter iOS mit der Anwendungseinschränkung iOS apps. Nutzen Sie diese Einschränkung auch bei Apps und Servern, für die folgende SDKs verwendet werden: