Configurar o autorizador JWT de entrada
O autorizador de entrada autentica e autoriza as solicitações de entrada da API OAuth 2.0 para o Runtime e o Gateway. AgentCore AgentCore Ele valida os JSON Web Tokens (JWTs) antes de permitir o acesso a agentes ou gateways. O autorizador é independente do Provedor de Identidade (IdP) e funciona com qualquer provedor de identidade compatível com OAuth 2.0. Quando o AgentCore Runtime ou o AgentCore Gateway recebem uma solicitação de entrada, o autorizador usa a URL de descoberta configurada para buscar as chaves públicas e o endpoint do servidor de autorização para realizar a validação do JWT. Você pode configurar o autorizador com base no seu IdP e nos escopos ou declarações de autorização permitidos.
Configurar um autorizador de entrada
Você pode configurar o tempo de execução do agente (consulte CreateAgentRuntime) ou o gateway (consulte CreateGateway) para aceitar tokens portadores do JWT fornecendo uma configuração de autorizador durante a criação do agente ou do gateway. A configuração de autorização (consulte CustomJWTAuthorizerConfiguration) é a mesma para AgentCore Runtime ou AgentCore Gateway.
-
URL de descoberta: uma string que deve corresponder ao padrão dos URLs
^.+/\.well-known/openid-configuration$de descoberta do OpenID Connect (OIDC). Você pode encontrar sua URL de descoberta no seu provedor de identidade. Um URL de descoberta é um endereço da web específico que o AgentCore Identity pode usar para encontrar informações sobre os detalhes do endpoint de autenticação. Ele permite que a AgentCore Identity aceite dinamicamente tokens emitidos pelo seu provedor de identidade OIDC sem integração explícita. -
Públicos permitidos: uma lista de públicos permitidos que o AgentCore Identity validará em relação à
audreivindicação no token JWT. Uma afirmação de público (aud) no OAuth 2.0 especifica para qual servidor de recursos (API) o token se destina. O servidor de recursos valida aauddeclaração para garantir que seja o destinatário correto antes de processar a solicitação, evitando que um token seja reutilizado em uma API diferente para a qual não foi emitido. -
Clientes permitidos: uma lista de identificadores de clientes permitidos que o AgentCore Identity validará em relação à
client_idreivindicação no token JWT. Aclient_idno OAuth 2.0 é um identificador público e exclusivo para um aplicativo que está solicitando tokens de acesso para acessar o AgentCore Runtime ou o Gateway. AgentCore Ele age como um nome de usuário para o aplicativo, distinguindo-o de outros clientes (aplicativos) registrados com o autorizador. -
Escopos permitidos: uma lista de permissões permitidas, definidas como escopos, que permitem invocar o tempo de execução ou o gateway. Se configurado, pelo menos um valor de escopo no token de entrada deve corresponder a um dos valores configurados. Um escopo do OAuth 2.0 é uma string que define um nível específico de acesso definido no JWT. Os escopos atuam como permissões para limitar o que um aplicativo pode fazer.
-
Declarações personalizadas obrigatórias (consulte CustomClaimValidationType): Um conjunto de regras para comparar declarações específicas no token de entrada com valores predefinidos para validar tokens JWT. Você pode criar uma regra especificando o seguinte:
-
InboundTokenClaimName: Nome da declaração personalizada.
-
InboundTokenClaimValueType:
STRINGOuSTRING_ARRAY. -
AuthorizingClaimMatchValue: valor obrigatório e operador de comparação da declaração personalizada.
-
ClaimMatchValue: valor obrigatório da declaração personalizada.
-
ClaimMatchOperator: Se for
InboundTokenClaimValueTypeigualSTRING, isso deve ser.EQUALSSe forInboundTokenClaimValueTypeigualSTRING_ARRAY, isso pode serCONTAINSou.CONTAINS_ANY -
Exemplo: Você pode definir uma regra que impõe:
Group must equal Developer.
-
-
-
Observação: pelo menos um dos campos é obrigatório para a configuração: públicos permitidos, clientes permitidos, escopos permitidos ou declarações personalizadas obrigatórias. Se mais de um for usado, o autorizador verificará todos eles.