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.
Erlauben Sie nicht authentifizierten Gastzugriff auf Ihre Anwendung mithilfe von Schlüsseln API
Wenn Sie Amazon Location Service APIs in Ihren Anwendungen aufrufen, tätigen Sie diesen Anruf in der Regel als authentifizierter Benutzer, der berechtigt ist, die API Anrufe zu tätigen. Es gibt jedoch einige Fälle, in denen Sie nicht jeden Benutzer Ihrer Anwendung authentifizieren möchten. Beispielsweise möchten Sie möglicherweise, dass eine Webanwendung, die Ihren Unternehmensstandort anzeigt, für alle Benutzer der Website verfügbar ist, unabhängig davon, ob sie angemeldet sind oder nicht. In diesem Fall besteht eine Alternative darin, die API Anrufe mithilfe von API Tasten zu tätigen.
APISchlüssel sind Schlüsselwerte, die bestimmten Amazon Location Service Service-Ressourcen in Ihren Ressourcen zugeordnet sind AWS-Konto, sowie bestimmten Aktionen, die Sie mit diesen Ressourcen ausführen können. Sie können einen API Schlüssel in Ihrer Anwendung verwenden, um nicht authentifizierte Anrufe an den Amazon-Standort APIs für diese Ressourcen zu tätigen. Wenn Sie beispielsweise der Kartenressource und den GetMap*
Aktionen einen API Schlüssel zuordnen myMap, kann eine Anwendung, die diesen API Schlüssel verwendet, Karten anzeigen, die mit dieser Ressource erstellt wurden, und Ihr Konto wird wie jede andere Nutzung Ihres Kontos belastet. Derselbe API Schlüssel würde nicht zum Ändern oder Aktualisieren der Kartenressource berechtigen — nur die Nutzung der Ressource ist erlaubt.
Anmerkung
APISchlüssel können nur mit Karten-, Orts- und Routenressourcen verwendet werden, und Sie können diese Ressourcen nicht ändern oder erstellen. Wenn Ihre Anwendung Zugriff auf andere Ressourcen oder Aktionen für nicht authentifizierte Benutzer benötigt, können Sie Amazon Cognito verwenden, um den Zugriff zusammen mit oder anstelle von Schlüsseln bereitzustellen. API Weitere Informationen finden Sie unter Erlauben Sie mit Amazon Cognito nicht authentifizierten Gastzugriff auf Ihre Anwendung.
APISchlüssel enthalten einen Klartextwert, der den Zugriff auf eine oder mehrere Ressourcen in Ihrem ermöglicht. AWS-Konto Wenn jemand Ihren API Schlüssel kopiert, kann er auf dieselben Ressourcen zugreifen. Um dies zu vermeiden, können Sie bei der Erstellung des API Schlüssels die Domänen angeben, in denen der Schlüssel verwendet werden kann. Diese Domänen werden als Referer bezeichnet. Bei Bedarf können Sie auch kurzfristige API Schlüssel erstellen, indem Sie Ablaufzeiten für Ihre API Schlüssel festlegen.
Themen
APISchlüssel im Vergleich zu Amazon Cognito
APIkeys und Amazon Cognito werden auf ähnliche Weise für ähnliche Szenarien verwendet. Warum sollten Sie also eins dem anderen vorziehen? In der folgenden Liste werden einige der Unterschiede zwischen den beiden hervorgehoben.
-
APISchlüssel sind nur für Karten-, Orts- und Routenressourcen und nur für bestimmte Aktionen verfügbar. Amazon Cognito kann verwendet werden, um den Zugriff auf die meisten Amazon Location Service zu authentifizieren. APIs
-
Die Leistung von Kartenanfragen mit API Schlüsseln ist in der Regel schneller als bei ähnlichen Szenarien mit Amazon Cognito. Eine einfachere Authentifizierung bedeutet weniger Roundtrips zum Service und weniger zwischengespeicherte Anfragen, wenn dieselbe Kartenkachel in kurzer Zeit erneut abgerufen wird.
-
Mit Amazon Cognito können Sie Ihren eigenen Authentifizierungsprozess verwenden oder mithilfe von Amazon Cognito Federated Identities mehrere Authentifizierungsmethoden kombinieren. Weitere Informationen finden Sie unter Getting Started with Federated Identities im Amazon Cognito Developer Guide.
Schlüssel erstellen API
Sie können einen API Schlüssel erstellen und ihn mit einer oder mehreren Ressourcen in Ihrem verknüpfen AWS-Konto.
Sie können einen API Schlüssel über die Amazon Location Service Service-Konsole AWS CLI, den oder den Amazon-Standort erstellenAPIs.
Verwenden Sie eine API Taste, um einen Amazon-Standort anzurufen API
Nachdem Sie einen API Schlüssel erstellt haben, können Sie den Schlüsselwert verwenden, um Amazon Location APIs in Ihrer Anwendung aufzurufen.
DiejenigenAPIs, die API Schlüssel unterstützen, haben einen zusätzlichen Parameter, der den API Schlüsselwert annimmt. Wenn Sie beispielsweise den aufrufen GetPlace
API, können Sie den Schlüsselparameter wie folgt eingeben
GET /places/v0/indexes/
IndexName
/places/PlaceId
?key=KeyValue
Wenn Sie diesen Wert eingeben, müssen Sie den API Anruf nicht wie gewohnt mit AWS Sig v4 authentifizieren.
JavaScript Entwickler können den Amazon-Standort verwenden, JavaScript Authentifizierungshelfer um bei der Authentifizierung von API Vorgängen mit API Schlüsseln zu helfen.
Für mobile Entwickler können Sie die folgende Amazon Location-Mobilauthentifizierung verwendenSDKs:
AWS CLI Benutzer sollten bei der Verwendung des --key
Parameters auch den Parameter verwenden, um zu vermeiden, dass sie mit Sig v4 signieren. --no-sign-request
Anmerkung
Wenn Sie key
sowohl eine als auch eine AWS Sig v4-Signatur in einen Anruf bei Amazon Location Service einbeziehen, wird nur der API Schlüssel verwendet.
Verwenden Sie einen API Schlüssel, um eine Karte zu rendern
Sie können den API Schlüsselwert verwenden, um eine Karte in Ihrer Anwendung mit zu rendern MapLibre. Dies unterscheidet sich ein wenig von der Verwendung der API Schlüssel an einem anderen Amazon-StandortAPIs, den Sie direkt anrufen, da MapLibre diese Anrufe für Sie getätigt werden.
Der folgende Beispielcode zeigt die Verwendung des API Schlüssels zum Rendern einer Map auf einer einfachen Webseite mithilfe des MapLibre GL JS-Kartensteuerelements. Damit dieser Code ordnungsgemäß funktioniert, ersetzen Sie den v1.public.your-api-key-value
,
us-east-1
, und ExampleMap
Zeichenketten mit Werten, die Ihren entsprechen AWS-Konto.
<!-- index.html --> <html> <head> <link href="https://unpkg.com/maplibre-gl@1.14.0/dist/maplibre-gl.css" rel="stylesheet" /> <style> body { margin: 0; } #map { height: 100vh; } </style> </head> <body> <!-- Map container --> <div id="map" /> <!-- JavaScript dependencies --> <script src="https://unpkg.com/maplibre-gl@1.14.0/dist/maplibre-gl.js"></script> <script> const apiKey = "
v1.public.your-api-key-value
"; // API key const region = "us-east-1
"; // Region const mapName = "ExampleMap
"; // Map name // URL for style descriptor const styleUrl = `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`; // Initialize the map const map = new maplibregl.Map({ container: "map", style: styleUrl, center: [-123.1187, 49.2819], zoom: 11, }); map.addControl(new maplibregl.NavigationControl(), "top-left"); </script> </body> </html>
Verwalten Sie API wichtige Lebensdauern
Sie können API Schlüssel erstellen, die unbegrenzt gültig sind. Wenn Sie jedoch einen temporären API Schlüssel erstellen, Schlüssel regelmäßig rotieren oder einen vorhandenen API Schlüssel widerrufen möchten, können Sie die Gültigkeitsdauer des API API Schlüssels verwenden.
Wenn Sie einen neuen API Schlüssel erstellen oder einen vorhandenen aktualisieren, können Sie die Ablaufzeit für diesen API Schlüssel festlegen.
-
Wenn ein API Schlüssel seine Ablaufzeit erreicht, wird der Schlüssel automatisch deaktiviert. Inaktive Schlüssel können nicht mehr für Kartenanfragen verwendet werden.
-
Sie können einen API Schlüssel 90 Tage nach seiner Deaktivierung löschen.
-
Wenn Sie einen inaktiven Schlüssel haben, den Sie noch nicht gelöscht haben, können Sie ihn wiederherstellen, indem Sie die Ablaufzeit auf einen future Zeitpunkt aktualisieren.
-
Um einen permanenten Schlüssel zu erstellen, können Sie die Ablaufzeit entfernen.
-
Wenn Sie versuchen, einen API Schlüssel zu deaktivieren, der in den letzten 7 Tagen verwendet wurde, werden Sie aufgefordert, zu bestätigen, dass Sie die Änderung vornehmen möchten. Wenn Sie den Amazon Location Service oder den AWS CLI verwendenAPI, erhalten Sie eine Fehlermeldung, sofern Sie den
ForceUpdate
Parameter nicht auf true setzen.