View a markdown version of this page

Konfigurasikan otorisasi JWT masuk - Batuan Dasar Amazon AgentCore

Konfigurasikan otorisasi JWT masuk

Authorizer masuk mengautentikasi dan mengotorisasi permintaan API OAuth 2.0 yang masuk ke Runtime dan Gateway. AgentCore AgentCore Ini memvalidasi JSON Web Tokens (JWTs) sebelum mengizinkan akses ke agen atau gateway. Authorizer adalah Identity Provider (IDP) agnostik dan bekerja dengan penyedia identitas yang kompatibel dengan OAuth 2.0. Saat AgentCore Runtime atau AgentCore Gateway menerima permintaan masuk, otorisasi akan menggunakan URL penemuan yang dikonfigurasi untuk mengambil kunci publik dan titik akhir server otorisasi untuk melakukan validasi JWT. Anda dapat mengonfigurasi otorisasi berdasarkan IDP Anda dan cakupan otorisasi atau klaim yang diizinkan.

Konfigurasikan Inbound Authorizer

Anda dapat mengonfigurasi runtime agen Anda (lihat CreateAgentRuntime) atau gateway (lihat CreateGateway) untuk menerima token pembawa JWT dengan menyediakan konfigurasi otorisasi selama pembuatan agen atau gateway. Konfigurasi otorisasi (lihat CustomJWTAuthorizerConfiguration) sama untuk AgentCore Runtime atau AgentCore Gateway.

  • Discovery URL: String yang harus cocok dengan pola ^.+/\.well-known/openid-configuration$ untuk URL penemuan OpenID Connect (OIDC). Anda dapat menemukan URL penemuan Anda dari penyedia identitas Anda. URL penemuan adalah alamat web tertentu yang dapat digunakan AgentCore Identity untuk menemukan informasi tentang detail titik akhir otentikasi. Hal ini memungkinkan AgentCore Identity untuk secara dinamis menerima token yang dikeluarkan oleh penyedia identitas OIDC Anda tanpa orientasi eksplisit.

  • Audiens yang diizinkan: Daftar pemirsa yang diizinkan yang akan divalidasi AgentCore Identitas terhadap aud klaim dalam token JWT. Klaim audiens (aud) di OAuth 2.0 menentukan server sumber daya (API) mana yang dimaksudkan untuk token. Server sumber daya memvalidasi aud klaim untuk memastikan itu adalah penerima yang benar sebelum memproses permintaan, mencegah token digunakan kembali pada API lain yang tidak dikeluarkan untuknya.

  • Klien yang diizinkan: Daftar pengidentifikasi klien yang diizinkan yang akan divalidasi AgentCore Identitas terhadap client_id klaim dalam token JWT. A client_id di OAuth 2.0 adalah pengidentifikasi publik dan unik untuk aplikasi yang meminta token akses untuk mengakses Runtime atau Gateway. AgentCore AgentCore Ini bertindak seperti nama pengguna untuk aplikasi, membedakannya dari klien lain (aplikasi) yang terdaftar dengan otorisasi.

  • Cakupan yang diizinkan: Daftar izin yang diizinkan, didefinisikan sebagai cakupan, diizinkan untuk memanggil runtime atau gateway. Jika dikonfigurasi, setidaknya satu nilai cakupan dalam token yang masuk harus cocok dengan salah satu nilai yang dikonfigurasi. Lingkup OAuth 2.0 adalah string yang mendefinisikan tingkat akses tertentu yang didefinisikan dalam JWT. Lingkup bertindak sebagai izin untuk membatasi apa yang dapat dilakukan aplikasi.

  • Klaim khusus yang diperlukan (lihat CustomClaimValidationType): Seperangkat aturan untuk mencocokkan klaim tertentu dalam token yang masuk terhadap nilai yang telah ditentukan untuk memvalidasi token JWT. Anda dapat membuat aturan dengan menentukan yang berikut:

    • InboundTokenClaimName: Nama klaim khusus.

    • InboundTokenClaimValueType: Entah STRING atauSTRING_ARRAY.

    • AuthorizingClaimMatchValue: Nilai yang diperlukan dan operator perbandingan klaim khusus.

      • ClaimMatchValue: Nilai yang diperlukan dari klaim khusus.

      • ClaimMatchOperator: Jika InboundTokenClaimValueType samaSTRING, ini harusEQUALS. Jika InboundTokenClaimValueType samaSTRING_ARRAY, ini bisa CONTAINS atauCONTAINS_ANY.

      • Contoh: Anda dapat menentukan aturan yang memberlakukan:Group must equal Developer.

  • Catatan: Setidaknya satu bidang diperlukan untuk konfigurasi: audiens yang diizinkan, klien yang diizinkan, cakupan yang diizinkan, atau klaim khusus yang diperlukan. Jika lebih dari satu digunakan, otorisasi akan memverifikasi semuanya.