Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de politiques pour la mémoire
Cette page fournit des modèles de politique Cedar spécifiques à Amazon Bedrock AgentCore Memory, qui isolent l'appelant de son propre acteur, de son propre espace de noms et d'un ensemble choisi d'opérations de mémoire. Pour les ID d'action de mémoire et context.input les champs auxquels ces politiques font référence, voir Actions de mémoire et attributs de demande. Pour le modèle générique de Cedar et une bibliothèque plus étendue de modèles (vérifications de la portée et des rôles OAuth, correspondance du principal IAM, forbid avec et validation des entrées)unless, voir Comprendre les politiques de Cedar et les exemples de politiques.
Vous ajoutez chaque politique Cedar au moteur de politique de votre passerelle au fur et à mesure de l'CreatePolicyopération, en transmettant la déclaration Cedar comme politiquedefinition. Pour la séquence de configuration, voir Configuration d'un contrôle d'accès précis pour la mémoire.
Dans chaque exemple de Cedar, remplacez-le <target-name> par le nom de cible de votre connecteur et <gw-arn> par l'ARN de votre passerelle.
Per-user isolation — ActorID doit être égal au sujet JWT
Autoriser un utilisateur OAuth à accéder à une session uniquement lorsque la demande est actorId égale à sa réclamation sub JWT. Il s'agit du modèle d'isolation de base par utilisateur pour Memory : chaque utilisateur ne peut accéder qu'aux données de son propre acteur.
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") };
Isolation de l'espace de noms : l'appelant ne peut récupérer les enregistrements que dans son propre espace de noms
Cette politique permet à un appelant OAuth de récupérer des enregistrements de mémoire uniquement lorsque la demande namespacePath correspond au chemin d'espace de noms de l'appelant, contenu dans une réclamation de jeton.
Cedar ne prend pas en charge la concaténation de chaînes : l'+opérateur s'applique uniquement aux opérandes entiers et les like caractères génériques doivent être des chaînes littérales. Vous ne pouvez donc pas créer de valeur d'espace de noms à partir d'une revendication contenue dans la politique (par exemple, Cedar n'("/actors/" + principal.getTag("sub") + "/")est pas valide). Demandez plutôt à votre fournisseur d'identité d'émettre une réclamation contenant déjà le chemin complet de l'espace de noms de l'appelant, de le mapper à une balise principale et de la namespacePath comparer à cette balise. Dans cet exemple, le jeton fournit une namespace revendication qui contient le chemin de l'espace de noms de l'appelant (tel que/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") };
Étendue des actions : n'autorise qu'un ensemble d'opérations sur la mémoire
Accordez une liste fixe d'opérations de mémoire. Par exemple, autorisez la liste des événements et la récupération d'enregistrements, mais rien d'autre. Regroupez plusieurs actions de mémoire avec action in […] ; les caractères génériques action-id ne sont pas pris en charge.
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>" );
Pour vous assurer que la mémoire est uniquement accessible via votre passerelle, et non par un principal appelant directement le plan de données de la mémoire, voir Restreindre l'accès direct à la mémoire.