Crittografa il tuo AgentCore gateway con una chiave KMS gestita dal cliente
Per impostazione predefinita, Gateway crittografa i dati inattivi utilizzando una chiave del servizio di gestione delle AWS chiavi gestita dal servizio. Tuttavia, puoi facoltativamente fornire la tua chiave KMS gestita dal cliente per crittografare i dati inattivi quando:
-
Crea un gateway.
-
Aggiorna le configurazioni di un gateway.
L'utilizzo di una chiave gestita dal cliente offre un maggiore controllo sul processo di crittografia, inclusa la possibilità di:
-
Ruota la chiave secondo la tua pianificazione
-
Controlla l'accesso alla chiave tramite le policy IAM
-
Disattiva o elimina la chiave quando non è più necessaria
-
Verifica l'utilizzo delle chiavi tramite CloudWatch registri e AWS CloudTrail
Per ulteriori informazioni, consulta la Guida per gli sviluppatori del servizio di gestione delle AWS chiavi.
Nota
Se scegli di utilizzare una chiave gestita dal cliente, sei responsabile della gestione della chiave e delle relative autorizzazioni. Se la chiave viene disabilitata o eliminata, o se Gateway perde l'autorizzazione a utilizzare la chiave, perderai l'accesso ai dati crittografati.
Prerequisiti per la crittografia del gateway AgentCore
Prima di crittografare il gateway, assicurati di aver soddisfatto i seguenti prerequisiti:
-
Hai accesso a una chiave KMS. Per informazioni sulla creazione di una chiave KMS, consulta Creare una chiave KMS.
-
Alla chiave KMS è associata una politica chiave che consente le seguenti autorizzazioni:
-
Autorizzazioni che consentono al ruolo del servizio gateway di eseguire le seguenti azioni:
-
kms:CreateGrant
-
kms:DescribeKey
-
kms:Decrypt
-
kms:GenerateDataKey
-
-
(Se abiliti CloudWatch i log per il tuo gateway) Autorizzazioni che consentono al servizio CloudWatch Logs di decrittografare la chiave.
Per ulteriori informazioni sul controllo delle autorizzazioni IAM per una chiave KMS, consulta l'accesso e le autorizzazioni delle chiavi KMS nella Key Management Service Developer Guide. AWS
-
Esempio di politica chiave
La seguente politica di esempio fornisce le autorizzazioni necessarie per crittografare un gateway e utilizzare un gateway crittografato. La quarta istruzione consente inoltre di registrare con CloudWatch Logs l'utilizzo delle chiavi per il gateway crittografato. La politica contiene le chiavi delle condizioni per conformarsi alle migliori pratiche di sicurezza.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowServiceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] } } }, { "Sid": "AllowServiceRoleDecryptKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowServiceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ], "kms:GrantConstraintType": "EncryptionContextSubset" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowKMSDecryptionLogging", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:123456789012:*" } } } ] }
La politica contiene le seguenti dichiarazioni:
-
AllowServiceRoleDescribeKKey— Consente al principale specificato di descrivere la chiave se la richiesta viene effettuata tramite il AgentCore servizio. Sostituisci i valori nei seguenti campi:
-
Principal— Sostituisci ilAWSvalore con l'ARN effettivo del tuo ruolo di servizio gateway. -
Condition— Nell'kms:ViaServicearray, sostituirlous-east-1con la AWS regione effettiva per la quale si desidera consentire la descrizione della chiave.
-
-
AllowServiceRoleDecryptKey— Consente al principale specificato di decrittografare la chiave se la richiesta viene effettuata tramite il AgentCore servizio e se l'ARN del gateway a cui viene effettuata la richiesta corrisponde a quello nel campo.
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnSostituisci i valori seguenti:-
Principal— Sostituisci ilAWSvalore con l'ARN effettivo del tuo ruolo di servizio gateway. -
Condition— Effettuare le seguenti operazioni:-
Nell'
kms:ViaServicearray,us-east-1sostituiscilo con la AWS regione effettiva per la quale desideri consentire la decrittografia della chiave. -
Sostituisci il
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvalore con l'ARN effettivo del tuo gateway.
-
-
-
AllowServiceRoleCreateGrant— Consente al principale specificato di creare una concessione per una chiave se la richiesta viene effettuata tramite il AgentCore servizio e se l'ARN del gateway a cui viene effettuata la richiesta corrisponde a quello nel
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arncampo. Sostituisci i valori seguenti:-
Principal— Sostituisci ilAWSvalore con l'ARN effettivo del tuo ruolo di servizio gateway. -
Condition— Effettuare le seguenti operazioni:-
Nell'
kms:ViaServicearray,us-east-1sostituiscilo con la AWS regione effettiva per la quale desideri consentire la decrittografia della chiave. -
Sostituisci il
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvalore con l'ARN effettivo del gateway (se lo desideri consentire).
-
-
-
AllowKMSDecryptionLogging— Consente al principale specificato di decrittografare una chiave KMS gestita dal cliente per il controllo dell'utilizzo delle chiavi tramite Logs. CloudWatch Nel
kms:EncryptionContext:SourceArnvalore, sostituisci i123456789012valori con la regioneus-east-1e l'ID dell'account effettivi. AWS