View a markdown version of this page

Cifrado en la automatización Amazon Bedrock de datos - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cifrado en la automatización Amazon Bedrock de datos

Amazon Bedrock La automatización de datos (BDA) utiliza el cifrado para proteger los datos en reposo. Esto incluye los planos, los proyectos, las bibliotecas y la información extraída que almacena el servicio. BDA ofrece dos opciones para cifrar los datos:

  1. AWS claves propias: de forma predeterminada, BDA cifra los datos con claves AWS propias. No puede ver, administrar ni usar las claves AWS propias, ni auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte las claves AWS propias en la Guía AWS para desarrolladores del Servicio de administración de claves.

  2. Claves administradas por el cliente: puede optar por cifrar los modelos personalizados con claves administradas por el cliente que administre usted mismo. Para obtener más información sobre AWS KMS las claves, consulte las claves administradas por el cliente en la Guía AWS para desarrolladores del Servicio de administración de claves. BDA no admite el uso de claves administradas por el cliente en la consola de Amazon Bedrock , solo para las operaciones de la API.

Amazon Bedrock La automatización de datos permite automáticamente el cifrado en reposo mediante claves AWS propias sin coste alguno. Si utilizas una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información sobre los precios, consulta AWS KMS los precios.

¿Cómo se Amazon Bedrock utilizan las subvenciones en AWS KMS

Si especificas una clave gestionada por el cliente para el cifrado de tu BDA al llamar a invokeDataAutomation Async o bien CreateDataAutomationLibrary, el servicio crea una concesión asociada a tus recursos en tu nombre enviando una CreateGrant solicitud a. AWS KMS Esta concesión permite a BDA acceder y utilizar su clave administrada por el cliente. La subvención creada por no CreateDataAutomationLibrary se utiliza si el cliente introduce entidades de vocabulario en la biblioteca.

BDA necesita la concesión para utilizar la clave administrada por el cliente para las siguientes operaciones internas:

  • DescribeKey — Envía solicitudes AWS KMS para comprobar que la AWS KMS clave simétrica gestionada por el cliente que has proporcionado es válida.

  • GenerateDataKey y descifrar: envíe solicitudes AWS KMS para generar claves de datos cifradas con la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar sus recursos.

  • CreateGrant — Envíe solicitudes para crear subvenciones con un alcance limitado AWS KMS para la ejecución asíncrona de las operaciones. Las operaciones de concesión varían según la API:

    • InvokeDataAutomationAsync: DescribeKey, GenerateDataKey, Descifrar

    • CreateDataAutomationLibrary: DescribeKey, GenerateDataKey, Descifrar, CreateGrant

Tiene acceso completo a su AWS KMS clave gestionada por el cliente. Puede revocar el acceso a la concesión siguiendo los pasos que se indican en los apartados de retirada y revocación de concesiones de la Guía para desarrolladores de AWS KMS o eliminar el acceso del servicio a su clave administrada por el cliente en cualquier momento modificando la política de claves. Si lo hace, BDA no podrá acceder a los recursos cifrados con su clave.

Si inicia una nueva llamada invokeDataAutomation asíncrona después de revocar una concesión, BDA volverá a crearla.

La BDA retira las subvenciones creadas por invokeDataAutomation Async después de 30 horas.

BDA retira CreateDataAutomationLibrary las subvenciones creadas por cuando se elimina la biblioteca.

Creación de una clave administrada por el cliente y asociación de una política de claves

Para cifrar recursos de BDA con una clave que ha creado y administrado, debe seguir estos pasos generales:

  1. (Requisito previo) Asegúrese de que su función de IAM tenga permisos para la CreateKey acción.

  2. Siga los pasos que se indican en Creación de claves para crear una clave gestionada por el cliente mediante la AWS KMS consola o la CreateKey operación.

  3. La creación de la clave devuelve un ARN que puede utilizar para las operaciones que requieren el uso de la clave (por ejemplo, al crear un proyecto o un plano en BDA), como la invokeDataAutomation operación asíncrona.

  4. Cree y asocie una política de claves a la clave con los permisos necesarios. Para crear una política clave, siga los pasos que se indican en la sección Creación de una política clave de la Guía para desarrolladores. AWS KMS

Permisos y políticas clave para Amazon Bedrock los recursos de automatización de datos

