Crittografia nell'automazione Amazon Bedrock dei dati - Amazon Bedrock

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

Crittografia nell'automazione Amazon Bedrock dei dati

Amazon BedrockData Automation (BDA) utilizza la crittografia per proteggere i dati archiviati. tra cui i blueprint, i progetti e gli approfondimenti estratti archiviati dal servizio. BDA offre due opzioni per crittografare i dati:

  1. AWSchiavi di proprietà: per impostazione predefinita, BDA crittografa i dati con AWS chiavi di proprietà. Non è possibile visualizzare, gestire o utilizzare chiavi AWS di proprietà o controllarne l'utilizzo. Tuttavia, non è necessario effettuare alcuna operazione o modificare programmi per proteggere le chiavi che eseguono la crittografia dei dati. Per ulteriori informazioni, consulta le chiavi AWS possedute nella AWS Key Management Service Developer Guide.

  2. Chiavi gestite dal cliente: è possibile scegliere di crittografare i dati con chiavi gestite dal cliente stesso. Per ulteriori informazioni sulle AWS KMS chiavi, consulta Customer managed keys nella AWS Key Management Service Developer Guide. BDA non supporta le chiavi gestite dal cliente da utilizzare nella console Amazon Bedrock, ma solo per le operazioni delle API.

Amazon BedrockData Automation abilita automaticamente la crittografia inattiva utilizzando chiavi AWS di proprietà senza alcun costo. Se si utilizza una chiave gestita dal cliente, vengono AWS KMS applicati dei costi. Per ulteriori informazioni sui prezzi, consulta la pagina AWS KMS dei prezzi.

Come Amazon Bedrock utilizza le sovvenzioni in AWS KMS

Se specifichi una chiave gestita dal cliente per la crittografia del tuo BDA quando chiami invokeDataAutomation Async, il servizio crea una concessione associata alle tue risorse per tuo conto inviando una richiesta a. CreateGrant AWS KMS Questa concessione consente a BDA di accedere e utilizzare la chiave gestita dal cliente.

BDA utilizza la concessione della chiave gestita dal cliente per le seguenti operazioni interne:

  • DescribeKey — Invia richieste AWS KMS a per verificare che l'ID della AWS KMS chiave simmetrica gestita dal cliente che hai fornito sia valido.

  • GenerateDataKey e decrittografa: invia richieste AWS KMS per generare chiavi dati crittografate dalla chiave gestita dal cliente e decrittografa le chiavi dati crittografate in modo che possano essere utilizzate per crittografare le risorse.

  • CreateGrant — Invia richieste per AWS KMS creare concessioni circoscritte con un sottoinsieme delle operazioni precedenti (DescribeKey, Decrypt) GenerateDataKey, per l'esecuzione asincrona delle operazioni.

Hai pieno accesso alla tua chiave gestita dai clienti. AWS KMS Per revocare l’accesso alla concessione, seguire la procedura in Ritiro e revoca delle concessioni nella Guida per sviluppatori di AWS KMS o rimuovere l’accesso del servizio alla chiave gestita dal cliente in qualsiasi momento modificando la policy della chiave. In tal caso, BDA non sarà in grado di accedere alle risorse crittografate dalla chiave del cliente.

Se si avvia una nuova chiamata invokeDataAutomation Async dopo aver revocato una concessione, BDA ricreerà la concessione. Le concessioni vengono ritirate da BDA dopo 30 ore.

Creazione di una chiave gestita dal cliente e collegamento di una policy della chiave

Per crittografare le risorse di BDA con una chiave creata e gestita dal cliente, seguire la seguente procedura generale:

  1. (Prerequisito) Assicurati che il tuo ruolo IAM disponga delle autorizzazioni per l'azione. CreateKey

  2. Segui i passaggi indicati in Creazione di chiavi per creare una chiave gestita dal cliente utilizzando la AWS KMS console o l' CreateKey operazione.

  3. La creazione della chiave restituisce un ARN che è possibile utilizzare per operazioni che richiedono l'utilizzo della chiave (ad esempio, quando si crea un progetto o un blueprint in BDA), come l'operazione Async. invokeDataAutomation

  4. Crea e collega una policy della chiave alla chiave con le autorizzazioni richieste. Per creare una policy chiave, segui la procedura descritta in Creazione di una policy chiave nella Developer Guide. AWS KMS

Autorizzazioni e politiche chiave per le risorse di Amazon Bedrock Data Automation

