Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terhubung ke penyedia identitas pribadi
Amazon Bedrock AgentCore Identity mendukung koneksi ke penyedia identitas OAuth 2.0 (IdPs) yang dihosting di dalam AWS VPC Anda, seperti Keycloak yang di-host sendiri,, atau server OIDC-compliant otorisasi lainnya PingFederate, tanpa mengeksposnya ke internet publik. Ini memungkinkan Anda menggunakan private IdPs untuk otorisasi JWT masuk dengan AgentCore Runtime dan AgentCore Gateway serta penyedia kredensia OAuth2 keluar.
Konektivitas pribadi ke VPC yang dihosting IdPs dibuat menggunakan gateway sumber daya Amazon VPC Lattice dan konfigurasi sumber daya, mengikuti pola yang sama yang digunakan oleh pintu keluar AgentCore Gateway VPC. AgentCore Identity menggunakan peran AWSServiceRoleForBedrockAgentCoreIdentity terkait layanan untuk membuat dan mengelola sumber daya VPC Lattice di akun Anda untuk konektivitas pribadi ke titik akhir IdP Anda.
penting
AgentCore mendukung dua mode konektivitas VPC Lattice - Lattice terkel ola (lebih sederhana, AgentCore menangani siklus hidup sumber daya) dan Lattice yang dikelola sendiri (lanjutan, dengan dukungan lintas akun dan visibilitas tata kelola penuh). Setiap mode memiliki pertukaran yang berbeda untuk kompleksitas, biaya, dan kontrol. Untuk perbandingan terperinci dengan pro dan kontra, lihat Mode keluar VPC yang didukung.
Kasus penggunaan
Penyedia identitas pribadi umum di lingkungan perusahaan di mana organisasi:
-
Jalankan server otorisasi yang di-host sendiri di dalam VPC mereka untuk kepatuhan atau persyaratan residensi data
-
Gunakan titik akhir penemuan OIDC pribadi yang tidak dapat diakses publik
-
Memerlukan semua lalu lintas otentikasi untuk tetap berada di dalam AWS jaringan tanpa melintasi internet publik
Otorisasi JWT masuk dengan IdP pribadi
Saat Anda mengonfigurasi otorisasi JWT masuk untuk AgentCore Runtime atau AgentCore Gateway, otorisasi menggunakan URL penemuan untuk mengambil kunci publik (JWKS) IdP dan memvalidasi token JWT yang masuk. Jika IdP Anda dihosting di dalam VPC dan URL penemuan tidak dapat diakses publik, Anda harus mengonfigurasi titik akhir pribadi sehingga AgentCore Identitas dapat mencapai penemuan OIDC dan titik akhir JWKS IdP.
Konfigurasikan otorisasi masuk dengan IdP pribadi
Untuk mengonfigurasi otorisasi JWT masuk dengan IdP pribadi, sertakan privateEndpoint blok dalam konfigurasi otorizer saat membuat atau memperbarui Runtime atau Gateway Anda AgentCore .
Contoh: CreateAgentRuntime dengan IdP pribadi untuk autentikasi masuk
{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }
Contoh: CreateGateway dengan IdP pribadi untuk autentikasi masuk
{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }
Jika IdP Anda menggunakan sertifikat TLS yang dikeluarkan oleh otoritas sertifikat pribadi, Anda dapat menempatkan Application Load Balancer internal dengan sertifikat ACM publik di depannya. Untuk informasi selengkapnya, lihat Solusi untuk sertifikat pribadi: ALB.
Untuk Lattice yang dikelola sendiri, ganti managedVpcResource dengan: selfManagedLatticeResource
Contoh: CreateAgentRuntime dengan Lattice yang dikelola sendiri untuk autentikasi masuk
{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }
Contoh: CreateGateway dengan Lattice yang dikelola sendiri untuk autentikasi masuk
{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }
Penyedia kredensia OAuth keluar dengan IdP pribadi
Saat Anda mengonfigurasi penyedia kredensia OAuth2 keluar yang menggunakan IdP pribadi, AgentCore Identitas harus mencapai titik akhir token IdP untuk menukar kode otorisasi dengan token akses atau untuk melakukan pemberian kredentif klien. Jika titik akhir token IdP dihosting di dalam VPC Anda, Anda harus mengonfigurasi titik akhir pribadi pada penyedia kredensia.
Mengkonfigurasi penyedia kredensia keluar dengan IdP pribadi
Untuk mengonfigurasi penyedia kredensia OAuth keluar dengan IdP pribadi, sertakan privateEndpoint blok saat membuat penyedia kredensia menggunakan penyedia khusus dengan konfigurasi manual.
Contoh: Membuat penyedia kredensia OAuth dengan IdP pribadi
{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } }
Untuk Lattice yang dikelola sendiri, ganti managedVpcResource dengan: selfManagedLatticeResource
{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } }
Prasyarat
Sebelum mengonfigurasi penyedia identitas pribadi, pastikan hal berikut:
-
Penyedia identitas Anda berjalan dan dapat diakses dalam VPC Anda.
-
Titik akhir penemuan OIDC IdP (
/.well-known/openid-configuration), titik akhir JWKS, dan titik akhir token dapat dijangkau dari subnet yang ditentukan. -
Grup keamanan Anda mengizinkan lalu lintas masuk pada port yang digunakan oleh IdP Anda (biasanya port 443 untuk HTTPS).
-
Untuk Lattice terkelola, kepala sekolah IAM Anda harus memiliki
iam:CreateServiceLinkedRoleizin sehingga AgentCore dapat membuat peran terkait layanan Identity Network atas nama Anda. Untuk kebijakan IAM yang diperlukan, lihat peran terkait layanan Identity Network. -
Untuk Lattice terkelola, prinsipal IAM Anda memerlukan izin Amazon EC2 berikut:
ec2:CreateNetworkInterfacejuga.
Service-linked peran untuk penyedia identitas pribadi
Saat Anda mengonfigurasi titik akhir pribadi untuk penyedia AgentCore identitas, Identity menggunakan peran AWSServiceRoleForBedrockAgentCoreIdentity terkait layanan untuk mengelola konektivitas ke IdP yang dihosting VPC Anda. Peran ini dibuat secara otomatis saat pertama kali Anda mengonfigurasi titik akhir pribadi terkelola untuk penyedia identitas, asalkan prinsipal IAM Anda memiliki iam:CreateServiceLinkedRole izin yang diperlukan.
Untuk dokumen kebijakan lengkap dan instruksi untuk membuat, mengedit, dan menghapus peran ini, lihat peran terkait layanan Jaringan Identitas.
Pertimbangan dan batasan
-
URL penemuan harus HTTPS: URL penemuan OIDC IdP harus menggunakan HTTPS. Endpoint HTTP tidak didukung.
-
Sertifikat pribadi: IdP Anda harus menggunakan sertifikat TLS yang dipercaya secara publik, atau Anda harus menempatkan ALB dengan sertifikat ACM publik di depannya. Untuk informasi selengkapnya, lihat Solusi untuk sertifikat pribadi: ALB.
-
Cross-account: konektivitas IdP Cross-account pribadi memerlukan opsi Lattice yang dikelola sendiri. Managed Lattice tidak mendukung skenario lintas akun.
Untuk batasan tambahan terkait konektivitas VPC Lattice, lihat Batasan dan pertimbangan di Menghubun gkan ke sumber daya pribadi di VPC Anda menggunakan VPC Lattice.