Aliran otorisasi
Amazon Bedrock AgentCore Gateway mengevaluasi kebijakan Cedar terhadap permintaan yang masuk. Bagian ini menjelaskan bagaimana informasi otorisasi mengalir dari permintaan ke evaluasi kebijakan.
Permintaan pemrosesan
Amazon Bedrock AgentCore Gateway memproses dua informasi penting dari setiap permintaan:
-
Token JWT - Berisi klaim OAuth tentang pengguna:
{ "sub": "12345678-1234-1234-1234-123456789012", "iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Vg2efaoGO", "username": "refund-agent", "scope": "aws.cognito.signin.user.admin refund:write", "role": "admin", "department": "finance" } -
Permintaan Panggilan Alat MCP - Pemanggilan alat yang sebenarnya:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "RefundTool___process_refund", "arguments": { "orderId": "12345", "amount": 450, "reason": "Defective product" } } }
Permintaan otorisasi Cedar
Gateway mengekstrak informasi dari kedua sumber dan membuat permintaan otorisasi Cedar.
Permintaan Otorisasi Lengkap:
{ "principal": "AgentCore::OAuthUser::\"12345678-1234-1234-1234-123456789012\"", "action": "AgentCore::Action::\"RefundTool___process_refund\"", "resource": "AgentCore::Gateway::\"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway\"", "context": { "input": { "orderId": "12345", "amount": 450, "reason": "Defective product" } } }
Komponen:
- Principal
-
Dibuat dari sub klaim token JWT:
AgentCore::OAuthUser::"12345678-1234-1234-1234-123456789012" - Tindakan
-
Diekstrak dari nama alat:
AgentCore::Action::"RefundTool___process_refund" - Sumber daya
-
Contoh Gateway:
AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway" - Konteks
-
Berisi argumen alat:
{ "input": { "orderId": "12345", "amount": 450, "reason": "Defective product" } }
Entity Store - Klaim JWT disimpan sebagai tag pada entitas: OAuthUser
{ "uid": { "type": "AgentCore::OAuthUser", "id": "12345678-1234-1234-1234-123456789012" }, "attrs": { "id": "12345678-1234-1234-1234-123456789012" }, "tags": { "username": "refund-agent", "iss": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Vg2efaoGO", "scope": "aws.cognito.signin.user.admin refund:write", "role": "admin", "department": "finance" } }
Evaluasi kebijakan
Cedar mengevaluasi:
-
Pemeriksaan utama: Apakah kepala sekolah itu OAuthUser? ✓ (pertandingan)
-
Pemeriksaan tindakan: Apakah tindakan RefundTool ___process_refund? ✓ (pertandingan)
-
Pemeriksaan sumber daya: Apakah sumber daya merupakan gateway pengembalian dana? ✓ (pertandingan)
-
Pemeriksaan kondisi:
-
Apakah prinsipal memiliki tag nama pengguna? ✓ (ya, dari JWT)
-
Apakah username = “refund-agent”? ✓ (ya)
-
Apakah context.input.amount < 500? ✓ (450 < 500)
-
Hasil: IZINKAN - Semua cek lulus, pengembalian dana diotorisasi.