Cifrado de trabajos y artefactos de personalización de modelos - 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 de trabajos y artefactos de personalización de modelos

Amazon Bedrock utiliza los datos de entrenamiento con la CreateModelCustomizationJobacción o con la consola para crear un modelo personalizado que es una versión mejorada de un modelo básico de Amazon Bedrock. Sus modelos personalizados los gestiona y almacena. AWS

Amazon Bedrock utiliza los datos de ajuste preciso que usted proporciona únicamente para ajustar con precisión un modelo de base de Amazon Bedrock. Amazon Bedrock no utiliza los datos de ajuste preciso para ningún otro propósito. Sus datos de entrenamiento no se utilizan para entrenar los Titan modelos base ni se distribuyen a terceros. Otros datos de uso, como las marcas de tiempo de uso, la cuenta IDs registrada y otra información registrada por el servicio, tampoco se utilizan para entrenar los modelos.

Amazon Bedrock no almacena ninguno de los datos de entrenamiento o validación que proporcione para el ajuste fino, una vez finalizado el trabajo de ajuste fino.

Tenga en cuenta que los modelos ajustados con precisión pueden reproducir algunos de los datos de ajuste preciso y, al mismo tiempo, generar finalizaciones. Si tu aplicación no debe exponer datos de ajuste de ningún tipo, primero debes filtrar los datos confidenciales de tus datos de entrenamiento. Si ya has creado un modelo personalizado con datos confidenciales por error, puedes eliminar ese modelo personalizado, filtrar la información confidencial de los datos de entrenamiento y, a continuación, crear un modelo nuevo.

Para cifrar modelos personalizados (incluidos los modelos copiados), Amazon Bedrock le ofrece dos opciones:

  1. Claves propiedad de AWS— De forma predeterminada, Amazon Bedrock cifra los modelos personalizados con. Claves propiedad de AWS No puede ver, administrar Claves propiedad de AWS, usar 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 Claves propiedad de AWS en la Guía para desarrolladores de AWS Key Management Service .

  2. Claves administradas por el cliente: puede optar por cifrar los modelos personalizados con claves administradas por el cliente que usted mismo administra. Para obtener más información AWS KMS keys, consulte las claves administradas por el cliente en la Guía para AWS Key Management Service desarrolladores.

nota

Amazon Bedrock habilita automáticamente el cifrado en Claves propiedad de AWS reposo sin coste alguno. Si utiliza una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información acerca de los precios, consulte Precios de AWS Key Management Service.

Para obtener más información al respecto AWS KMS, consulte la Guía para AWS Key Management Service desarrolladores.

Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS

Si especifica una clave gestionada por el cliente para cifrar un modelo personalizado para un trabajo de personalización o copia de modelos, Amazon Bedrock crea una KMS concesión principal asociada al modelo personalizado en su nombre enviando una CreateGrantsolicitud a. AWS KMS Esta concesión permite a Amazon Bedrock acceder a su clave gestionada por el cliente y utilizarla. Las concesiones en se AWS KMS utilizan para dar a Amazon Bedrock acceso a una KMS clave de la cuenta de un cliente.

Amazon Bedrock requiere la concesión principal para utilizar la clave gestionada por el cliente en las siguientes operaciones internas:

  • Envíe DescribeKeysolicitudes AWS KMS para comprobar que el identificador de KMS clave simétrico gestionado por el cliente que ingresó al crear el trabajo es válido.

  • Envíe GenerateDataKeyy descifre las 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 los artefactos del modelo.

  • Envíe CreateGrantsolicitudes AWS KMS para crear concesiones secundarias limitadas con un subconjunto de las operaciones anteriores (DescribeKey,, GenerateDataKeyDecrypt), para la ejecución asíncrona de la personalización del modelo, la copia del modelo o la creación del rendimiento aprovisionado.

  • Amazon Bedrock especifica un director que se jubila durante la creación de las subvenciones, para que el servicio pueda enviar una RetireGrantsolicitud.

Tiene acceso total a su clave gestionada AWS KMS por el cliente. Puedes revocar el acceso a la subvención siguiendo los pasos que se indican en la Guía para AWS Key Management Service desarrolladores sobre cómo retirar y revocar la subvención o eliminar el acceso del servicio a tu clave gestionada por el cliente en cualquier momento modificando la política de claves. Si lo hace, Amazon Bedrock no podrá acceder al modelo personalizado cifrado por su clave.

