Auswählen einer API-Schlüsselquelle - Amazon API 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.

Auswählen einer API-Schlüsselquelle

Wenn Sie einen Nutzungsplan einer API zuordnen und API-Schlüssel bei API-Methoden aktivieren, muss jede eingehende API-Anfrage einen API-Schlüssel enthalten. API Gateway liest den Schlüssel und vergleicht ihn mit den Schlüsseln im Nutzungsplan. Wenn die Schlüssel übereinstimmen, werden die Anforderungen entsprechend der Anforderungslimits und des Kontingents des Plans von API Gateway gedrosselt. Andernfalls wird eine InvalidKeyParameter-Ausnahme ausgelöst. Dadurch erhält der Aufrufer eine 403 Forbidden-Antwort.

Ihre API Gateway-API kann API-Schlüssel aus einer von zwei Quellen erhalten:

HEADER

Sie verteilen API-Schlüssel an Ihre Kunden und erfordern die Übermittlung des API-Schlüssels als X-API-Key-Header bei jeder eingehenden Anforderung.

AUTHORIZER

Sie lassen einen Lambda-Genehmiger den API-Schlüssel im Rahmen 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.

So wählen Sie eine API-Schlüsselquelle für eine API über die API-Gateway-Konsole aus:
  1. Melden Sie sich bei der API Gateway-Konsole an.

  2. Wählen Sie eine vorhandene API oder erstellen Sie eine neue.

  3. Wählen Sie im Hauptnavigationsbereich API-Einstellungen.

  4. Wählen Sie im Abschnitt API-Details die Option Bearbeiten aus.

  5. Wählen Sie unter API-Schlüsselquelle die Option Header oder Authorizer aus der Drop-down-Liste aus.

  6. Wählen Sie Änderungen speichern aus.

Um mithilfe von eine API-Schlüsselquelle für eine API 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 sendet, legen Sie den value im vorherigen CLI-Befehl auf HEADER fest.

Wenn Sie eine API-Schlüsselquelle für eine API über die API Gateway-REST-API auswählen möchten, rufen Sie wie folgt restapi:update auf:

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 Genehmiger einen API-Schlüssel zurückgibt, legen Sie den value in der vorherigen AUTHORIZER-Eingabe auf patchOperations fest.

Abhängig von dem von Ihnen gewählten API-Schlüsselquelltyp verwenden Sie eines der folgenden Verfahren für die Verwendung eines Header-bezogenen API-Schlüssels oder eines vom Genehmiger zurückgegebenen API-Schlüssels für einen Methodenaufruf:

Um Header-bezogene API-Schlüssel zu verwenden:
  1. Erstellen Sie eine API mit den gewünschten API-Methoden und stellen Sie die API dann für eine Stufe bereit.

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

  3. Richten Sie API-Methoden ein, um einen API-Schlüssel zu fordern.

  4. Stellen Sie die API derselben Stufe bereit. Wenn Sie die API einer neuen Stufe bereitstellen, stellen Sie sicher, dass Sie den Nutzungsplan aktualisieren, um ihn der neuen API-Stufe zuzuordnen.

Der Client kann nun die API-Methoden aufrufen, während er den x-api-key-Header mit dem gewählten API-Schlüssel als Header-Wert bereitstellt.

Um Genehmiger-bezogene API-Schlüssel zu verwenden:
  1. Erstellen Sie eine API mit den gewünschten API-Methoden und stellen Sie die API dann für eine Stufe bereit.

  2. Erstellen Sie einen neuen Nutzungsplan oder wählen Sie einen bereits vorhandenen Plan aus. Fügen Sie die bereitgestellte API-Stufe dem Nutzungsplan hinzu. Ordnen Sie dem Nutzungsplan einen API-Schlüssel hinzu oder wählen Sie einen im Plan vorhandenen API-Schlüssel. Notieren Sie 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, um einen API-Schlüssel zu fordern, und aktivieren Sie den Lambda-Genehmiger für die Methoden.

  5. Stellen Sie die API derselben Stufe bereit. Wenn Sie die API einer neuen Stufe bereitstellen, stellen Sie sicher, dass Sie den Nutzungsplan aktualisieren, um ihn der neuen API-Stufe zuzuordnen.

Der Client kann nun die Methoden aufrufen, für die ein API-Schlüssel gefordert wird, ohne explizit einen API-Schlüssel bereitstellen zu müssen. Der vom Genehmiger zurückgegebene API-Schlüssel wird automatisch verwendet.