API-toko kebijakan terkait - Izin Terverifikasi Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

API-toko kebijakan terkait

Kasus penggunaan umum adalah menggunakan Izin Terverifikasi Amazon untuk mengotorisasi akses pengguna ke APIs host di Amazon API Gateway. Menggunakan wizard di AWS konsol, Anda dapat membuat kebijakan akses berbasis peran untuk pengguna yang dikelola di Amazon Cognito, atau penyedia identitas OIDC apa pun (iDP), dan menerapkan Authorizer yang memanggil Izin Terverifikasi AWS Lambda untuk mengevaluasi kebijakan ini.

Untuk menyelesaikan wizard, pilih Mengatur dengan API Gateway dan penyedia identitas saat Anda membuat toko kebijakan baru dan ikuti langkah-langkahnya.

Toko kebijakan API -linked dibuat dan menyediakan model otorisasi dan sumber daya Anda untuk permintaan otorisasi. Toko kebijakan memiliki sumber identitas dan otorisasi Lambda yang menghubungkan API Gateway ke Izin Terverifikasi. Setelah penyimpanan kebijakan dibuat, Anda dapat mengotorisasi API permintaan berdasarkan keanggotaan grup pengguna. Misalnya, Izin Terverifikasi hanya dapat memberikan akses kepada pengguna yang merupakan anggota Directors grup.

Seiring pertumbuhan aplikasi Anda, Anda dapat menerapkan otorisasi berbutir halus dengan atribut pengguna dan cakupan OAuth 2.0 menggunakan bahasa kebijakan Cedar. Misalnya, Izin Terverifikasi hanya dapat memberikan akses kepada pengguna yang memiliki email atribut di domainmycompany.co.uk.

Setelah menyiapkan model otorisasi untuk AndaAPI, tanggung jawab Anda yang tersisa adalah mengautentikasi pengguna dan menghasilkan API permintaan dalam aplikasi Anda, dan untuk memelihara toko kebijakan Anda.

Untuk melihat demo, lihat Izin Terverifikasi Amazon - Ikhtisar Mulai Cepat dan Demo di Amazon Web Services YouTube saluran.

penting

Penyimpanan kebijakan yang Anda buat dengan opsi Penyiapan dengan API Gateway dan sumber identitas di konsol Izin Terverifikasi tidak dimaksudkan untuk penerapan langsung ke produksi. Dengan toko kebijakan awal Anda, selesaikan model otorisasi Anda dan ekspor sumber daya penyimpanan kebijakan ke. CloudFormation Menerapkan Izin Terverifikasi ke produksi secara terprogram dengan AWSCloud Development Kit (). CDK Untuk informasi selengkapnya, lihat Pindah ke produksi dengan AWS CloudFormation.

Di toko kebijakan yang ditautkan ke sumber identitas API dan identitas, aplikasi Anda menampilkan token kumpulan pengguna di header otorisasi saat membuat permintaan keAPI. Sumber identitas toko kebijakan Anda menyediakan validasi token untuk Izin Terverifikasi. Token membentuk permintaan otorisasi principal dalam dengan. IsAuthorizedWithTokenAPI Izin Terverifikasi membuat kebijakan seputar keanggotaan grup pengguna Anda, seperti yang ditampilkan dalam klaim grup dalam identitas (ID) dan token akses, misalnya cognito:groups untuk kumpulan pengguna. Anda API memproses token dari aplikasi Anda di otorisasi Lambda dan mengirimkannya ke Izin Terverifikasi untuk keputusan otorisasi. Ketika Anda API menerima keputusan otorisasi dari otorisasi Lambda, ia meneruskan permintaan ke sumber data Anda atau menolak permintaan tersebut.

Komponen sumber identitas dan otorisasi API Gateway dengan Izin Terverifikasi
  • Kumpulan pengguna Amazon Cognito atau OIDC IDP yang mengautentikasi dan mengelompokkan pengguna. Token pengguna mengisi keanggotaan grup dan prinsipal atau konteks yang dievaluasi Izin Terverifikasi di toko kebijakan Anda.

  • APIGerbang RESTAPI. Izin Terverifikasi mendefinisikan tindakan dari API jalur dan API metode, misalnya. MyAPI::Action::get /photo

  • Fungsi Lambda dan otorisasi Lambda untuk Anda. API Fungsi Lambda mengambil token pembawa dari kumpulan pengguna Anda, meminta otorisasi dari Izin Terverifikasi, dan mengembalikan keputusan ke Gateway. API Pengaturan dengan API Gateway dan alur kerja sumber identitas secara otomatis membuat otorisasi Lambda ini untuk Anda.

  • Toko kebijakan Izin Terverifikasi. Sumber identitas toko kebijakan adalah kumpulan pengguna atau grup OIDC penyedia Amazon Cognito Anda. Skema penyimpanan kebijakan mencerminkan konfigurasi AndaAPI, dan kebijakan menautkan grup pengguna ke API tindakan yang diizinkan.

  • Aplikasi yang mengautentikasi pengguna dengan IDP Anda dan menambahkan token ke permintaan. API

