View a markdown version of this page

Exemplos de políticas para memória - Base da Amazônia AgentCore

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á.

Exemplos de políticas para memória

Esta página fornece padrões de política do Cedar que são específicos da Amazon Bedrock AgentCore Memory — isolando um chamador para seu próprio ator, seu próprio namespace e um conjunto escolhido de operações de memória. Para os IDs e context.input campos de ação de memória que essas políticas fazem referência, consulte Ações de memória e atributos de solicitação. Para o modelo genérico do Cedar e uma biblioteca mais ampla de padrões (verificações de escopo e função do OAuth, correspondência principal do IAM, forbid com e validação de entrada)unless, consulte Compreendendo as políticas do Cedar e exemplos de políticas. Exemplo de política

Você adiciona cada política do Cedar ao mecanismo de políticas do seu gateway com a CreatePolicy operação, passando a declaração do Cedar como política. definition Para a sequência de configuração, consulte Configurar controle de acesso refinado para memória.

Em cada exemplo do Cedar, <target-name> substitua pelo nome de destino do conector e <gw-arn> pelo ARN do gateway.

Per-user isolamento — ActorID deve ser igual ao assunto do JWT

Permita que um usuário do OAuth acesse uma sessão somente quando a solicitação for actorId igual à reivindicação do JWT. sub Esse é o principal padrão de isolamento por usuário da Memória: cada usuário pode acessar somente os dados de seu próprio ator.

permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"<target-name>___POST:/memories/{memoryId}/actor/{actorId}/sessions/{sessionId}", resource == AgentCore::Gateway::"<gw-arn>" ) when { principal.hasTag("sub") && context has input && context.input has actorId && context.input.actorId == principal.getTag("sub") };

Isolamento de namespace — o chamador só pode recuperar registros em seu próprio namespace

Essa política permite que um chamador OAuth recupere registros de memória somente quando a solicitação namespacePath corresponde ao caminho do namespace do próprio chamador, transmitido em uma declaração de token.

O Cedar não oferece suporte à concatenação de strings — o + operador se aplica somente a operandos inteiros, e os padrões de like curingas devem ser literais de string. Portanto, você não pode criar um valor de namespace a partir de uma declaração dentro da política (por exemplo, não ("/actors/" + principal.getTag("sub") + "/") é válido Cedar). Em vez disso, faça com que seu provedor de identidade emita uma declaração que já contenha o caminho completo do namespace do chamador, mapeie-o para uma tag principal e namespacePath compare com essa tag. Neste exemplo, o token fornece uma namespace declaração que contém o caminho do namespace do chamador (como). /actors/<sub>/

permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"<target-name>___POST:/memories/{memoryId}/retrieve", resource == AgentCore::Gateway::"<gw-arn>" ) when { principal.hasTag("namespace") && context has input && context.input has namespacePath && context.input.namespacePath == principal.getTag("namespace") };

Escopo da ação — permite somente um conjunto de operações de memória

Conceda uma lista fixa de operações de memória — por exemplo, permita listar eventos e recuperar registros, mas nada mais. Agrupe várias ações de memória comaction in […​]; os curingas de identificação de ação não são suportados.

permit( principal, action in [ AgentCore::Action::"<target-name>___POST:/memories/{memoryId}/actor/{actorId}/sessions/{sessionId}", AgentCore::Action::"<target-name>___POST:/memories/{memoryId}/retrieve" ], resource == AgentCore::Gateway::"<gw-arn>" );

Para garantir que a memória só possa ser acessada por meio de seu gateway — e não por um principal chamando diretamente o plano de dados da memória — consulte Restringir acesso direto à memória.