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.
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:
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 ...
Rufen Sie in der Google Cloud Console die Seite APIs und Dienste > Anmeldedaten auf.
Wählen Sie den Namen des API-Schlüssels aus, den Sie für die API verwenden möchten.
Klicken Sie auf der Detailseite des API-Schlüssels im Abschnitt API-Einschränkungen auf Schlüssel einschränken.
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.Klicken Sie auf Speichern.
Die Einschränkung tritt in Kürze in Kraft.