Wählen Sie eine API Schlüsselquelle in API Gateway - APIAmazon-Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wählen Sie eine API Schlüsselquelle in API Gateway

Wenn Sie einen Nutzungsplan mit einer Methode verknüpfen API und API Schlüssel für API Methoden aktivieren, API muss jede eingehende Anfrage an die einen APISchlüssel enthalten. APIGateway liest den Schlüssel und vergleicht ihn mit den Schlüsseln im Nutzungsplan. Wenn es eine Übereinstimmung gibt, drosselt API Gateway die Anfragen auf der Grundlage des Anforderungslimits und des Kontingents des Plans. Andernfalls wird eine InvalidKeyParameter-Ausnahme ausgelöst. Dadurch erhält der Aufrufer eine 403 Forbidden-Antwort.

Ihr API Gateway API kann API Schlüssel aus einer von zwei Quellen empfangen:

HEADER

Sie verteilen API Schlüssel an Ihre Kunden und verlangen von ihnen, dass sie den API Schlüssel als X-API-Key Header jeder eingehenden Anfrage weitergeben.

AUTHORIZER

Sie lassen einen Lambda-Autorisierer den API Schlüssel als Teil der Autorisierungsantwort zurückgeben. Weitere Informationen zur Autorisierungsantwort finden Sie unter Ausgabe von einem API Gateway Lambda Authorizer.

Anmerkung

Zu berücksichtigende bewährte Methoden finden Sie unter Bewährte Methoden für API Schlüssel und Nutzungspläne.

Um mithilfe der Gateway-Konsole eine API Schlüsselquelle für eine API auszuwählen API
  1. Melden Sie sich bei der API Gateway-Konsole an.

  2. Wählen Sie ein vorhandenes API oder erstellen Sie ein neues.

  3. Wählen Sie im Hauptnavigationsbereich APIEinstellungen aus.

  4. Wählen Sie im APIDetailbereich Bearbeiten aus.

  5. Wählen Sie unter APISchlüsselquelle die Option Header oder Authorizer aus der Dropdownliste aus.

  6. Wählen Sie Änderungen speichern aus.

Um mithilfe API von eine API Schlüsselquelle für eine auszuwählen AWS CLI, rufen Sie den update-rest-apiBefehl wie folgt auf:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER

Damit der Client einen API Schlüssel einreicht, setzen Sie value den Wert HEADER im vorherigen CLI Befehl auf.

Rufen Sie restapi:updatewie folgt auf, um API mithilfe des API Gateways REST API eine API Schlüsselquelle für einen auszuwählen:

PATCH /restapis/fugvjdxtri/ HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T205348Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash} { "patchOperations" : [ { "op" : "replace", "path" : "/apiKeySource", "value" : "HEADER" } ] }

Damit ein Autorisierer einen API Schlüssel zurückgibt, setzen Sie AUTHORIZER in der vorherigen patchOperations Eingabe den Wert value auf.

Verwenden Sie je nach ausgewähltem API Schlüsselquellentyp eines der folgenden Verfahren, um beim Methodenaufruf Schlüssel aus dem Header oder vom Authorizer zurückgegebene API Schlüssel zu verwenden: API

Um API Schlüssel aus dem Header zu verwenden:
  1. Erstellen Sie eine API mit den gewünschten API Methoden und stellen Sie sie dann in einer API Phase bereit.

  2. Erstellen Sie einen neuen Nutzungsplan oder wählen Sie einen bereits vorhandenen Plan aus. Fügen Sie die bereitgestellte API Phase dem Nutzungsplan hinzu. Fügen Sie dem Nutzungsplan einen API Schlüssel hinzu oder wählen Sie einen vorhandenen API Schlüssel im Plan aus. Notieren Sie sich den ausgewählten API Schlüsselwert.

  3. Richten Sie API Methoden ein, für die ein API Schlüssel erforderlich ist.

  4. Stellen Sie das in API derselben Phase erneut bereit. Wenn Sie das API in einer neuen Phase bereitstellen, stellen Sie sicher, dass Sie den Nutzungsplan aktualisieren, um die neue API Phase anzuhängen.

Der Client kann jetzt die API Methoden aufrufen und gleichzeitig den x-api-key Header mit dem ausgewählten API Schlüssel als Header-Wert angeben.

Um Schlüssel zu verwenden, die vom Authorizer stammen: API
  1. Erstellen Sie eine API mit den gewünschten API Methoden und stellen Sie sie dann in einer Phase API bereit.

  2. Erstellen Sie einen neuen Nutzungsplan oder wählen Sie einen bereits vorhandenen Plan aus. Fügen Sie die bereitgestellte API Phase dem Nutzungsplan hinzu. Fügen Sie dem Nutzungsplan einen API Schlüssel hinzu oder wählen Sie einen vorhandenen API Schlüssel im Plan aus. Notieren Sie sich den ausgewählten API Schlüsselwert.

  3. Erstellen eines token-basierten Lambda-Genehmigers. usageIdentifierKey:{api-key} als Root-Level-Eigenschaft der Autorisierungsantwort einschließen. Anweisungen zum Erstellen eines Token-basierten Autorisierers finden Sie unter. Beispiel für eine TOKEN Autorisierungs-Lambda-Funktion

  4. Richten Sie API Methoden ein, die einen API Schlüssel erfordern, und aktivieren Sie den Lambda-Autorisierer auch für die Methoden.

  5. Stellen Sie die in derselben Phase API erneut bereit. Wenn Sie das API in einer neuen Phase bereitstellen, stellen Sie sicher, dass Sie den Nutzungsplan aktualisieren, um die neue API Phase anzuhängen.

Der Client kann jetzt die Methoden aufrufen, für die der API Schlüssel erforderlich ist, ohne explizit einen API Schlüssel anzugeben. Der vom Authorizer zurückgegebene Schlüssel wird automatisch verwendetAPI.