Después de crear una AWS KMS clave, se le adjunta una política de claves. Las siguientes acciones de AWS KMS se utilizan para las claves que cifran los recursos de BDA:

  1. kms:CreateGrant — Crea una concesión para una clave gestionada por el cliente al permitir que el servicio de BDA acceda a la AWS KMS clave especificada mediante operaciones de concesión, necesarias para InvokeDataAutomationAsync y CreateDataAutomationLibrary.

  2. kms:DescribeKey — Proporciona los detalles de la clave gestionada por el cliente para que BDA pueda validarla.

  3. kms:GenerateDataKey — Proporciona los detalles clave gestionados por el cliente para que BDA pueda validar el acceso de los usuarios.

  4. kms:Descifrar: descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la AWS KMS clave que cifra los recursos de BDA.

Política de claves para Automatización de Datos de Amazon Bedrock

Para utilizar la clave administrada por el cliente para cifrar los recursos de BDA, incluya las siguientes instrucciones en su política de claves y sustituya ${account-id}, ${region} y ${key-id} por sus valores específicos:

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

Permisos de rol de IAM

El rol de IAM utilizado para interactuar con BDA AWS KMS debe tener los siguientes permisos ${region}${account-id}, sustitutos y ${key-id} con sus valores específicos:

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" ] } } } ] }

Contexto de cifrado de Amazon Bedrock Data Automation

Para todas DataAutomationLibrary las operaciones AWS KMS criptográficas InvokeDataAutomationLibraryIngestionJob, BDA utiliza el siguiente contexto de cifrado, donde está la clave aws:bedrock:data-automation-library-arn y el valor es el. libraryArn

"encryptionContext": { "aws:bedrock:data-automation-library-arn": "<LibraryArn>" }

Para DataAutomationProject las operaciones, BDA utiliza el siguiente contexto de cifrado:

"encryptionContext": { "DataAutomationProjectArn": "<DataAutomationProjectArn>" }

Para las operaciones de Blueprint, BDA utiliza el siguiente contexto de cifrado:

"encryptionContext": { "BlueprintArn": "<BlueprintArn>" }

Para todas las demás operaciones, BDA utiliza el siguiente contexto de cifrado:

"encryptionContext": { "aws:bedrock:data-automation-customer-account-id": "111122223333" }
Uso del contexto de cifrado para la supervisión

Si utiliza una clave simétrica administrada por el cliente para cifrar los datos, también puede utilizar el contexto de cifrado en los registros y registros de auditoría para identificar cómo se está utilizando la clave administrada por el cliente. El contexto de cifrado también aparece en los registros generados por AWS CloudTrail Amazon CloudWatch Logs.

Utilizar el contexto de cifrado para controlar el acceso a la clave administrada por el cliente

Puede utilizar el contexto de cifrado en políticas de claves y políticas de IAM como condiciones para controlar el acceso a su clave simétrica administrada por el cliente. Puede usar también una restricción de contexto de cifrado en una concesión. BDA utiliza el contexto de cifrado para restringir las concesiones que permiten el acceso a la clave administrada por el cliente en su cuenta o región. La restricción de concesión requiere que las operaciones que permite la concesión utilicen el contexto de cifrado especificado.

Los siguientes son ejemplos de declaraciones de política de claves para conceder acceso a una clave administrada por el cliente para un contexto de cifrado específico. La condición de esta declaración de política exige que las concesiones tengan una restricción de contexto de cifrado que especifique el contexto de cifrado.

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

Cuando llamesCreateDataAutomationLibrary, adjunta la siguiente política para conceder a BDA el permiso necesario para acceder a tu clave gestionada por el cliente.

[ { "Sid": "Enable CreateGrant for CreateDataAutomationLibrary", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] }, "StringEquals": { "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey", "CreateGrant"] } } } ]

Supervisión de sus claves de cifrado para la automatización Amazon Bedrock de datos

Cuando utiliza una clave gestionada por el AWS KMS cliente con sus recursos de automatización de Amazon Bedrock datos, puede utilizar AWS CloudTrailo Amazon CloudWatchrealizar un seguimiento de las solicitudes que envía Amazon Bedrock Data Automation AWS KMS. El siguiente es un ejemplo de AWS CloudTrail evento CreateGrantpara monitorear AWS KMS las operaciones solicitadas por Amazon Bedrock Data Automation para crear una subvención principal:

{ "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" }