As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Conecte-se a provedores de identidade privados
O Amazon Bedrock AgentCore Identity suporta a conexão com provedores de identidade OAuth 2.0 (IdPs) hospedados em sua AWS VPC, como o Keycloak auto-hospedado ou outros servidores de OIDC-compliant autorização PingFederate, sem expô-los à Internet pública. Isso permite que você use a autorização privada do JWT de entrada com o AgentCore Runtime e o AgentCore Gateway, bem como IdPs para os provedores de credenciais de saída do OAuth2.
A conectividade privada com a VPC hospedada IdPs é estabelecida usando gateways de recursos Amazon VPC Lattice e configurações de recursos, seguindo o mesmo padrão usado pela saída do Gateway VPC. AgentCore AgentCore O Identity usa a função AWSServiceRoleForBedrockAgentCoreIdentity vinculada ao serviço para criar e gerenciar recursos do VPC Lattice em sua conta para conectividade privada com seus endpoints de IdP.
Importante
AgentCore oferece suporte a dois modos de conectividade VPC Lattice: Lattice gerenciado (mais simples, AgentCore gerencia o ciclo de vida dos recursos) e Lattice autogerenciado (avançado, com suporte entre contas e visibilidade total de governança). Cada modo tem diferentes vantagens e desvantagens em termos de complexidade, custo e controle. Para uma comparação detalhada com os prós e os contras, consulte Modos de saída de VPC compatíveis.
Casos de uso
Os provedores de identidade privada são comuns em ambientes corporativos em que as organizações:
-
Execute servidores de autorização auto-hospedados dentro de sua VPC para atender aos requisitos de conformidade ou residência de dados
-
Use endpoints de descoberta OIDC privados que não são acessíveis ao público
-
Exija que todo o tráfego de autenticação permaneça na AWS rede sem atravessar a Internet pública
Autorização de entrada do JWT com um IdP privado
Quando você configura a autorização JWT de entrada para AgentCore Runtime ou AgentCore Gateway, o autorizador usa a URL de descoberta para buscar as chaves públicas do IdP (JWKS) e validar os tokens JWT recebidos. Se seu IdP estiver hospedado em uma VPC e o URL de descoberta não estiver acessível publicamente, você deverá configurar um endpoint privado para que o AgentCore Identity possa acessar a descoberta de OIDC e os endpoints JWKS do IdP.
Configurar a autorização de entrada com um IdP privado
Para configurar a autorização JWT de entrada com um IdP privado, inclua o privateEndpoint bloco na configuração do autorizador ao criar ou atualizar seu AgentCore Runtime ou Gateway.
Exemplo: CreateAgentRuntime com IdP privado para autenticação de entrada
{ "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" ] } } } } }
Exemplo: CreateGateway com IdP privado para autenticação de entrada
{ "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" ] } } } } }
Se seu IdP usa um certificado TLS emitido por uma autoridade de certificação privada, você pode colocar um Application Load Balancer interno com um certificado público do ACM na frente dele. Para obter mais informações, consulte Solução alternativa para certificados privados: ALB.
Para o Lattice autogerenciado, substitua pormanagedVpcResource: selfManagedLatticeResource
Exemplo: CreateAgentRuntime com Lattice autogerenciado para autenticação de entrada
{ "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" } } } } }
Exemplo: CreateGateway com Lattice autogerenciado para autenticação de entrada
{ "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" } } } } }
Provedor de credenciais OAuth de saída com um IdP privado
Quando você configura um provedor de credenciais OAuth2 de saída que usa um IdP privado, o AgentCore Identity precisa acessar o endpoint do token do IdP para trocar códigos de autorização por tokens de acesso ou realizar concessões de credenciais de cliente. Se o endpoint de token do IdP estiver hospedado em sua VPC, você deverá configurar um endpoint privado no provedor de credenciais.
Configurar o provedor de credenciais de saída com um IdP privado
Para configurar um provedor de credenciais OAuth de saída com um IdP privado, inclua o privateEndpoint bloco ao criar o provedor de credenciais usando um provedor personalizado com configuração manual.
Exemplo: criar um provedor de credenciais OAuth com um 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 o Lattice autogerenciado, substitua pormanagedVpcResource: 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" } } } }
Pré-requisitos
Antes de configurar um provedor de identidade privada, certifique-se do seguinte:
-
Seu provedor de identidade está em execução e acessível em sua VPC.
-
O endpoint de descoberta OIDC (
/.well-known/openid-configuration), o endpoint JWKS e o endpoint de token do IdP podem ser acessados a partir das sub-redes especificadas. -
Seus grupos de segurança permitem tráfego de entrada na porta usada pelo seu IdP (normalmente porta 443 para HTTPS).
-
Para o Lattice gerenciado, seu diretor do IAM deve ter a
iam:CreateServiceLinkedRolepermissão para AgentCore criar a função vinculada ao serviço da Identity Network em seu nome. Para a política de IAM necessária, consulte Função vinculada ao serviço da Identity Network. -
Para o Lattice gerenciado, seu diretor do IAM também precisa da
ec2:CreateNetworkInterfaceseguinte permissão do Amazon EC2.
Service-linked papel dos provedores de identidade privados
Quando você configura um endpoint privado para um provedor de AgentCore identidade, o Identity usa a função AWSServiceRoleForBedrockAgentCoreIdentity vinculada ao serviço para gerenciar a conectividade com seu IdP hospedado na VPC. Essa função é criada automaticamente na primeira vez que você configura um endpoint privado gerenciado para um provedor de identidade, desde que seu diretor do IAM tenha a iam:CreateServiceLinkedRole permissão necessária.
Para obter o documento de política completo e as instruções para criar, editar e excluir essa função, consulte Função vinculada ao serviço da Identity Network.
Limitações e considerações
-
O URL de descoberta deve ser HTTPS: O URL de descoberta do OIDC do IdP deve usar HTTPS. Não há suporte para endpoints HTTP.
-
Certificados privados: Seu IdP deve usar um certificado TLS publicamente confiável ou você deve colocar um ALB com um certificado ACM público na frente dele. Para obter mais informações, consulte Solução alternativa para certificados privados: ALB.
-
Cross-account: a conectividade IdP Cross-account privada requer a opção de rede autogerenciada. O Managed Lattice não oferece suporte a cenários entre contas.
Para outras limitações relacionadas à conectividade VPC Lattice, consulte Limitações e considerações em Conecte-se a recursos privados em sua VPC usando VPC Lattice.