Crittografa il tuo motore AgentCore di policy con una chiave KMS gestita dal cliente
Policy in AgentCore fornisce la crittografia di default per proteggere i dati sensibili dei clienti archiviati utilizzando chiavi AWS di crittografia proprietarie. Come ulteriore livello di protezione, Policy in AgentCore consente di crittografare i motori delle policy utilizzando le AWS chiavi gestite dai clienti (CMK) del AWS Key Management Service (KMS). Questa funzionalità garantisce la protezione dei dati sensibili tramite la crittografia inattiva, che consente di:
-
Riduci l'onere operativo a carico del servizio per proteggere i dati sensibili
-
Mantieni il controllo su chi può vedere i dettagli delle tue politiche di autorizzazione tramite le tue chiavi AWS KMS gestite dai clienti
-
Creare applicazioni ad alto livello di sicurezza che rispettano rigorosi requisiti normativi e di conformità per la crittografia
Le sezioni seguenti spiegano come configurare la crittografia per i nuovi motori di policy e gestire le chiavi di crittografia.
Nota
La policy sulla AgentCore crittografia a riposo è disponibile in tutte le AWS regioni in cui AgentCore è disponibile Policy in.
AWS Tipi di chiavi KMS per Policy in AgentCore
Policy in AgentCore si integra con AWS KMS per gestire le chiavi di crittografia utilizzate per crittografare e decrittografare i dati dei clienti. Per ulteriori informazioni sui tipi e sugli stati delle chiavi, consulta i concetti del servizio di gestione delle AWS chiavi nella Guida per sviluppatori KMS. AWS Quando crei un nuovo motore di policy, puoi scegliere tra i seguenti tipi di chiavi AWS KMS per crittografare i tuoi dati:
AWS chiave di proprietà
Il tipo di crittografia predefinito. Policy in AgentCore possiede la chiave senza costi aggiuntivi per l'utente e crittografa i dati delle risorse inattivi al momento della creazione. Non è richiesta alcuna configurazione aggiuntiva nel codice o nelle applicazioni per crittografare o decrittografare i dati utilizzando la chiave di proprietà di Policy in. AgentCore Non è necessario visualizzare, gestire, utilizzare o controllare queste chiavi. Per ulteriori informazioni, consulta le chiavi AWS possedute nella AWS KMS Developer Guide.
Chiave gestita dal cliente
Crei, possiedi e gestisci la chiave nel tuo AWS account. Hai il pieno controllo sulla chiave KMS. AWS Le tariffe KMS si applicano per le chiavi gestite dal cliente. Per ulteriori informazioni, consulta la pagina dei prezzi AWS KMS
Quando si specifica una chiave gestita dal cliente per la crittografia di un motore di policy, Policy in AgentCore crittografa il motore delle policy e tutte le relative risorse secondarie (politiche, generazioni di policy) con quella chiave. Per crittografare un motore di policy utilizzando una chiave gestita dal cliente, devi concedere l'accesso a Policy AgentCore nella tua policy chiave. Una politica chiave è una politica basata sulle risorse che alleghi alla chiave gestita dal cliente per controllarne l'accesso. Per maggiori dettagli, consulta la sezione Autorizzazione dell'uso della chiave AWS KMS per la politica. AgentCore
Inoltre, per creare un motore di policy crittografato con una chiave gestita dal cliente o per effettuare chiamate API a un motore di policy crittografate da una chiave gestita dal cliente, anche l'utente o il ruolo IAM che effettua la chiamata deve avere accesso alla chiave. Se Policy in non AgentCore è in grado di accedere alla chiave, tutte le decisioni di autorizzazione che coinvolgono risorse crittografate da tale chiave verranno negate. Se non si ha accesso alla chiave, non sarà possibile leggere, aggiornare o eliminare le risorse crittografate da tale chiave e qualsiasi chiamata di creazione per utilizzare la chiave per la crittografia avrà esito negativo.
Importante
Una volta utilizzata una chiave gestita dal cliente per crittografare un motore di policy, NON è POSSIBILE aggiornare la risorsa per utilizzare una chiave diversa per la crittografia o rimuovere la chiave da quel motore di policy.
Utilizzo AWS KMS e chiavi dati con Policy in AgentCore
La funzionalità Policy in AgentCore encryption at rest utilizza una chiave KMS e una gerarchia di chiavi dati per proteggere i dati delle risorse.
Nota
Policy in AgentCore supporta solo chiavi KMS simmetriche AWS . Non puoi utilizzare una chiave KMS asimmetrica per crittografare la tua Policy in risorse. AgentCore
Policy in AgentCore utilizza un modello basato sulle sovvenzioni per accedere alla chiave gestita dal cliente. Quando si crea un motore di policy con una chiave gestita dal cliente, Policy in AgentCore esegue i seguenti passaggi:
-
Policy in AgentCore convalida la chiave per garantire che si tratti di una chiave di crittografia simmetrica con utilizzo della
ENCRYPT_DECRYPTchiave e che sia presente nello stato.Enabled -
Policy in AgentCore crea due sovvenzioni AWS KMS per tuo conto. Per creare queste sovvenzioni, Policy AgentCore prevede di
kms:CreateGrantutilizzare la tua identità tramite una sessione di accesso diretto (FAS). Poiché laCreateGrantchiamata viene effettuata con le credenziali dell'utente tramite FAS, la policy relativa alle chiavi AWS KMS deve concedere l'kms:CreateGrantautorizzazione al responsabile AWS dell'account (non a un responsabile del servizio). Le concessioni stesse consentono quindi a Policy di eseguire operazioni crittografiche AgentCore per conto dell'utente senza richiedere un ulteriore coinvolgimento del chiamante. -
Tutti i dati relativi alle policy (policy, generazioni di policy e relative risorse nell'ambito del policy engine) vengono crittografati utilizzando la chiave gestita dal cliente.
Le due sovvenzioni hanno scopi diversi:
- Sovvenzione alla gestione delle politiche
-
Utilizzato per la gestione dei dati relativi alle politiche. Questa concessione consente di crittografare, decrittografare e generare operazioni relative ai dati chiave per la creazione, la lettura, l'aggiornamento e l'eliminazione delle politiche e delle risorse correlate.
- Sovvenzione alla valutazione delle politiche
-
Utilizzato per la valutazione delle politiche di runtime. Questa concessione consente le operazioni di decrittografia e ricrittografia in modo che il motore delle politiche possa valutare le politiche Cedar rispetto alle richieste di autorizzazione in entrata.
Entrambe le concessioni sono vincolate dal contesto di crittografia che utilizza la chiaveaws:bedrock-agentcore-policy:policy-engine-arn, che lega le concessioni alla specifica risorsa del motore delle politiche.
Quando si elimina un motore di policy con una chiave gestita dal cliente, Policy in AgentCore ritira automaticamente entrambe le concessioni.
Importante
Se devi revocare le sovvenzioni manualmente, revoca sempre sia la concessione per la gestione delle politiche che la sovvenzione per la valutazione delle politiche. La revoca di una sola concessione non rimuove completamente l'accesso del servizio alla chiave e può comportare un comportamento incoerente. Puoi visualizzare e gestire le concessioni per la tua chiave utilizzando la console AWS KMS o il comando CLI list-grants AWS .
Autorizzare l'uso del AWS Chiave KMS per Policy in AgentCore
Per utilizzare una chiave gestita dal cliente con Policy in AgentCore, la policy relativa alla chiave AWS KMS deve concedere le autorizzazioni al tuo account. AWS Quando si crea un motore di policy, Policy effettua AgentCore chiamate kms:CreateGrant utilizzando l'identità dell'utente tramite una sessione di accesso diretto (FAS). Di conseguenza, la policy chiave deve concedere tutte kms:CreateGrant le altre autorizzazioni necessarie al responsabile dell'account (non al responsabile del servizio) e utilizza la kms:ViaService condizione per garantire che la chiave venga utilizzata solo tramite Policy in. AgentCore
Policy in AgentCore richiede almeno le seguenti autorizzazioni su una chiave gestita dal cliente:
-
kms:CreateGrant— Crea concessioni per crittografare, decrittografare, generare chiavi di dati, ricrittografare e descrivere le operazioni chiave -
kms:Decrypt— Decrittografa i dati crittografati con la chiave -
kms:GenerateDataKey— Genera chiavi dati per crittografare i dati relativi alle policy -
kms:DescribeKey— Recupera i metadati chiave per convalidare la configurazione delle chiavi
Comprensione del contesto di origine
Il contesto di origine fornisce informazioni sul chiamante di origine che tenta di eseguire azioni AWS KMS su una determinata chiave. Ciò impedisce la confusione o l'uso improprio dei dati crittografati associando il contesto alla fonte dei dati.
Quando Policy in AgentCore esegue operazioni AWS KMS tramite concessioni per conto dell'utente, il contesto di origine identifica la Policy nella AgentCore risorsa che ha avviato la richiesta. Puoi utilizzare il contesto di origine come condizione aggiuntiva alle operazioni basate sulle sovvenzioni nella tua politica chiave per limitare l'utilizzo delle chiavi alle richieste provenienti da account o risorse specifici.
Ad esempio, puoi aggiungere aws:SourceArn condizioni alle operazioni KMS aws:SourceAccount e alle dichiarazioni di convalida nella tua politica chiave per garantire che queste operazioni abbiano successo solo quando la richiesta proviene dal tuo account e dalle risorse del tuo motore di gestione delle politiche:
{ "Sid": "Allow Policy for KMS operations with source context", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:policy-engine/*", "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }
Questa politica chiave consente a Policy in di AgentCore effettuare chiamate AWS KMS per tuo conto tramite sovvenzioni, se l'account di origine è lo stesso dell'account in cui risiede questa chiave KMS. Questi valori devono essere verificabili quando si controllano i registri di CloudTrail controllo per la chiave KMS. Per ulteriori informazioni sulle chiavi di AWS condizione globali, consulta Using aws: SourceArn or aws: SourceAccount condition keys nella KMS Developer Guide. AWS
Comprendere kms: ViaService
La chiave kms:ViaService condition limita l'uso di una chiave KMS alle richieste provenienti da servizi specifici AWS . Questa chiave condizionale si applica alle Forward Access Sessions (FAS). Per ulteriori informazioni sukms:ViaService, consulta kms: ViaService nella KMS Developer AWS Guide.
Nella politica chiave, il kms:ViaService valore segue il formatobedrock-agentcore.REGION.amazonaws.com, dov'è la AWS regione in cui REGION viene creato il motore delle politiche (ad esempio,bedrock-agentcore.us-east-1.amazonaws.com).
Comprensione del contesto di crittografia
Il contesto di crittografia è un insieme di coppie chiave-valore che contengono dati autenticati aggiuntivi per i controlli di integrità della crittografia. Quando includi un contesto di crittografia in una richiesta di crittografia dei dati, AWS KMS associa crittograficamente il contesto di crittografia ai dati crittografati. Per decrittografare i dati, è necessario passare lo stesso contesto di crittografia. Per ulteriori informazioni, consulta Encryption context nella AWS KMS Developer Guide.
Policy in AgentCore utilizza il seguente contesto di crittografia in tutte le operazioni crittografiche AWS KMS e può essere verificato nei CloudTrail log quando Policy in AgentCore effettua chiamate AWS KMS per conto dell'utente per processi di crittografia e decrittografia:
{ "aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:policy-engine/POLICY_ENGINE_ID" }
È possibile utilizzare questo contesto di crittografia nelle condizioni politiche chiave per limitare i motori delle politiche che possono utilizzare la chiave. Ad esempio, la politica chiave riportata nella sezione seguente utilizza una kms:EncryptionContext condizione per consentire l'utilizzo della chiave solo per le risorse del policy engine.
Completa AWS Policy della chiave KMS
In base ai concetti delle sezioni precedenti, la policy chiave di esempio seguente fornisce le autorizzazioni necessarie per crittografare un motore di policy e utilizzare un motore di policy crittografato. La policy contiene le chiavi delle condizioni per conformarsi alle migliori pratiche di sicurezza.
Importante
Sostituisci i seguenti valori nella politica chiave: * 111122223333 — Sostituisci con l'ID del tuo AWS account * us-east-1 — Sostituisci con la tua regione AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Policy to create grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] } } }, { "Sid": "Allow Policy for KMS operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }, { "Sid": "Allow Policy for KMS validation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } } ] }
La politica contiene le seguenti dichiarazioni:
- Consenti a Policy di creare sovvenzioni
-
Consente al chiamante di creare sovvenzioni AWS KMS durante la creazione di un motore di policy. La
kms:GrantConstraintTypecondizione garantisce che le concessioni siano vincolate dal contesto di crittografia. LaForAllValues:StringEqualscondizione onkms:GrantOperationslimita la concessione alle sole operazioni crittografiche richieste da Policy in. AgentCore - Consenti la politica per le operazioni KMS
-
Consente al chiamante di eseguire operazioni di decrittografia e generazione di chiavi di dati tramite Policy in. AgentCore La condizione del contesto di crittografia garantisce che queste operazioni rientrino nell'ambito delle risorse del Policy Engine.
- Consenti la politica per la convalida del KMS
-
Consente al chiamante di descrivere la chiave tramite Policy in. AgentCore Questa autorizzazione viene utilizzata durante la creazione del motore di policy per verificare che la chiave soddisfi i requisiti (utilizzo simmetrico, abilitato e corretto delle chiavi).
Importante
Fai attenzione quando modifichi le politiche chiave AWS KMS per le chiavi già utilizzate da Policy in. AgentCore Se rimuovi inavvertitamente le autorizzazioni necessarie dalla politica chiave, Policy in non AgentCore sarà più in grado di decrittografare i dati della policy e tutte le decisioni di autorizzazione verranno negate. Anche tutte le operazioni che richiedono l'accesso ai dati crittografati (come la creazione, la lettura, l'aggiornamento o l'eliminazione delle politiche) avranno esito negativo.
Prerequisiti per la crittografia del motore di policy
Prima di crittografare il tuo motore di policy, assicurati di aver soddisfatto i seguenti prerequisiti:
-
Hai accesso a una chiave KMS. Per informazioni sulla creazione di una chiave KMS, consulta Create a KMS key nella KMS Developer Guide AWS .
-
La chiave KMS deve essere una chiave di crittografia simmetrica con utilizzo della chiave.
ENCRYPT_DECRYPT -
La chiave KMS deve essere nello stato Enabled.
-
Alla chiave KMS è allegata una politica chiave che concede le autorizzazioni richieste. Vedi la politica chiave completa di AWS KMS per la politica chiave richiesta.
Per ulteriori informazioni sul controllo delle autorizzazioni IAM per una chiave KMS, consulta l'accesso e le autorizzazioni delle chiavi KMS nella KMS Developer Guide. AWS
Creazione di un motore di policy crittografato
Prima di creare un motore di policy crittografato, assicurati che la chiave gestita dal cliente che stai utilizzando abbia le istruzioni chiave appropriate impostate per Policy in AgentCore to use la chiave per la crittografia e la decrittografia. Vedi Autorizzazione dell'uso della chiave AWS KMS per Policy per le autorizzazioni richieste AgentCore.
Per crittografare il tuo motore di policy utilizzando la AWS CLI, includi --encryption-key-arn il parametro quando create-policy-engine invii una richiesta:
aws bedrock-agentcore-control create-policy-engine \ --name "MyPolicyEngine" \ --description "Policy engine with customer-managed encryption" \ --encryption-key-arn "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
La risposta include l'ARN e lo status del motore di policy:
{ "policyEngineId": "MyPolicyEngine-abc123", "name": "MyPolicyEngine", "description": "Policy engine with customer-managed encryption", "policyEngineArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/MyPolicyEngine-abc123", "status": "CREATING", "statusReasons": [], "encryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdAt": "2026-02-24T12:00:00Z", "updatedAt": "2026-02-24T12:00:00Z" }
Nota
Se la chiave KMS utilizzata dal tuo motore di gestione delle politiche viene eliminata, disabilitata o inaccessibile a causa di una politica di chiave AWS KMS errata, la decrittografia delle risorse avrà esito negativo. Ciò può comportare decisioni di autorizzazione negate. La perdita di accesso può essere temporanea (una politica chiave può essere corretta) o permanente (una chiave eliminata non può essere ripristinata) a seconda delle circostanze. Ti consigliamo di limitare l'accesso a operazioni critiche come l'eliminazione o la disabilitazione della chiave KMS. Inoltre, consigliamo all'organizzazione di impostare procedure di accesso «AWS breakglass» per garantire che gli utenti privilegiati possano accedere nell'improbabile eventualità che Policy AWS in risulti inaccessibile. AgentCore
Limitazioni
Le seguenti limitazioni si applicano alla crittografia a chiave gestita dal cliente per i motori di policy:
-
Non è possibile disabilitare la crittografia per un motore di policy una volta abilitata.
-
Dopo aver creato un motore di policy senza crittografia, non è possibile aggiornare il policy engine in modo che venga crittografato da una chiave gestita dal cliente.
-
Dopo aver creato un motore di policy con una chiave gestita dal cliente, non è possibile modificare la chiave o rimuoverla da quel motore di policy. È necessario creare un nuovo motore di policy per utilizzare una chiave diversa.
-
La crittografia a chiave gestita dal cliente è configurata a livello di policy engine. Tutte le risorse del motore di policy, incluse le policy e le generazioni di policy, vengono crittografate utilizzando la stessa chiave gestita dal cliente del policy engine. Non è possibile specificare chiavi diverse per singole risorse all'interno di un motore di policy.
-
Dopo aver revocato l'accesso AgentCore di Policy in a una chiave gestita dal cliente per un motore di policy crittografato esistente, tutte le decisioni di autorizzazione verranno negate perché il motore delle policy non è più in grado di decrittografare i dati delle policy.
Risoluzione dei problemi
Questa sezione descrive gli errori più comuni relativi alle chiavi gestite dai clienti che potresti riscontrare durante l'utilizzo di Policy in AgentCore e fornisce le procedure di risoluzione dei problemi per risolverli.
Accesso negato: AWS Problema di autorizzazione KMS
Errore: «Accesso negato per la chiave KMS specificata. Verifica che la politica chiave conceda le autorizzazioni richieste».
Ciò potrebbe significare che al chiamante non sono disponibili i permessi di azione kms: * richiesti nella policy IAM o nella policy della chiave AWS KMS, oppure che la chiave a cui si fa riferimento non esiste o non esiste più.
Per risolvere questo problema:
-
Verifica che l'ARN della chiave KMS sia corretto e che la chiave esista nella regione specificata.
-
Verifica che la politica della chiave AWS KMS includa le istruzioni richieste. Vedi la politica completa AWS delle chiavi KMS.
-
Verifica che la politica IAM del chiamante includa le autorizzazioni AWS KMS richieste (
kms:CreateGrant,,,kms:Decrypt).kms:GenerateDataKeykms:DescribeKey -
Controlla
kms.amazonaws.com.rproxy.govskope.cagli eventi CloudTrail per identificare quale operazione è stata negata e quale principale l'ha tentata.
Eccezione di convalida: AWS Configurazione della chiave KMS
Errore: «La chiave KMS specificata non è in uno stato utilizzabile. Verifica che la chiave sia abilitata e non sia in attesa di eliminazione».
Ciò significa che la chiave a cui si fa riferimento non può essere utilizzata per la crittografia a chiave gestita dal cliente a causa della sua configurazione attuale. Le ragioni possibili sono:
-
La chiave è disabilitata o è in attesa di eliminazione.
-
La chiave non è una chiave di crittografia simmetrica.
-
La chiave non utilizza alcuna
ENCRYPT_DECRYPTchiave.
Per risolvere questo problema: verifica che la chiave soddisfi i prerequisiti descritti in Prerequisiti per la crittografia del motore delle politiche.