Bagaimana Izin Terverifikasi mengotorisasi permintaan API

Saat Anda membuat penyimpanan kebijakan baru dan memilih opsi Mengatur dengan API Gateway dan sumber identitas, Izin Terverifikasi akan membuat skema dan kebijakan penyimpanan kebijakan. Skema dan kebijakan mencerminkan API tindakan dan grup pengguna yang ingin Anda otorisasi untuk mengambil tindakan. Izin Terverifikasi juga menciptakan fungsi dan otorisasi Lambda.

Diagram yang menampilkan alur permintaan otorisasi dengan Amazon API Gateway, Amazon Cognito, dan Izin Terverifikasi Amazon.
  1. Pengguna Anda masuk dengan aplikasi Anda melalui Amazon Cognito atau OIDC iDP lain. IDP mengeluarkan ID dan token akses dengan informasi pengguna.

  2. Aplikasi Anda menyimpan fileJWTs. Untuk informasi selengkapnya, lihat Menggunakan token dengan kumpulan pengguna di Panduan Pengembang Amazon Cognito..

  3. Pengguna Anda meminta data yang harus diambil aplikasi Anda dari eksternalAPI.

  4. Aplikasi Anda meminta data dari REST API in API Gateway. Ini menambahkan ID atau token akses sebagai header permintaan.

  5. Jika Anda API memiliki cache untuk keputusan otorisasi, itu mengembalikan respons sebelumnya. Jika caching dinonaktifkan atau tidak API memiliki cache saat ini, API Gateway meneruskan parameter permintaan ke otorisasi Lambda berbasis token.

  6. Fungsi Lambda mengirimkan permintaan otorisasi ke toko kebijakan Izin Terverifikasi dengan. IsAuthorizedWithTokenAPI Fungsi Lambda melewati elemen keputusan otorisasi:

    1. Token pengguna sebagai prinsipal.

    2. APIMetode dikombinasikan dengan API jalur, misalnyaGetPhoto, sebagai tindakan.

    3. Istilah Application sebagai sumber daya.

  7. Izin Terverifikasi memvalidasi token. Untuk informasi selengkapnya tentang cara token Amazon Cognito divalidasi, lihat Otorisasi dengan Izin Terverifikasi Amazon di Panduan Pengembang Amazon Cognito.

  8. Izin Terverifikasi mengevaluasi permintaan otorisasi terhadap kebijakan di toko kebijakan Anda dan mengembalikan keputusan otorisasi.

  9. Authorizer Lambda mengembalikan Deny respons Allow atau ke Gateway. API

  10. APIMengembalikan data atau ACCESS_DENIED respons terhadap aplikasi Anda. Aplikasi Anda memproses dan menampilkan hasil API permintaan.

Pertimbangan untuk toko API kebijakan -linked

Saat membuat penyimpanan kebijakan API -linked di konsol Izin Terverifikasi, Anda membuat pengujian untuk penerapan produksi pada akhirnya. Sebelum Anda pindah ke produksi, buat konfigurasi tetap untuk kumpulan Anda API dan pengguna. Pertimbangkan faktor-faktor berikut:

APITanggapan cache gateway

Di toko kebijakan API yang ditautkan, Izin Terverifikasi membuat otorisasi Lambda dengan caching Otorisasi 120 detik. TTL Anda dapat menyesuaikan nilai ini atau mematikan caching di otorisasi Anda. Dalam otorisasi dengan caching diaktifkan, otorisasi Anda mengembalikan respons yang sama setiap kali hingga kedaluwarsa. TTL Ini dapat memperpanjang masa pakai token kumpulan pengguna yang efektif dengan durasi yang sama dengan caching TTL dari tahap yang diminta.

Grup Amazon Cognito dapat digunakan kembali

Izin Terverifikasi Amazon menentukan keanggotaan grup untuk pengguna kumpulan pengguna dari cognito:groups klaim di ID pengguna atau token akses. Nilai klaim ini adalah larik nama ramah grup kumpulan pengguna yang dimiliki pengguna. Anda tidak dapat mengaitkan grup kumpulan pengguna dengan pengenal unik.

Grup kumpulan pengguna yang Anda hapus dan buat ulang dengan nama yang sama yang ada di toko kebijakan Anda sebagai grup yang sama. Saat Anda menghapus grup dari kumpulan pengguna, hapus semua referensi ke grup dari toko kebijakan Anda.

API-namespace dan skema turunan adalah point-in-time

Izin Terverifikasi menangkap Anda API pada satu titik waktu: hanya menanyakan Anda API saat Anda membuat toko kebijakan. Ketika skema atau nama Anda API berubah, Anda harus memperbarui toko kebijakan dan otorisasi Lambda, atau membuat toko kebijakan terkait API baru. Izin Terverifikasi memperoleh namespace toko kebijakan dari nama Anda. API

Fungsi Lambda tidak memiliki konfigurasi VPC

Fungsi Lambda yang dibuat oleh Izin Terverifikasi untuk API otorisasi Anda diluncurkan secara default. VPC Secara default. APIsyang memiliki akses jaringan terbatas ke pribadi tidak VPCs dapat berkomunikasi dengan fungsi Lambda yang mengotorisasi permintaan akses dengan Izin Terverifikasi.

Izin Terverifikasi menyebarkan sumber daya otorisasi di CloudFormation

Untuk membuat penyimpanan kebijakan API yang ditautkan, Anda harus memasukkan AWS prinsipal dengan hak istimewa tinggi ke konsol Izin Terverifikasi. Pengguna ini menyebarkan AWS CloudFormation tumpukan yang membuat sumber daya di beberapa Layanan AWS. Prinsipal ini harus memiliki izin untuk menambah dan memodifikasi sumber daya di Izin Terverifikasi,, Lambda IAM, API dan Gateway. Sebagai praktik terbaik, jangan bagikan kredensyal ini dengan administrator lain di organisasi Anda.

Lihat Pindah ke produksi dengan AWS CloudFormation ikhtisar sumber daya yang dibuat oleh Izin Terverifikasi.

Menambahkan kontrol akses berbasis atribut () ABAC

Sesi otentikasi khas dengan IDP mengembalikan ID dan token akses. Anda dapat meneruskan salah satu dari jenis token ini sebagai token pembawa dalam permintaan aplikasi ke AndaAPI. Bergantung pada pilihan Anda saat membuat toko kebijakan, Izin Terverifikasi mengharapkan salah satu dari dua jenis token. Kedua jenis membawa informasi tentang keanggotaan grup pengguna. Untuk informasi selengkapnya tentang jenis token di Amazon Cognito, lihat Menggunakan token dengan kumpulan pengguna di Panduan Pengembang Amazon Cognito.

Setelah membuat toko kebijakan, Anda dapat menambahkan dan memperluas kebijakan. Misalnya, Anda dapat menambahkan grup baru ke kebijakan saat menambahkannya ke kumpulan pengguna. Karena toko kebijakan Anda sudah mengetahui cara kumpulan pengguna menampilkan grup dalam token, Anda dapat mengizinkan serangkaian tindakan untuk grup baru dengan kebijakan baru.

Anda mungkin juga ingin memperluas model evaluasi kebijakan berbasis grup menjadi model yang lebih tepat berdasarkan properti pengguna. Token kumpulan pengguna berisi informasi pengguna tambahan yang dapat berkontribusi pada keputusan otorisasi.

Token ID

Token ID mewakili atribut pengguna dan memiliki kontrol akses berbutir halus tingkat tinggi. Untuk mengevaluasi alamat email, nomor telepon, atau atribut khusus seperti departemen dan manajer, evaluasi token ID.

Token akses

Token akses mewakili izin pengguna dengan cakupan OAuth 2.0. Untuk menambahkan lapisan otorisasi atau mengatur permintaan sumber daya tambahan, evaluasi token akses. Misalnya, Anda dapat memvalidasi bahwa pengguna berada dalam grup yang sesuai dan membawa ruang lingkup seperti PetStore.read itu umumnya mengotorisasi akses ke. API Kumpulan pengguna dapat menambahkan cakupan khusus ke token dengan server sumber daya dan dengan kustomisasi token saat runtime.

Lihat Memetakan token penyedia identitas ke skema misalnya kebijakan yang memproses klaim dalam ID dan token akses.