Mit API-Schlüsseln authentifizieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite wird beschrieben, wie Sie sich mit API-Schlüsseln bei Google Cloud APIs und -Diensten authentifizieren.

Informationen zur Verwendung von API-Schlüsseln zur Authentifizierung bei der Google Maps Platform finden Sie in der Google Maps Platform-Dokumentation.

Weitere Informationen zur API Keys API finden Sie in der API Keys-Dokumentation.

Einführung in API-Schlüssel

Ein API-Schlüssel besteht aus den folgenden Komponenten, die Sie zur Verwaltung und Verwendung des Schlüssels verwenden:

String
Der API-Schlüsselstring ist ein verschlüsselter String, z. B. AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Wenn Sie einen API-Schlüssel zur Authentifizierung verwenden, verwenden Sie immer den String des Schlüssels. API-Schlüsseln ist keine JSON-Datei zugeordnet.
ID
Die API-Schlüssel-ID wird von Google Cloud-Verwaltungstools verwendet, um den Schlüssel eindeutig zu identifizieren. Die Schlüssel-ID kann nicht zur Authentifizierung verwendet werden. Sie finden die Schlüssel-ID in der URL der Bearbeitungsseite des Schlüssels in der Google Cloud Console oder mithilfe der Google Cloud CLI, um die Schlüssel in Ihrem Projekt aufzulisten.
Anzeigename
Der Anzeigename ist ein optionaler, beschreibender Name für den Schlüssel, den Sie beim Erstellen oder Aktualisieren des Schlüssels festlegen können.

Wenn Sie einen API-Schlüssel für die Authentifizierung bei einer API verwenden, identifiziert der API-Schlüssel kein Hauptkonto und stellt keine Autorisierungsinformationen bereit. Der API-Schlüssel verknüpft die Anfrage mit dem Google Cloud-Projekt zu Abrechnungs- und Kontingentzwecken. Da API-Schlüssel den Aufrufer nicht identifizieren, werden sie in der Regel für den Zugriff auf öffentliche Daten oder Ressourcen verwendet.

Viele Google Cloud APIs akzeptieren keine API-Schlüssel für die Authentifizierung. Lesen Sie die Authentifizierungsdokumentation für den Dienst oder die API, die Sie verwenden möchten, um festzustellen, ob sie API-Schlüssel unterstützt.

Zum Verwalten von API-Schlüsseln benötigen Sie die Rolle "API-Schlüssel-Administrator" (roles/serviceusage.apiKeysAdmin) für das Projekt.

API-Schlüssel erstellen

Verwenden Sie eine der folgenden Optionen, um einen API-Schlüssel zu erstellen:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie im Drop-down-Menü API-Schlüssel aus.

    Das Dialogfeld API-Schlüssel erstellt enthält den String für den neu erstellten Schlüssel.

gcloud

Verwenden Sie zum Erstellen eines API-Schlüssels den Befehl gcloud alpha services api-keys create.

Ersetzen Sie DISPLAY_NAME durch einen aussagekräftigen Namen für Ihren Schlüssel.

gcloud alpha services api-keys create --display-name=DISPLAY_NAME

REST

Verwenden Sie die Methode keys.create, um einen API-Schlüssel zu erstellen. Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um die Informationen für den neuen Schlüssel abzurufen.

Ersetzen Sie die folgenden Werte:

  • DISPLAY_NAME: Optional. Ein beschreibender Name für Ihren Schlüssel.
  • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d {'"displayName" : "DISPLAY_NAME"'} \
"https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"

Weitere Informationen zum Erstellen von API-Schlüsseln mithilfe der REST API finden Sie in der API-API-Dokumentation unter API-Schlüssel erstellen.

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

API-Schlüssel verwenden

Sie können API-Schlüssel mit REST-Anfragen und mit Clientbibliotheken verwenden, die diese unterstützen.

API-Schlüssel mit REST verwenden

Sie können den API-Schlüssel als Abfrageparameter in einem REST API-Aufruf mit dem folgenden Format übergeben. Ersetzen Sie API_KEY durch den Schlüsselstring Ihres API-Schlüssels.

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

Alternativ können Sie den Header x-goog-api-key verwenden, um Ihren Schlüssel zu übergeben. Dieser Header muss mit gRPC-Anfragen verwendet werden.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-goog-api-key: API_KEY" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://translation.googleapis.com/language/translate/v2"

