API-Schlüssel verwenden

Auf dieser Seite wird beschrieben, wie Sie API-Schlüssel in API Gateway verwenden.

Ein API-Schlüssel ist ein einfacher String, der ein Google Cloud-Projekt zu Kontingent-, Abrechnungs- und Monitoringzwecken identifiziert. Ein Entwickler generiert in einem Projekt in der Google Cloud Console einen API-Schlüssel und bettet ihn in jeden Aufruf Ihrer API als Abfrageparameter oder in einen Anfrageheader ein.

Wenn Sie in der API-Konfiguration das Anfordern von API-Schlüsseln festlegen, verwendet API Gateway den API-Schlüssel, um das zugehörige Google Cloud-Projekt zu suchen. API Gateway lehnt Anfragen ab, es sei denn, der API-Schlüssel wurde in Ihrem Google Cloud-Projekt oder in anderen Google Cloud-Projekten generiert, in denen die API aktiviert wurde.

Wenn Sie einen API-Schlüssel erstellen oder bereits in Ihrem Google Cloud-Projekt verfügbare API-Schlüssel aufrufen möchten, rufen Sie die Seite APIs und Dienste > Anmeldedaten auf.

Zu den Anmeldedaten

Anwendungsfall

Wenn Sie API Gateway-Funktionen wie quotas verwenden möchten, können Sie einen API-Schlüssel übergeben, damit API Gateway das Google Cloud-Projekt identifizieren kann, mit dem die Clientanwendung verknüpft ist.

Authentifizierung mit API-Schlüssel für API Gateway

Wenn Sie für die Authentifizierung einen API-Schlüssel verwenden, müssen Sie zuerst die Unterstützung für API-Schlüssel für Ihren Dienst aktivieren.

Geben Sie den folgenden Befehl ein:

gcloud services enable MANAGED_SERVICE_NAME

MANAGED_SERVICE_NAME gibt den Namen des verwalteten Dienstes an, der beim Bereitstellen der API erstellt wurde. Sie finden diesen Namen für Ihre API auf der API-Landingpage in der Console in der Spalte „Verwalteter Dienst“. Alternativ finden Sie diesen Namen im Attribut Managed service mit dem Befehl gcloud api-gateway apis describe.

Beispiel:

gcloud services enable my-api-a12bcd345e67f89g0h.apigateway.my-project.cloud.goog

API-Schlüssel einschränken

API-Schlüssel sind standardmäßig uneingeschränkt. Uneingeschränkte Schlüssel sind unsicher, da sie von jedem beliebigen Nutzer verwendet werden können. Wir empfehlen, nach Möglichkeit API-Einschränkungen festzulegen. 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 festgelegt sein.

So fügen Sie API-Einschränkungen hinzu:

  1. Suchen Sie den Titel der API, der in Ihrer API-Konfiguration angegeben ist. Im folgenden Beispiel lautet der API-Titel My Example Config:

    # openapi.yaml
    swagger: '2.0'
    info:
      title: My Example Config
      description: Sample API on API Gateway
      version: 1.0.0
    ...
    
  2. Rufen Sie in der Google Cloud Console die Seite APIs und Dienste > Anmeldedaten auf.

    Zu den Anmeldedaten

  3. Wählen Sie den Namen des API-Schlüssels aus, den Sie für die API verwenden möchten.

  4. Klicken Sie auf der Detailseite des API-Schlüssels im Abschnitt API-Einschränkungen auf Schlüssel einschränken.

  5. Wählen Sie aus der Drop-down-Liste der verfügbaren APIs die API aus, für die Sie mit Ihrem API-Schlüssel zugreifen möchten. Wenn Sie beispielsweise die obige Beispielkonfiguration verwenden, wählen Sie My Example Config aus.

  6. Klicken Sie auf Speichern.

Die Einschränkung tritt in Kürze in Kraft.