Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Izinkan akses tamu yang tidak diautentikasi ke aplikasi Anda menggunakan kunci API
Ketika Anda memanggil Amazon Location Service APIs di aplikasi Anda, Anda biasanya membuat panggilan ini sebagai pengguna yang diautentikasi yang berwenang untuk melakukan API panggilan. Namun, ada beberapa kasus di mana Anda tidak ingin mengautentikasi setiap pengguna aplikasi Anda. Misalnya, Anda mungkin ingin aplikasi web yang menunjukkan lokasi bisnis Anda tersedia bagi siapa saja yang menggunakan situs web, apakah mereka masuk atau tidak. Dalam hal ini, salah satu alternatifnya adalah menggunakan API kunci untuk melakukan API panggilan.
APIkunci adalah nilai kunci yang dikaitkan dengan sumber daya Amazon Location Service tertentu di Anda Akun AWS, dan tindakan spesifik yang dapat Anda lakukan pada sumber daya tersebut. Anda dapat menggunakan API kunci dalam aplikasi Anda untuk membuat panggilan yang tidak diautentikasi ke Lokasi Amazon APIs untuk sumber daya tersebut. Misalnya, jika Anda mengaitkan API kunci dengan sumber daya peta myMap, dan GetMap*
tindakannya, maka aplikasi yang menggunakan API kunci tersebut akan dapat melihat peta yang dibuat dengan sumber daya tersebut, dan akun Anda akan dikenakan biaya sebagai penggunaan lain dari akun Anda. APIKunci yang sama tidak akan memberikan izin untuk mengubah atau memperbarui sumber daya peta—hanya menggunakan sumber daya yang diizinkan.
catatan
APIkunci tersedia untuk digunakan hanya dengan peta, tempat, dan sumber daya rute, dan Anda tidak dapat memodifikasi atau membuat sumber daya tersebut. Jika aplikasi Anda memerlukan akses ke sumber daya atau tindakan lain untuk pengguna yang tidak diautentikasi, Anda dapat menggunakan Amazon Cognito untuk menyediakan akses bersama dengan, atau bukan, kunci. API Untuk informasi selengkapnya, lihat Izinkan akses tamu yang tidak diautentikasi ke aplikasi Anda menggunakan Amazon Cognito.
APIkunci menyertakan nilai teks biasa yang memberikan akses ke satu atau lebih sumber daya di Anda Akun AWS. Jika seseorang menyalin API kunci Anda, mereka dapat mengakses sumber daya yang sama. Untuk menghindari hal ini, Anda dapat menentukan domain tempat API kunci dapat digunakan saat Anda membuat kunci. Domain ini disebut referer. Jika diperlukan, Anda juga dapat membuat API Kunci jangka pendek dengan menetapkan waktu kedaluwarsa untuk Kunci AndaAPI.
Topik
APIkunci dibandingkan dengan Amazon Cognito
APIkunci dan Amazon Cognito digunakan dengan cara yang sama untuk skenario serupa, jadi mengapa Anda menggunakan satu di atas yang lain? Daftar berikut menyoroti beberapa perbedaan antara keduanya.
-
APIkunci hanya tersedia untuk peta, tempat, dan sumber daya rute, dan hanya untuk tindakan tertentu. Amazon Cognito dapat digunakan untuk mengautentikasi akses ke sebagian besar Amazon Location Service. APIs
-
Kinerja permintaan peta dengan API kunci biasanya lebih cepat daripada skenario serupa dengan Amazon Cognito. Otentikasi yang lebih sederhana berarti lebih sedikit perjalanan pulang pergi ke layanan dan permintaan cache saat mendapatkan ubin peta yang sama lagi dalam periode waktu singkat.
-
Dengan Amazon Cognito, Anda dapat menggunakan proses otentikasi Anda sendiri atau menggabungkan beberapa metode otentikasi, menggunakan Identitas Federasi Amazon Cognito. Untuk informasi selengkapnya, lihat Memulai Identitas Federasi di Panduan Pengembang Amazon Cognito.
Buat API kunci
Anda dapat membuat API kunci, dan mengaitkannya dengan satu atau lebih sumber daya di Anda Akun AWS.
Anda dapat membuat API kunci menggunakan konsol Amazon Location Service, the AWS CLI, atau Amazon LocationAPIs.
Gunakan API tombol untuk memanggil Lokasi Amazon API
Setelah membuat API kunci, Anda dapat menggunakan nilai kunci untuk melakukan panggilan ke Lokasi Amazon APIs di aplikasi Anda.
APIKunci dukungan APIs itu memiliki parameter tambahan yang mengambil nilai API kunci. Misalnya, jika Anda memanggil GetPlace
API, Anda dapat mengisi parameter kunci, sebagai berikut
GET /places/v0/indexes/
IndexName
/places/PlaceId
?key=KeyValue
Jika Anda mengisi nilai ini, Anda tidak perlu mengautentikasi API panggilan dengan AWS Sig v4 seperti biasa.
Untuk JavaScript pengembang, Anda dapat menggunakan Lokasi Amazon JavaScript Pembantu otentikasi untuk membantu mengautentikasi API operasi dengan API kunci.
Untuk pengembang seluler, Anda dapat menggunakan otentikasi SDKs seluler Lokasi Amazon berikut:
Untuk AWS CLI pengguna, ketika Anda menggunakan --key
parameter, Anda juga harus menggunakan --no-sign-request
parameter, untuk menghindari penandatanganan dengan Sig v4.
catatan
Jika Anda menyertakan tanda tangan AWS Sig v4 key
dan Sig dalam panggilan ke Amazon Location Service, hanya API kunci yang digunakan.
Gunakan API kunci untuk membuat peta
Anda dapat menggunakan nilai API kunci untuk membuat peta dalam aplikasi Anda menggunakan MapLibre. Ini sedikit berbeda dari menggunakan API kunci di Lokasi Amazon lain APIs yang Anda panggil secara langsung, karena MapLibre membuat panggilan itu untuk Anda.
Kode contoh berikut menunjukkan menggunakan API kunci untuk membuat peta di halaman web sederhana dengan menggunakan kontrol peta MapLibre GL JS. Agar kode ini berfungsi dengan baik, ganti v1.public.your-api-key-value
,
us-east-1
, dan ExampleMap
string dengan nilai yang cocok dengan Anda Akun AWS.
<!-- 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>
Kelola masa hidup API utama
Anda dapat membuat API kunci yang berfungsi tanpa batas waktu. Namun, jika Anda ingin membuat API kunci sementara, memutar API kunci secara teratur, atau mencabut kunci yang ada, Anda dapat menggunakan API kedaluwarsa APIkunci.
Saat membuat API kunci baru, atau memperbarui yang sudah ada, Anda dapat mengatur waktu kedaluwarsa untuk kunci ituAPI.
-
Ketika API kunci mencapai waktu kedaluwarsa, kunci secara otomatis dinonaktifkan. Kunci tidak aktif tidak lagi dapat digunakan untuk membuat permintaan peta.
-
Anda dapat menghapus API kunci 90 hari setelah menonaktifkannya.
-
Jika Anda memiliki kunci tidak aktif yang belum dihapus, Anda dapat memulihkannya dengan memperbarui waktu kedaluwarsa ke masa depan.
-
Untuk membuat kunci permanen, Anda dapat menghapus waktu kedaluwarsa.
-
Jika Anda mencoba menonaktifkan API kunci yang telah digunakan dalam 7 hari terakhir, Anda akan diminta untuk mengonfirmasi bahwa Anda ingin melakukan perubahan. Jika Anda menggunakan Amazon Location ServiceAPI, atau AWS CLI, Anda akan menerima error, kecuali jika Anda menetapkan
ForceUpdate
parameter ke true.