API-Schlüssel mit Clientbibliotheken verwenden

Wenn die API eines Dienstes API-Schlüssel unterstützt, unterstützt die Clientbibliothek für diesen Dienst normalerweise API-Schlüssel. Lesen Sie in der Dokumentation zur Clientbibliothek nach, ob die Methode zur Clienterstellung einen API-Schlüssel akzeptiert.

API-Schlüssel sichern

Wenn Sie API-Schlüssel in Ihren Anwendungen verwenden, achten Sie darauf, dass sie sowohl beim Speichern als auch bei der Übertragung sicher sind. Wenn Sie Ihre API-Schlüssel öffentlich freigeben, kann dies zu unerwarteten Kosten in Ihrem Konto führen. Sie sollten diese Best Practices befolgen, um die Sicherheit Ihrer API-Schlüssel zu wahren:

  • Fügen Sie Ihrem Schlüssel API-Schlüsseleinschränkungen hinzu.

    Durch Hinzufügen von Einschränkungen können Sie die Verwendung eines API-Schlüssels einschränken und so die Auswirkungen eines manipulierten API-Schlüssels reduzieren.

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

  • Erstellen Sie Ihre API-Schlüssel regelmäßig neu.

    Sie sollten regelmäßig neue API-Schlüssel erstellen, die alten Schlüssel löschen und Ihre Anwendungen aktualisieren, um die neuen API-Schlüssel zu verwenden.

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

API-Schlüssel sind standardmäßig uneingeschränkt. Uneingeschränkte Schlüssel sind unsicher, da sie von jedem beliebigen Nutzer verwendet werden können. Für Produktionsanwendungen sollten Sie sowohl Anwendungseinschränkungen als auch API-Einschränkungen festlegen.

Einschränkungen für Anwendungen hinzufügen

Anwendungseinschränkungen geben an, welche Websites, IP-Adressen oder Anwendungen einen API-Schlüssel verwenden dürfen.

Sie können jeweils nur einen Einschränkungstyp einer Anwendung anwenden. Wählen Sie den für Ihren Anwendungstyp geeigneten Einschränkungstyp aus.

Wahltaste Anwendungstyp Hinweise
HTTP-Verweis-URLs Webanwendungen Gibt die Websites an, die den Schlüssel verwenden können.
IP-Adressen Von bestimmten Servern aufgerufene Anwendungen Gibt die Server oder Cronjobs an, die den Schlüssel verwenden können.
Android-Apps Android-Anwendungen Gibt die Android-Anwendung an, die den Schlüssel verwenden kann.
iOS-Apps iOS-Anwendungen Gibt die iOS-Bundles an, die den Schlüssel verwenden können.

HTTP-Verweis-URLs

Um die Websites einzuschränken, die Ihren API-Schlüssel verwenden können, fügen Sie eine oder mehrere HTTP-Verweis-URLs hinzu.

Sie können das Platzhalterzeichen (*) durch das Platzhalterzeichen oder den Pfad ersetzen, aber nicht in der Mitte der URL ein Platzhalterzeichen einfügen. *.google.com ist beispielsweise gültig und akzeptiert alle Websites, die auf .google.com enden. mysubdomain*.google.com ist jedoch keine gültige Einschränkung.

In den HTTP-Verweiseinschränkungen können Portnummern enthalten sein. Wenn Sie eine Portnummer angeben, werden nur Anfragen zugeordnet, die diesen Port verwenden. Wenn Sie keine Portnummer angeben, werden Anfragen von einer beliebigen Portnummer abgeglichen.

Sie können einem API-Schlüssel bis zu 1.200 HTTP-Verweis-URLs hinzufügen

Die folgende Tabelle enthält einige Beispielszenarien und Browsereinschränkungen:

Szenario Einschränkungen
Bestimmte URL zulassen Fügen Sie eine URL mit einem genauen Pfad hinzu. Beispiel:
www.example.com/path
www.example.com/path/path
Eine beliebige URL auf Ihrer Website zulassen Sie müssen zwei URLs in der Liste "allowedReferers" festlegen.
  1. URL für die Domain ohne Subdomain und mit einem Platzhalter für den Pfad. Beispiel:
    example.com/*
  2. Eine zweite URL, die einen Platzhalter für die Subdomain und einen Platzhalter für den Pfad enthält. Beispiel:
    *.example.com/*
Eine beliebige URL in einer einzelnen Subdomain oder einer Grunddomain zulassen

Sie müssen zwei URLs in der Liste "allowedReferers" festlegen, um eine gesamte Domain zuzulassen:

  1. URL für die Domain ohne abschließenden Schrägstrich. Beispiel:
    www.example.com
    sub.example.com
    example.com
  2. Eine zweite URL für die Domain, die einen Platzhalter für den Pfad enthält. Beispiel:
    www.example.com/*
    sub.example.com/*
    example.com/*

Verwenden Sie eine der folgenden Optionen, um Ihren API-Schlüssel auf bestimmte Websites zu beschränken:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie einschränken möchten.

  3. Wählen Sie unter Anwendungseinschränkungen die Option HTTP-Verweis-URLs aus.

  4. Klicken Sie für jede gewünschte Einschränkung auf Element hinzufügen, geben Sie die Einschränkung ein und klicken Sie auf Fertig.

  5. Klicken Sie auf Speichern, um die Änderungen zu speichern und zur API-Schlüsselliste zurückzukehren.

gcloud

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie können die ID abrufen, indem Sie mit dem Befehl gcloud services api-keys list die Schlüssel in Ihrem Projekt auflisten.

  2. Verwenden Sie den Befehl gcloud alpha services api-keys update, um einem API-Schlüssel Einschränkungen für HTTP-Verweis-URLs hinzuzufügen.

    Ersetzen Sie die folgenden Werte:

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.
    • ALLOWED_REFERRER_1: Ihre HTTP-Verweis-URL.

      Sie können beliebig viele Einschränkungen hinzufügen. Verwenden Sie Kommas, um die Einschränkungen zu trennen. Sie müssen alle Verweiseinschränkungen mit dem Befehl "update" angeben. Die Verweiseinschränkungen, die aufgehoben wurden, ersetzen alle vorhandenen Verweiseinschränkungen für den Schlüssel.

    gcloud alpha services api-keys update KEY_ID \
     --allowed-referrers="ALLOWED_REFERRER_1"
    

REST

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie erhalten die ID, indem Sie die Methode keys.list verwenden. Die ID wird im Feld uid der Antwort aufgeführt.

    Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID oder den Projektnamen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Verwenden Sie die Methode keys.patch, um dem API-Schlüssel Einschränkungen für HTTP-Verweis-URLs hinzuzufügen.

    Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um festzustellen, wann der Vorgang abgeschlossen ist, und den Vorgangsstatus abzurufen.

    Ersetzen Sie die folgenden Werte:

    • ALLOWED_REFERRER_1: Ihre HTTP-Verweis-URL.

      Sie können beliebig viele Einschränkungen hinzufügen. Verwenden Sie Kommas, um die Einschränkungen zu trennen. Sie müssen alle Verweiseinschränkungen in der Anfrage angeben Die angegebenen Verweiseinschränkungen ersetzen alle vorhandenen Verweiseinschränkungen für den Schlüssel.

    • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "browserKeyRestrictions": {
      "allowedReferrers": ["ALLOWED_REFERRER_1"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Weitere Informationen zum Hinzufügen von HTTP-Verweiseinschränkungen zu einem Schlüssel mithilfe der REST API finden Sie in der Dokumentation zur API Key API unter Browsereinschränkungen hinzufügen.

IP-Adressen

Sie können eine oder mehrere IP-Adressen der Aufrufer angeben, z. B. Webserver oder Cronjobs, die Ihren API-Schlüssel verwenden dürfen. Sie können die IP-Adressen in einem der folgenden Formate angeben:

  • IPv4 (198.51.100.1)
  • IPv6 (2001:db8::1)
  • Ein Subnetz mit CIDR-Notation (198.51.100.0/24, 2001:db8::/64)

Die Verwendung von localhost wird für Servereinschränkungen nicht unterstützt. Geben Sie eine externe IP-Adresse an.

Verwenden Sie eine der folgenden Optionen, um den API-Schlüssel auf bestimmte IP-Adressen zu beschränken:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie einschränken möchten.

  3. Wählen Sie unter Anwendungseinschränkungen die Option IP-Adressen aus.

  4. Klicken Sie für jede IP-Adresse, die Sie hinzufügen möchten, auf Element hinzufügen, geben Sie die Adresse ein und klicken Sie auf Fertig.

  5. Klicken Sie auf Speichern, um die Änderungen zu speichern und zur API-Schlüsselliste zurückzukehren.

gcloud

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie können die ID abrufen, indem Sie mit dem Befehl gcloud services api-keys list die Schlüssel in Ihrem Projekt auflisten.

  2. Verwenden Sie den Befehl gcloud alpha services api-keys update, um einem API-Schlüssel Server-IP-Einschränkungen hinzuzufügen.

    Ersetzen Sie die folgenden Werte:

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.
    • ALLOWED_IP_ADDR_1: ist Ihre zulässige IP-Adresse.

      Sie können beliebig viele IP-Adressen hinzufügen. Verwenden Sie Kommas, um die Adressen zu trennen.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-ips="ALLOWED_IP_ADDR_1"
    

REST

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie erhalten die ID, indem Sie die Methode keys.list verwenden. Die ID wird im Feld uid der Antwort aufgeführt.

    Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID oder den Projektnamen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Verwenden Sie die Methode keys.patch, um einem API-Schlüssel Servereinschränkungen (IP-Adresse) hinzuzufügen.

    Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um festzustellen, wann der Vorgang abgeschlossen ist, und den Vorgangsstatus abzurufen.

    Ersetzen Sie die folgenden Werte:

    • ALLOWED_IP_ADDR_1: ist Ihre zulässige IP-Adresse.

      Sie können beliebig viele IP-Adressen hinzufügen. Verwenden Sie Kommas, um die Einschränkungen zu trennen. Sie müssen alle IP-Adressen mit der Anfrage angeben. Die angegebenen Einschränkungen für Verweis-URLs ersetzen vorhandene IP-Adressbeschränkungen für den Schlüssel.

    • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
      "serverKeyRestrictions": {
        "allowedIps": ["ALLOWED_IP_ADDR_1"]
      }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Weitere Informationen zum Hinzufügen von IP-Adressbeschränkungen für einen Schlüssel mithilfe der REST API finden Sie in der API Key API-Dokumentation unter Servereinschränkungen hinzufügen.

Android-Apps

Sie können die Verwendung eines API-Schlüssels auf bestimmte Android-Apps beschränken. Sie müssen den Paketnamen und den 20-Byte-SHA1-Zertifikatfingerabdruck für jede Anwendung angeben.

Verwenden Sie eine der folgenden Optionen, um Ihren API-Schlüssel auf eine oder mehrere Android-Apps zu beschränken:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie einschränken möchten.

  3. Wählen Sie unter Anwendungseinschränkungen die Option Android-Apps aus

  4. Klicken Sie für jede Android-App, die Sie hinzufügen möchten, auf Element hinzufügen, geben Sie den Paketnamen und den SHA1-Zertifikat-Fingerabdruck ein und klicken Sie auf Fertig.

  5. Klicken Sie auf Speichern, um die Änderungen zu speichern und zur API-Schlüsselliste zurückzukehren.

gcloud

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie können die ID abrufen, indem Sie mit dem Befehl gcloud services api-keys list die Schlüssel in Ihrem Projekt auflisten.

  2. Geben Sie mit dem Befehl gcloud alpha services api-keys update die Android-Apps an, die einen API-Schlüssel verwenden können.

    Ersetzen Sie die folgenden Werte:

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.
    • SHA1_FINGERPRINT und PACKAGE_NAME: Die App-Informationen für eine Android-App, die den Schlüssel verwenden kann.

      Sie können beliebig viele Anwendungen hinzufügen. Verwenden Sie zusätzliche --allowed-application-Flags.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
    

REST

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie erhalten die ID, indem Sie die Methode keys.list verwenden. Die ID wird im Feld uid der Antwort aufgeführt.

    Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID oder den Projektnamen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Verwenden Sie die Methode keys.patch, um die Android-Apps anzugeben, die einen API-Schlüssel verwenden können.

    Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um festzustellen, wann der Vorgang abgeschlossen ist, und den Vorgangsstatus abzurufen.

    Ersetzen Sie die folgenden Werte:

    • SHA1_FINGERPRINT_1 und PACKAGE_NAME_1: Die App-Informationen für eine Android-App, die den Schlüssel verwenden kann.

      Sie können die Informationen für so viele Anwendungen wie nötig hinzufügen. Verwenden Sie Kommas, um die AndroidApplication-Objekte zu trennen. Sie müssen alle Anwendungen mit der Anfrage bereitstellen. Die bereitgestellten Anwendungen ersetzen alle vorhandenen zulässigen Anwendungen für den Schlüssel.

    • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "androidKeyRestrictions": {
      "allowedApplications": [
        {
          "sha1Fingerprint": "SHA1_FINGERPRINT_1",
          "packageName": "PACKAGE_NAME_1"
        },
     ]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Weitere Informationen zum Hinzufügen von Einschränkungen für Android-Apps zu einem Schlüssel mithilfe der REST API finden Sie in der API Key-API-Dokumentation unter Android-Einschränkungen hinzufügen.

iOS-Apps

Sie können die Nutzung eines API-Schlüssels auf bestimmte iOS-Apps beschränken, indem Sie die Bundle-ID der einzelnen Apps angeben.

Verwenden Sie eine der folgenden Optionen, um Ihren API-Schlüssel auf eine oder mehrere iOS-Apps zu beschränken:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie einschränken möchten.

  3. Wählen Sie unter Anwendungseinschränkungen die Option iOS-Apps aus.

  4. Klicken Sie für jede iOS-App, die Sie hinzufügen möchten, auf Element hinzufügen, geben Sie die Bundle-ID ein und klicken Sie dann auf Fertig.

  5. Klicken Sie auf Speichern, um die Änderungen zu speichern und zur API-Schlüsselliste zurückzukehren.

gcloud

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie können die ID abrufen, indem Sie mit dem Befehl gcloud services api-keys list die Schlüssel in Ihrem Projekt auflisten.

  2. Mit der Methode gcloud alpha services api-keys update können Sie die iOS-Apps festlegen, die den Schlüssel verwenden können.

    Ersetzen Sie die folgenden Werte:

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.
    • ALLOWED_BUNDLE_ID: Die Bundle-ID einer iOS-App, die diesen API-Schlüssel verwenden soll.

      Sie können beliebig viele Bundle-IDs hinzufügen. Verwenden Sie Kommas, um die IDs zu trennen.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
    

REST

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie erhalten die ID, indem Sie die Methode keys.list verwenden. Die ID wird im Feld uid der Antwort aufgeführt.

    Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID oder den Projektnamen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Verwenden Sie die Methode keys.patch, um die Android-Apps anzugeben, die einen API-Schlüssel verwenden können.

    Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um festzustellen, wann der Vorgang abgeschlossen ist, und den Vorgangsstatus abzurufen.

    Ersetzen Sie die folgenden Werte:

    • ALLOWED_BUNDLE_ID: Die Bundle-ID einer iOS-App, die den Schlüssel verwenden kann.

      Sie können die Informationen für so viele Anwendungen wie nötig hinzufügen. Verwenden Sie Kommas, um die Bundle-IDs zu trennen. Sie müssen alle Bundle-IDs mit der Anfrage angeben. Die angegebenen Bundle-IDs ersetzen alle vorhandenen zulässigen Anwendungen für den Schlüssel.

    • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "iosKeyRestrictions": {
      "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Weitere Informationen zum Hinzufügen von iOS-App-Einschränkungen zu einem Schlüssel mithilfe der REST API finden Sie unter iOS-Einschränkungen hinzufügen in der API Key API-Dokumentation.

API-Einschränkungen hinzufügen

API-Einschränkungen geben an, welche APIs mit dem API-Schlüssel aufgerufen werden können.

Verwenden Sie eine der folgenden Optionen, um API-Einschränkungen hinzuzufügen:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie einschränken möchten.

  3. Klicken Sie im Abschnitt API-Einschränkungen auf Schlüssel einschränken.

  4. Wählen Sie aus dem Drop-down-Menü alle APIs aus, für die Ihr API-Schlüssel verwendet wird.

  5. Klicken Sie auf Speichern, um die Änderungen zu speichern und zur API-Schlüsselliste zurückzukehren.

gcloud

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie können die ID abrufen, indem Sie mit dem Befehl gcloud services api-keys list die Schlüssel in Ihrem Projekt auflisten.

  2. Geben Sie mit dem Befehl gcloud alpha services api-keys update an, für welche Dienste ein API-Schlüssel zur Authentifizierung verwendet werden kann.

    Ersetzen Sie die folgenden Werte:

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.
    • SERVICE_1, SERVICE_2...: Die Dienstnamen der APIs, auf die der Schlüssel zugreifen kann.

      Sie müssen alle Dienstnamen mit dem Befehl "update" angeben. Ersetzen Sie durch die bereitgestellten Dienstnamen alle vorhandenen Dienste für den Schlüssel.

    Sie finden den Dienstnamen, indem Sie im API-Dashboard nach der API suchen. Dienstnamen sind Strings wie bigquery.googleapis.com.

    gcloud alpha services api-keys update KEY_ID \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

REST

  1. Rufen Sie die ID des Schlüssels ab, den Sie einschränken möchten.

    Die ID ist nicht mit dem Anzeigenamen oder dem Schlüsselstring identisch. Sie erhalten die ID, indem Sie die Methode keys.list verwenden. Die ID wird im Feld uid der Antwort aufgeführt.

    Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID oder den Projektnamen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Verwenden Sie die Methode keys.patch, um anzugeben, für welche Dienste ein API-Schlüssel zur Authentifizierung verwendet werden kann.

    Diese Anfrage gibt einen Vorgang mit langer Ausführungszeit zurück. Sie müssen den Vorgang abfragen, um festzustellen, wann der Vorgang abgeschlossen ist, und den Vorgangsstatus abzurufen.

    Ersetzen Sie die folgenden Werte:

    • SERVICE_1, SERVICE_2...: Die Dienstnamen der APIs, mit denen dieser Schlüssel verwendet werden soll.

      Sie müssen alle Dienstnamen mit der Anfrage angeben. Ersetzen Sie durch die bereitgestellten Dienstnamen alle vorhandenen Dienste für den Schlüssel.

      Sie finden den Dienstnamen, indem Sie im API-Dashboard nach der API suchen. Dienstnamen sind Strings wie bigquery.googleapis.com.

    • PROJECT_ID: Ihre Google Cloud-Projekt-ID oder Ihr Name.

    • KEY_ID: Die ID des Schlüssels, den Sie einschränken möchten.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "apiTargets": [
      {
        "service": "SERVICE_1"
      },
      {
        "service" : "SERVICE_2"
      },
    ]
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Weitere Informationen zum Hinzufügen von API-Einschränkungen zu einem Schlüssel mithilfe der REST API finden Sie unter API-Einschränkungen hinzufügen in der API Key API-Dokumentation.

Projektinformationen aus einem Schlüsselstring abrufen

Wenn Sie einen Schlüsselstring haben und ermitteln möchten, mit welchem Google Cloud-Projekt es verknüpft ist, können Sie Informationen aus dem Schlüsselstring abrufen.

Ersetzen Sie KEY_STRING durch den Schlüsselstring, für den Sie Projektinformationen benötigen.

gcloud

Verwenden Sie den Befehl gcloud alpha services api-keys lookup, um die Projekt-ID aus einem Schlüsselstring abzurufen.

gcloud alpha services api-keys lookup KEY_STRING

REST

Verwenden Sie die Methode lookupKey, um die Projekt-ID aus einem Schlüsselstring abzurufen.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING"

Vorgänge mit langer Ausführungszeit abfragen

API Key API-Methoden verwenden Vorgänge mit langer Ausführungszeit. Wenn Sie die REST API zum Erstellen und Verwalten von API-Schlüsseln verwenden, wird von der ersten Methodenanfrage ein Vorgangsobjekt zurückgegeben. Sie verwenden den Vorgangsnamen, um den Vorgang mit langer Ausführungszeit abzufragen. Wenn die Anfrage mit langer Ausführungszeit abgeschlossen ist, werden durch die Abfrage die Daten der Anfrage mit langer Ausführungszeit zurückgegeben.

Zum Abfragen eines lange laufenden API Key API-Vorgangs verwenden Sie die Methode operations.get.

Ersetzen Sie OPERATION_NAME durch den Vorgangsnamen, der vom lang andauernden Vorgang zurückgegeben wird. Beispiel: operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://apikeys.googleapis.com/v2/OPERATION_NAME"

Limits für API-Schlüssel

Sie können bis zu 300 API-Schlüssel pro Projekt erstellen. Dies ist ein Systemlimit, das mithilfe einer Anfrage zur Kontingenterhöhung nicht geändert werden kann.

Wenn mehr API-Schlüssel erforderlich sind, müssen Sie mehrere Projekte verwenden.

Nächste Schritte