API-Schlüssel verwenden

In dieser Anleitung wird beschrieben, wie für GCP-Anwendungen API-Schlüssel erstellt und API-Schlüsseleinschränkungen eingerichtet werden. Weitere Informationen zur Authentifizierung bei einer GCP API finden Sie unter Authentifizierungsübersicht. Informationen zum Einrichten von API-Schlüsseln für Google Maps finden Sie in der Google Maps-Dokumentation.

API-Schlüssel sind einfache verschlüsselte Strings, die beim Aufruf bestimmter APIs verwendet werden können, die nicht auf private Nutzerdaten zugreifen müssen. Besonders nützlich sind sie in Clients wie Browsern und mobilen Anwendungen ohne Back-End-Server. Der API-Schlüssel wird verwendet, um für Kontingente und die Abrechnung mit Ihrem Projekt verbundene API-Anfragen zu verfolgen.

Für API-Schlüssel gelten wichtige Einschränkungen wie die folgenden.

Aus diesem Grund empfehlen wir die Verwendung des Standard-Authentifizierungsvorgangs. Es gibt jedoch einige wenige Fälle, in denen API-Schlüssel geeigneter sind. Wenn Sie beispielsweise eine mobile Anwendung entwickeln, die die Google Cloud Translation API verwenden muss, aber keinen Back-End-Server benötigt, sind API-Schlüssel die einfachste Möglichkeit, sich bei dieser API zu authentifizieren. In den meisten Fällen empfehlen wir, dass Ihre Anwendung mit einem Back-End-Server kommuniziert, der die Authentifizierung und den Aufruf von Google Cloud Platform-Diensten übernimmt.

API-Schlüssel erstellen

Ihrem Konto muss die einfache Rolle Bearbeiter (roles/editor) im aktuellen Projekt zugewiesen sein, um einen API-Schlüssel zu erstellen. Weitere Informationen finden Sie unter Einfache Rollen.

So erstellen Sie einen API-Schlüssel:

  1. Rufen Sie in der GCP Console APIs & Dienste → Anmeldedaten auf.

  2. Wählen Sie Anmeldedaten erstellen und dann aus dem Drop-down-Menü die Option API-Schlüssel.

  3. Klicken Sie auf Erstellen. Das Dialogfeld API-Schlüssel erstellt enthält den neu erstellten Schlüssel.

Sie sollten den Schlüssel kopieren und sicher aufbewahren. Wenn Sie keinen Testschlüssel verwenden, den Sie später wieder löschen, fügen Sie Einschränkungen für Anwendungen und API-Schlüssel hinzu.

API-Schlüssel verwenden

Übergeben Sie den API-Schlüssel als Suchparameter in einem REST API-Aufruf mit dem folgenden Format. Ersetzen Sie dabei API_KEY durch Ihren API-Schlüssel:

key=API_KEY

So übergeben Sie beispielsweise einen API-Schlüssel für eine Cloud Natural Language API-Anfrage für documents.analyzeEntities:

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

API-Schlüssel sichern