Dopo aver creato una AWS KMS chiave, le si allega una policy chiave. Per le chiavi che crittografano le risorse di BDA vengono utilizzate le seguenti azioni di AWS KMS:

  1. kms:CreateGrant — Crea una concessione per una chiave gestita dal cliente consentendo al servizio BDA di accedere alla AWS KMS chiave specificata tramite le operazioni di concessione, necessarie per InvokeDataAutomationAsync.

  2. kms:DescribeKey — Fornisce i dettagli chiave gestiti dal cliente per consentire a BDA di convalidare la chiave.

  3. kms:GenerateDataKey — Fornisce i dettagli chiave gestiti dal cliente per consentire a BDA di convalidare l'accesso degli utenti.

  4. kms:Decrittografa: decrittografa il testo cifrato archiviato per verificare che il ruolo abbia accesso corretto alla chiave che crittografa le risorse BDA. AWS KMS

Policy della chiave per Amazon Bedrock Data Automation

Per utilizzare la chiave gestita dal cliente per crittografare le risorse di BDA, includere le seguenti dichiarazioni nella policy della chiave e sostituire ${account-id}, ${region} e ${key-id} con valori specifici:

JSON
{ "Version":"2012-10-17", "Id": "KMS key policy for a key to encrypt data for BDA resource", "Statement": [ { "Sid": "Permissions for encryption of data for BDA resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Role" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } } ] }

Autorizzazioni per i ruoli IAM

Il ruolo IAM utilizzato per interagire con BDA AWS KMS deve disporre delle seguenti autorizzazioni ${region}${account-id}, sostituibili e ${key-id} con i tuoi valori specifici:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } } ] }

Contesto di crittografia di Amazon Bedrock Automation

BDA utilizza lo stesso contesto di crittografia in tutte le operazioni AWS KMS crittografiche, in cui si trova la chiave aws:bedrock:data-automation-customer-account-id e il valore è l'ID dell'account. AWS Di seguito è riportato un esempio del contesto di crittografia.

"encryptionContext": { "bedrock:data-automation-customer-account-id": "account id" }
Utilizzo del contesto di crittografia per il monitoraggio

Quando viene utilizzata una chiave simmetrica gestita dal cliente per crittografare i dati dell’area di lavoro, è possibile utilizzare il contesto di crittografia anche nei record e nei log di audit per identificare come viene utilizzata la chiave gestita dal cliente. Il contesto di crittografia appare anche nei log generati da AWS CloudTrail o Amazon CloudWatch Logs.

Utilizzo del contesto di crittografia per controllare l’accesso alla chiave gestita dal cliente

È possibile utilizzare il contesto di crittografia nelle policy delle chiavi e nelle policy IAM come condizioni per controllare l’accesso alla chiave simmetrica gestita dal cliente. È possibile utilizzare i vincoli del contesto di crittografia in una concessione. BDA utilizza un vincolo del contesto di crittografia nelle concessioni per controllare l’accesso alla chiave gestita dal cliente nell’account o nella Regione. Il vincolo della concessione richiede che le operazioni consentite dalla concessione utilizzino il contesto di crittografia specificato.

Di seguito sono riportati alcuni esempi di istruzioni delle policy della chiave per concedere l’accesso a una chiave gestita dal cliente per un contesto di crittografia specifico. Questa istruzione della policy impone come condizione che le concessioni abbiano un vincolo che specifica il contesto di crittografia.

[ { "Sid": "Enable DescribeKey, Decrypt, GenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333" }, "StringEquals": { "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"] } } } ]

Monitoraggio delle chiavi di crittografia per Data Automation Amazon Bedrock

Quando utilizzi una chiave gestita AWS KMS dal cliente con le tue risorse di Amazon Bedrock Data Automation, puoi utilizzare AWS CloudTrailo Amazon CloudWatchtenere traccia delle richieste inviate da Amazon Bedrock Data AutomationAWS KMS. Di seguito è riportato un esempio di AWS CloudTrail evento per CreateGrantmonitorare AWS KMS le operazioni richiamate da Amazon Bedrock Data Automation per creare una concessione primaria:

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01", "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation", "accountId": "111122223333", "userName": "RoleForDataAutomation" }, "attributes": { "creationDate": "2024-05-07T21:46:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "bedrock.amazonaws.com" }, "eventTime": "2024-05-07T21:49:44Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "bedrock.amazonaws.com", "userAgent": "bedrock.amazonaws.com", "requestParameters": { "granteePrincipal": "bedrock.amazonaws.com", "retiringPrincipal": "bedrock.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "constraints": { "encryptionContextSubset": { "aws:bedrock:data-automation-customer-account-id": "000000000000" } }, "operations": [ "Decrypt", "CreateGrant", "GenerateDataKey", "DescribeKey" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }