Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Conéctese a proveedores de identidad privada
Amazon Bedrock AgentCore Identity permite conectarse a proveedores de identidad (IdPs) de OAuth 2.0 alojados en su AWS VPC, como Keycloak autohospedado, u otros servidores de OIDC-compliant autorización PingFederate, sin exponerlos a la Internet pública. Esto le permite utilizar la autorización privada tanto IdPs para la autorización JWT entrante con AgentCore Runtime y AgentCore Gateway como para los proveedores de credenciales OAuth2 salientes.
La conectividad privada con la VPC alojada en una VPC IdPs se establece mediante las pasarelas de recursos y las configuraciones de recursos de Amazon VPC Lattice, siguiendo el mismo patrón que se utiliza para la salida de Gateway VPC. AgentCore AgentCore Identity utiliza la función AWSServiceRoleForBedrockAgentCoreIdentity vinculada al servicio para crear y administrar los recursos de VPC Lattice en su cuenta para una conectividad privada con los puntos finales de sus IdP.
importante
AgentCore admite dos modos de conectividad de VPC Lattice: Lattice administrado (más sencillo, AgentCore gestiona el ciclo de vida de los recursos) y Lattice autogestionado (avanzado, con soporte multicuenta y visibilidad total de la gobernanza). Cada modo tiene diferentes ventajas y desventajas en cuanto a complejidad, coste y control. Para ver una comparación detallada de las ventajas y desventajas, consulta los modos de salida de VPC compatibles.
Casos de uso
Los proveedores de identidad privada son comunes en los entornos empresariales en los que las organizaciones:
-
Ejecute servidores de autorización autohospedados dentro de su VPC para cumplir con los requisitos de cumplimiento o residencia de datos
-
Utilice terminales de detección OIDC privados que no sean de acceso público
-
Exija que todo el tráfico de autenticación permanezca dentro de la AWS red sin atravesar la Internet pública
Autorización JWT entrante con un IdP privado
Al configurar la autorización JWT entrante para AgentCore Runtime o AgentCore Gateway, el autorizador usa la URL de descubrimiento para obtener las claves públicas (JWKS) del IdP y validar los tokens JWT entrantes. Si tu IdP está alojado en una VPC y la URL de detección no es de acceso público, debes configurar un punto final privado para que AgentCore Identity pueda acceder a los puntos de conexión JWKS y de descubrimiento del OIDC del IdP.
Configure la autorización entrante con un IdP privado
Para configurar la autorización JWT entrante con un IdP privado, incluye el privateEndpoint bloque en la configuración del autorizador al crear o actualizar tu Runtime o Gateway. AgentCore
Ejemplo: CreateAgentRuntime con un IdP privado para la autenticación entrante
{ "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" ] } } } } }
Ejemplo: CreateGateway con un IdP privado para la autenticación entrante
{ "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" ] } } } } }
Si tu IdP usa un certificado TLS emitido por una autoridad certificadora privada, puedes colocar un balanceador de carga de aplicaciones interno con un certificado ACM público delante de él. Para obtener más información, consulta la solución alternativa para los certificados privados: ALB.
Para Lattice autogestionado, sustitúyalo por: managedVpcResource selfManagedLatticeResource
Ejemplo: CreateAgentRuntime con Lattice autogestionado para la autenticación entrante
{ "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" } } } } }
Ejemplo: CreateGateway con Lattice autogestionado para la autenticación entrante
{ "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" } } } } }
Proveedor de credenciales de OAuth saliente con un IdP privado
Cuando configuras un proveedor de credenciales OAuth2 saliente que usa un IdP privado, AgentCore Identity debe llegar al punto final del token del IdP para intercambiar códigos de autorización por tokens de acceso o para conceder las credenciales de los clientes. Si el punto final del token del IdP está alojado en tu VPC, debes configurar un punto final privado en el proveedor de credenciales.
Configura el proveedor de credenciales saliente con un IdP privado
Para configurar un proveedor de credenciales de OAuth saliente con un IdP privado, incluya el privateEndpoint bloque al crear el proveedor de credenciales mediante un proveedor personalizado con configuración manual.
Ejemplo: cree un proveedor de credenciales de OAuth con un IdP privado
{ "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" ] } } } }
Para Lattice autogestionado, sustitúyalo por: managedVpcResource 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" } } } }
Requisitos previos
Antes de configurar un proveedor de identidad privado, asegúrese de lo siguiente:
-
Tu proveedor de identidad está en funcionamiento y es accesible desde tu VPC.
-
Se puede acceder al punto final de detección del OIDC (
/.well-known/openid-configuration), al punto final de JWKS y al punto final del token del IdP desde las subredes especificadas. -
Sus grupos de seguridad permiten el tráfico entrante en el puerto utilizado por su IdP (normalmente el puerto 443 para HTTPS).
-
En el caso de Lattice administrado, tu director de IAM debe tener el
iam:CreateServiceLinkedRolepermiso para AgentCore poder crear la función vinculada al servicio de Identity Network en tu nombre. Para conocer la política de IAM requerida, consulta la función vinculada al servicio de Identity Network. -
En el caso de Lattice administrado, su director de IAM también necesita el siguiente permiso de Amazon EC2:
ec2:CreateNetworkInterface
Service-linked función de los proveedores de identidad privada
Cuando configuras un punto final privado para un proveedor de identidades, AgentCore Identity usa la función AWSServiceRoleForBedrockAgentCoreIdentity vinculada al servicio para administrar la conectividad con tu IdP hospedado en la VPC. Este rol se crea automáticamente la primera vez que configuras un punto final privado administrado para un proveedor de identidades, siempre que el director de IAM tenga el permiso necesario. iam:CreateServiceLinkedRole
Para ver el documento de política completo y las instrucciones para crear, editar y eliminar este rol, consulte el rol vinculado al servicio de Identity Network.
Limitaciones y consideraciones
-
La URL de detección debe ser HTTPS: la URL de detección del OIDC del IdP debe usar HTTPS. No se admiten los puntos finales HTTP.
-
Certificados privados: su IdP debe usar un certificado TLS de confianza pública o debe colocar un ALB junto con un certificado ACM público. Para obtener más información, consulte Solución alternativa para los certificados privados: ALB.
-
Cross-account: la conectividad de un IdP Cross-account privado requiere la opción Lattice autogestionada. Managed Lattice no admite escenarios multicuenta.
Para conocer las limitaciones adicionales relacionadas con la conectividad de VPC Lattice, consulta la sección Limitaciones y consideraciones en la sección Conectarse a los recursos privados de tu VPC mediante VPC Lattice.