Wenn Sie API-Schlüssel in Ihren Anwendungen verwenden, achten Sie auf deren Sicherheit. Wenn Sie Ihre Anmeldedaten öffentlich preisgeben, gefährden Sie damit möglicherweise Ihr Konto, was zu unerwarteten Belastungen ihres Kontos führen könnte. Sie sollten diese Best Practices befolgen, um die Sicherheit Ihrer API-Schlüssel zu wahren:

  • Betten Sie API-Schlüssel nicht direkt in Code ein. In Code eingebettete API-Schlüssel können versehentlich öffentlich zugänglich gemacht werden. Dies kann beispielsweise geschehen, wenn Sie vergessen, die Schlüssel aus freigegebenem Code zu entfernen. Anstatt Ihre API-Schlüssel in Ihre Anwendungen einzubetten, sollten Sie sie in Umgebungsvariablen oder Dateien außerhalb der Quellstruktur der Anwendung speichern.

  • Speichern Sie API-Schlüssel nicht in Dateien in der Quellstruktur der Anwendung. Wenn Sie API-Schlüssel in Dateien speichern, sollten sich diese außerhalb der Quellstruktur der Anwendung befinden, um sicherzustellen, dass Ihre Schlüssel nicht im Verwaltungssystem des Quellcodes landen. Dies ist besonders wichtig, wenn Sie ein öffentliches Quellcode-Verwaltungssystem wie GitHub verwenden.

  • Richten Sie Einschränkungen für Anwendungen und API-Schlüssel ein. Durch Hinzufügen von Einschränkungen können Sie die Auswirkungen eines manipulierten API-Schlüssels reduzieren.

  • Löschen Sie nicht benötigte API-Schlüssel, um das Angriffsrisiko zu minimieren.

  • Generieren Sie Ihre API-Schlüssel regelmäßig neu. Klicken Sie dazu auf der Seite "Anmeldedaten" für jeden Schlüssel auf Schlüssel neu generieren. Aktualisieren Sie dann Ihre Anwendungen so, dass sie die neu generierten Schlüssel verwenden. Die alten Schlüssel funktionieren noch 24 Stunden, nachdem Sie Ersatzschlüssel generiert haben.

  • Überprüfen Sie Ihren Code, bevor Sie ihn veröffentlichen. Er sollte keine API-Schlüssel oder anderen privaten Informationen enthalten.

Einschränkungen zu API-Schlüsseln hinzufügen

API-Schlüssel sind standardmäßig uneingeschränkt. Uneingeschränkte Schlüssel sind nicht sicher, da sie öffentlich angezeigt werden können, zum Beispiel mit einem Browser, und auf Geräten zugänglich sind, auf denen sich solche Schlüssel befinden.

Legen Sie für Produktionsanwendungen sowohl Anwendungs- als auch API-Einschränkungen fest.

So richten Sie API-Schlüsseleinschränkungen ein:

  1. Rufen Sie in der GCP Console APIs & Dienste → Anmeldedaten auf.

  2. Wählen Sie den Namen eines vorhandenen API-Schlüssels aus. Sie finden den Abschnitt "Einschränkungen" am Ende der Seite.

    API-Schlüssel hinzufügen

Anwendungseinschränkungen

Anwendungseinschränkungen geben an, welche Websites, IP-Adressen oder Anwendungen einen API-Schlüssel verwenden können. Richten Sie Anwendungseinschränkungen je nach Art Ihrer Anwendung ein. Sie können nur einen Einschränkungstyp pro API-Schlüssel festlegen.

  1. Wählen Sie im Abschnitt Schlüsseleinschränkungen den Tab Anwendungseinschränkungen aus.

  2. Wählen Sie den für Ihre Anwendung geeigneten Einschränkungstyp aus. Wenn Sie für eine Einschränkung mehr als einen Wert hinzufügen möchten, geben Sie den ersten Wert ein und drücken die Eingabetaste. Wiederholen Sie den Vorgang, um weitere Werte hinzuzufügen.

    • Verwenden Sie Keine nur zu Testzwecken.

    • Verwenden Sie HTTP-Verweis-URLs für API-Clients, die in einem Webbrowser ausgeführt werden, damit nur die angegebenen Seiten die API aufrufen können. Da diese Arten von Anwendungen ihre API-Schlüssel veröffentlichen, sollten Sie ein Dienstkonto verwenden. Beispiele finden Sie unter HTTP-Einschränkungen hinzufügen.

    • Verwenden Sie IP-Adressen, um den Zugriff mit API-Schlüsseln auf bestimmte IP-Adressen zu beschränken.

    • Verwenden Sie Android-Apps für Android-Anwendungen. Diese Option erfordert das Einfügen Ihres Paketnamens und des SHA1-Signaturzertifikat-Fingerabdrucks.

    • Verwenden Sie iOS-Apps für iOS-Anwendungen. Für diese Option muss mindestens eine iOS-Bundle-ID hinzugefügt werden, um API-Aufrufe auf bestimmte iOS-Bundles zu beschränken.

  3. Klicken Sie auf Speichern.

