Fine-grained controle de acesso para Amazon Bedrock AgentCore Gateway
O Amazon Bedrock AgentCore Gateway fornece recursos de controle de acesso refinados que permitem controlar quais usuários e agentes podem acessar ferramentas e recursos específicos. Você pode implementar o controle de acesso por meio de interceptores de gateway para uma lógica personalizada ou usar políticas baseadas em recursos para controle de acesso no AWS estilo padrão. Para obter informações sobre políticas baseadas em recursos, consulte as políticas Resource-based do Amazon Bedrock. AgentCore
Usando interceptores para controle de acesso
Os interceptores de gateway fornecem a maneira mais flexível de implementar um controle de acesso refinado. Os interceptores REQUEST são executados antes que o gateway faça uma chamada para o alvo, permitindo que você:
-
Valide as permissões do usuário com base nas declarações do JWT ou na lógica personalizada
-
Controle o acesso a ferramentas específicas ou operações de MCP
-
Implemente controle de acesso baseado em funções ou atributos
-
Filtrar ou modificar solicitações com base no contexto do usuário
-
Erros de autorização de devolução para solicitações não autorizadas
Para obter informações detalhadas sobre a implementação e configuração de interceptores, incluindo exemplos de lógica de autorização, consulte Usando interceptores com o Gateway.
Níveis de controle de acesso
Fine-grained o controle de acesso no Gateway pode ser implementado em vários níveis:
- Gateway-level access
-
Controla quais usuários ou agentes podem se conectar e se autenticar com o gateway por meio de servidores de autorização OAuth ou AWS autenticação IAM.
- Tool-level access
-
Controla o acesso a ferramentas específicas em um gateway usando a lógica do interceptor para validar as permissões antes da execução da ferramenta.
- Operation-level access
-
Controla o acesso a operações específicas do MCP (como
tools/listoutools/call) usando interceptores para validar as permissões da operação. - Parameter-level access
-
Controla o acesso a parâmetros ou dados específicos nas operações usando interceptores para filtrar ou validar os parâmetros da solicitação.
Abordagens de implementação
Você pode implementar um controle de acesso refinado usando:
- Validação de reivindicações JWT
-
Use interceptores para examinar reivindicações da JWT, como funções de usuário, departamentos ou atributos personalizados, para tomar decisões de autorização.
- Correspondência principal do IAM
-
Para IAM-authenticated gateways, implemente o controle de acesso comparando com o ARN do IAM do chamador. Use a correspondência de padrões
principal.idnas políticas do Cedar para restringir o acesso com base em AWS contas, funções ou usuários. - Serviços de autorização externa
-
Configure interceptores para chamar serviços de autorização externos ou bancos de dados para validar as permissões do usuário.
- Filtragem de contexto de solicitação
-
Use interceptores para modificar solicitações com base no contexto do usuário, como adicionar filtros específicos do usuário ou limitar o escopo dos dados.
Práticas recomendadas
-
Princípio do menor privilégio - Conceda aos usuários somente o acesso mínimo necessário para realizar suas tarefas.
-
Use declarações estruturadas - Aproveite as declarações do JWT para levar o contexto do usuário e as informações de autorização aos seus interceptores.
-
Implemente padrões à prova de falhas - Projete interceptores para negar acesso por padrão quando a autorização não puder ser determinada.
-
Registre as decisões de autorização - garanta que seus interceptores registrem as decisões de acesso para fins de auditoria.