Ciclo de vida de las subvenciones principales y secundarias para modelos personalizados

  • Las subvenciones principales tienen una vida útil prolongada y permanecen activas mientras se sigan utilizando los modelos personalizados asociados. Cuando se elimina un modelo personalizado, la concesión principal correspondiente se retira automáticamente.

  • Las subvenciones secundarias son de corta duración. Se retiran automáticamente en cuanto se completa la operación que Amazon Bedrock realiza en nombre de los clientes. Por ejemplo, una vez finalizado un trabajo de copia de un modelo, la concesión secundaria que permitió a Amazon Bedrock cifrar el modelo personalizado copiado se retirará inmediatamente.

Aprenda a crear una clave gestionada por el cliente y a adjuntarle una política de claves

Para cifrar un AWS recurso con una clave que usted cree y administre, lleve a cabo los siguientes pasos generales:

  1. (Requisito previo) Asegúrese de que su IAM rol tenga permisos para la CreateKeyacció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 CreateKeyoperación.

  3. Al crear la clave, se obtiene un valor Arn para la clave que se puede utilizar para las operaciones que requieren el uso de la clave (por ejemplo, al enviar un trabajo de personalización del modelo o ejecutar una inferencia del modelo).

  4. Cree y adjunte una política de claves a la clave con los permisos necesarios. Para crear una política clave, sigue los pasos que se indican en Crear una política clave en la Guía para AWS Key Management Service desarrolladores.

Permisos y políticas clave para modelos personalizados y copiados

Después de crear una KMS clave, debe adjuntarle una política de claves. Las políticas clave son políticas basadas en recursos que se adjuntan a la clave gestionada por el cliente para controlar el acceso a la misma. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de claves. Puede modificar la política clave en cualquier momento, pero es posible que haya un breve retraso antes de que el cambio esté disponible de forma definitiva. AWS KMS Para obtener más información, consulte Administración del acceso a las claves en la Guía para desarrolladores de AWS Key Management Service.

Las siguientes KMS acciones se utilizan para las claves que cifran los modelos personalizados y copiados:

  1. kms: CreateGrant — Crea una concesión para una clave gestionada por el cliente al permitir que el director del servicio Amazon Bedrock acceda a la KMS clave especificada mediante operaciones de concesión. Para obtener más información sobre las subvenciones, consulte Subvenciones AWS KMS en la Guía para AWS Key Management Service desarrolladores.

    nota

    Amazon Bedrock también establece un principal que se jubila y retira automáticamente la subvención cuando ya no es necesaria.

  2. kms: DescribeKey — Proporciona los detalles clave gestionados por el cliente para que Amazon Bedrock pueda validar la clave.

  3. kms: GenerateDataKey — Proporciona los detalles clave gestionados por el cliente para permitir que Amazon Bedrock valide el acceso de los usuarios. Amazon Bedrock almacena el texto cifrado generado junto con el modelo personalizado para utilizarlo como comprobación de validación adicional frente a los usuarios del modelo personalizado.

  4. kms:Decrypt: descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la clave que cifra el modelo personalizado. KMS

Como práctica recomendada de seguridad, le recomendamos que incluya la clave de ViaService condición kms: para limitar el acceso a la clave del servicio Amazon Bedrock.

Aunque solo puede adjuntar una política clave a una clave, puede adjuntar varias declaraciones a la política clave añadiendo declaraciones a la lista en el Statement campo de la política.

Las siguientes afirmaciones son relevantes para cifrar modelos personalizados y copiados:

Para utilizar la clave gestionada por el cliente para cifrar un modelo personalizado o copiado, incluya la siguiente declaración en una política de claves para permitir el cifrado de un modelo. En el Principal campo, añada las cuentas a las que desee permitir el cifrado y el descifrado de la clave a la lista a la que se asigna el AWS subcampo. Si usa la clave de kms:ViaService condición, puede agregar una línea para cada región o usar * en lugar de ${region} para permitir que todas las regiones admitan Amazon Bedrock.