HTTP-Einschränkungen hinzufügen

So richten Sie HTTP-Einschränkungen ein:

  • Geben Sie mindestens eine Einschränkung in das Formularfeld ein.

  • Wenn Ihre Domain sowohl HTTP als auch HTTPS unterstützt, müssen beide Einschränkungen separat hinzugefügt werden.

  • Zum Hinzufügen von mehreren Werten, geben Sie den ersten Wert ein und drücken Sie die Eingabetaste. Wiederholen Sie den Vorgang, um weitere Werte hinzuzufügen.

    Einschränkungen für HTTP-Verweis-URLs

  • Für die Subdomain und/oder den Pfad können Sie optional Platzhalterzeichen (*) verwenden.

Die folgende Tabelle zeigt Beispielszenarien und -einschränkungen, von der größtmöglichen Einschränkung bis zur minimalen Einschränkung. Wir empfehlen, das restriktivste Beispiel zu verwenden, das zu Ihrem Anwendungsfall passt.

Szenario Einschränkungen
Bestimmte URL zulassen

Fügen Sie eine einzelne Einschränkung mit einem genauen Pfad hinzu. Beispiel:

  • https://www.example.com/path
  • http://www.example.com/path/path
Eine beliebige URL in einer einzelnen Subdomain oder einer Grunddomain zulassen

Sie müssen mindestens zwei Einschränkungen festlegen, um eine gesamte Domain zuzulassen.

  1. Legen Sie eine Einschränkung für die Domain ohne den abschließenden Schrägstrich fest. Beispiel:
    • https://www.example.com
    • http://sub.example.com
    • http://example.com
  2. Legen Sie eine zweite Einschränkung für die Domain fest, die einen Platzhalter für den Pfad enthält. Beispiel:
    • https://www.example.com/*
    • http://sub.example.com/*
    • http://example.com/*
  3. Wenn Ihre Domain sowohl HTTP als auch HTTPS zulässt, müssen Sie zusätzliche Einschränkungen separat hinzufügen.
URLs für Subdomains in einer einzelnen Domain zulassen

Sie müssen mindestens zwei Einschränkungen festlegen.

  1. Legen Sie eine Einschränkung für die Domain mit einem Platzhalter für die Subdomain und ohne den abschließenden Schrägstrich fest. Beispiel:
    • https://*.example.com
  2. Legen Sie eine zweite Einschränkung für die Domain fest, die einen Platzhalter für den Pfad enthält. Beispiel:
    • https://*.example.com/*
  3. Wenn Ihre Domain sowohl HTTP als auch HTTPS zulässt, müssen Sie zusätzliche Einschränkungen separat hinzufügen.

API-Einschränkungen

API-Einschränkungen geben an, welche APIs mit dem API-Schlüssel aufgerufen werden können. Für alle API-Schlüssel, die in Produktionsanwendungen verwendet werden, sollten API-Einschränkungen eingerichtet sein.

So legen Sie API-Einschränkungen fest:

  1. Wählen Sie im Abschnitt Schlüsseleinschränkungen den Tab API-Einschränkungen aus.

  2. Wählen Sie einen API-Namen aus der Drop-down-Liste aus.

  3. Wiederholen Sie den vorherigen Schritt für alle APIs, die Ihr API-Schlüssel aufrufen soll.

  4. Klicken Sie auf Speichern.

Vorhandene API-Schlüssel anzeigen

Verwenden Sie die GCP-Konsole, um Ihre vorhandenen API-Schlüssel anzuzeigen. Rufen Sie in der GCP Console APIs & Dienste → Anmeldedaten auf. Hier werden die vorhandenen API-Schlüssel unter dem Header API-Schlüssel angezeigt.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Authentifizierung