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. Entwickler generieren einen API-Schlüssel in einem Projekt in der Google Cloud Console und betten diesen als Abfrageparameter oder in einen Anfrageheader in jeden Aufruf an die API 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 generell 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 sich API-Schlüssel ansehen möchten, die bereits in Ihrem Google Cloud-Projekt verfügbar sind, rufen Sie die Seite APIs & Dienste > Anmeldedaten auf.
Anwendungsfall
Wenn Sie API Gateway-Features wie Kontingente verwenden möchten, können Sie einen API-Schlüssel übergeben, damit API Gateway das Google Cloud-Projekt identifizieren kann, dem die Clientanwendung zugeordnet ist.
API-Schlüsselauthentifizierung für API Gateway
Wenn Sie einen API-Schlüssel für die Authentifizierung verwenden, müssen Sie zuerst die API-Schlüsselunterstützung für Ihren Dienst aktivieren.
Geben Sie den folgenden Befehl ein:
gcloud services enable MANAGED_SERVICE_NAME
MANAGED_SERVICE_NAME ist der Name des verwalteten Dienstes, der beim Bereitstellen der API erstellt wurde. Sie finden diesen Namen in der Spalte „Verwalteter Dienst“ für Ihre API auf der Landingpage der APIs in der Console. Alternativ können Sie diesen Namen in der Managed service
-Eigenschaft mit dem Befehl gcloud api-gateway apis describe
abrufen.
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 hinzuzufügen. 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 fügen Sie API-Einschränkungen hinzu:
Suchen Sie den Titel der API, wie in Ihrer API-Konfiguration angegeben. 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 Ihre API verwenden möchten.
Klicken Sie auf der Seite mit den Details zum API-Schlüssel im Abschnitt API-Einschränkungen auf Schlüssel einschränken.
Wählen Sie in der Drop-down-Liste der verfügbaren APIs die API aus, für die Ihr API-Schlüssel verwendet wird. Wählen Sie beispielsweise bei der obigen Beispielkonfiguration
My Example Config
aus.Klicken Sie auf Speichern.
Die Einschränkung sollte sofort wirksam werden.