{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

Para permitir el acceso a un modelo que se haya cifrado con una KMS clave, incluya la siguiente declaración en una política de claves para permitir el descifrado de la clave. En el Principal campo, añada las cuentas a las que desee permitir que se descifre la clave a la lista a la que se asigna el AWS subcampo. Si usa la clave de kms:ViaService condición, puede agregar una línea para cada región o usar * en lugar de ${region} para permitir que todas las regiones admitan Amazon Bedrock.

{ "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

Para obtener más información sobre las políticas clave que debe crear, amplíe la sección correspondiente a su caso de uso:

Si planea cifrar un modelo que personalice con una KMS clave, la política de claves de la clave dependerá de su caso de uso. Amplía la sección que corresponda a tu caso de uso:

Si los roles que invocarán el modelo personalizado son los mismos que los roles que personalizarán el modelo, solo necesitará la declaración de. Cifrar un modelo En el Principal campo de la siguiente plantilla de políticas, añada las cuentas que desee permitir personalizar e invoque el modelo personalizado a la lista a la que se asigna el AWS subcampo.

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Si los roles que invocarán el modelo personalizado son diferentes del rol que personalizará el modelo, necesitará la declaración de Cifrar un modelo y. Permitir el acceso a un modelo cifrado Modifique las declaraciones de la siguiente plantilla de políticas de la siguiente manera:

  1. La primera sentencia permite cifrar y descifrar la clave. En el Principal campo, añada las cuentas que desee permitir para personalizar el modelo personalizado a la lista a la que se asigna el AWS subcampo.

  2. La segunda instrucción solo permite descifrar la clave. En el Principal campo, añada a la lista a la que se asigna el AWS subcampo las cuentas que desee permitir únicamente para invocar el modelo personalizado.

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Cuando copia un modelo que le pertenece o que ha compartido con usted, es posible que tenga que gestionar hasta dos políticas clave:

Si planea usar una KMS clave para cifrar un modelo copiado, la política de claves de la clave dependerá del caso de uso. Amplíe la sección que corresponda a su caso de uso:

Si las funciones que invocarán el modelo copiado son las mismas que las funciones que crearán la copia del modelo, solo necesitará la declaración de. Cifrar un modelo En el Principal campo de la siguiente plantilla de política, añada las cuentas que desee permitir copiar e invoque el modelo copiado a la lista a la que se asigna el AWS subcampo:

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Si los roles que invocarán el modelo copiado son diferentes del rol que creará la copia del modelo, necesitará tanto la declaración de como la deCifrar un modelo. Permitir el acceso a un modelo cifrado Modifique las declaraciones de la siguiente plantilla de política de la siguiente manera:

  1. La primera sentencia permite cifrar y descifrar la clave. En el Principal campo, añada las cuentas a las que desee permitir la creación del modelo copiado a la lista a la que se asigna el AWS subcampo.

  2. La segunda sentencia solo permite descifrar la clave. En el Principal campo, añada a la lista a la que está asignado el AWS subcampo las cuentas que desee permitir únicamente para invocar el modelo copiado.

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Si el modelo de origen que va a copiar está cifrado con una KMS clave, adjunte la declaración de Permitir el acceso a un modelo cifrado a la política de claves correspondiente a la clave que cifra el modelo de origen. Esta sentencia permite a la función de copia del modelo descifrar la clave que cifra el modelo fuente. En el Principal campo de la siguiente plantilla de política, añada las cuentas a las que desee permitir copiar el modelo fuente a la lista a la que se asigna el AWS subcampo:

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Supervise sus claves de cifrado para el servicio Amazon Bedrock

Cuando utilizas una clave gestionada por el AWS KMS cliente con tus recursos de Amazon Bedrock, puedes utilizar AWS CloudTrailAmazon CloudWatch Logs para realizar un seguimiento de las solicitudes a las que Amazon Bedrock envía. AWS KMS

El siguiente es un ejemplo de un AWS CloudTrail evento CreateGrantpara supervisar KMS las operaciones convocadas por Amazon Bedrock para crear una subvención principal:

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01", "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy", "accountId": "111122223333", "userName": "RoleForModelCopy" }, "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", "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" }

Cifrado de los datos de entrenamiento, validación y salida

Cuando utiliza Amazon Bedrock para ejecutar un trabajo de personalización de modelos, almacena los archivos de entrada en su bucket de Amazon S3. Cuando se completa el trabajo, Amazon Bedrock almacena los archivos de métricas de salida en el depósito de S3 que especificó al crear el trabajo y los artefactos del modelo personalizado resultantes en un depósito de S3 controlado por. AWS

Los archivos de salida se cifran con las configuraciones de cifrado del bucket de S3. Se cifran con el cifrado SSE -S3 del lado del servidor o con el KMScifrado AWS KMS SSE -, según cómo se configure el depósito de S3.