Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di policy per la memoria
Questa pagina fornisce modelli di policy Cedar specifici di Amazon Bedrock AgentCore Memory, che isolano il chiamante in base al proprio attore, al proprio namespace e a una serie selezionata di operazioni di memoria. Per gli ID delle azioni e i context.input campi di memoria a cui fanno riferimento queste policy, consulta Azioni di memoria e attributi di richiesta. Per il modello Cedar generico e una libreria più ampia di modelli (controlli dell'ambito e dei ruoli OAuth, corrispondenza dei principali IAM, convalida degli input e convalida degli input)unless, vedi Understanding Cedar policies and Example policy. forbid Policy di esempio
Aggiungete ogni policy Cedar al motore di policy del vostro gateway con l'CreatePolicyoperazione, passando l'istruzione Cedar come policy. definition Per la sequenza di configurazione, consulta Configurare un controllo di accesso granulare per la memoria.
In ogni esempio di Cedar, sostituiscilo <target-name> con il nome di destinazione del connettore e <gw-arn> con l'ARN del gateway.
Per-user isolamento: actorID deve essere uguale al soggetto JWT
Consenti a un utente OAuth di accedere a una sessione solo quando la richiesta è actorId uguale alla sua dichiarazione JWT. sub Questo è il modello di isolamento principale per utente per la memoria: ogni utente può accedere solo ai dati del proprio attore.
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 dello spazio dei nomi: il chiamante può recuperare i record solo nel proprio spazio dei nomi
Questa policy consente a un chiamante OAuth di recuperare i record di memoria solo quando la richiesta namespacePath corrisponde al percorso dello spazio dei nomi del chiamante, contenuto in una dichiarazione di token.
Cedar non supporta la concatenazione di stringhe: l'+operatore si applica solo agli operandi interi e i pattern con caratteri jolly devono essere stringhe letterali. like Non è quindi possibile creare un valore dello spazio dei nomi da un'attestazione all'interno della policy (ad esempio, Cedar non è valido). ("/actors/" + principal.getTag("sub") + "/") Chiedi invece al tuo provider di identità di emettere un claim che contenga già il percorso completo dello spazio dei nomi del chiamante, associalo a un tag principale e confrontalo con quel tag. namespacePath In questo esempio, il token fornisce un namespace claim che contiene il percorso dello spazio dei nomi del chiamante (ad esempio). /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") };
Ambito delle azioni: consente solo una serie di operazioni di memoria
Concedi un elenco fisso di operazioni di memoria, ad esempio, consenti l'elenco degli eventi e il recupero dei record, ma nient'altro. Raggruppa più azioni di memoria conaction in […]; i caratteri jolly action-id non sono supportati.
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>" );
Per garantire che la memoria possa essere raggiunta solo attraverso il gateway e non da un principale che chiama direttamente il piano dati della memoria, vedi Limitare l'accesso diretto alla memoria.