View a markdown version of this page

Cifrado de los modelos personalizados - 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 los modelos personalizados

Amazon Bedrock usa sus datos de entrenamiento con la CreateModelCustomizationJob acción o con la consola para crear un modelo personalizado que es una versión ajustada de un modelo fundamental de Amazon Bedrock. Sus modelos personalizados son gestionados y almacenados por. AWS

Amazon Bedrock utiliza los datos de afinación que usted proporciona únicamente para afinar un modelo de Amazon Bedrock. Amazon Bedrock no utiliza los datos de afinación para ningún otro propósito. Sus datos de entrenamiento no se utilizan para entrenar los modelos básicos de Titan ni se distribuyen a terceros. Otros datos de uso, como las marcas de tiempo de uso, los ID de cuenta registrados 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 proporciona para el ajuste fino una vez finalizado el trabajo de ajuste.

Tenga en cuenta que los modelos ajustados pueden reproducir algunos de los datos de afinación y, al mismo tiempo, generar finalizaciones. Si su aplicación no debe exponer datos de afinación de ningún tipo, primero deberá filtrar los datos confidenciales de los datos de entrenamiento. Si ya ha creado un modelo personalizado con datos confidenciales por error, puede 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 administre usted mismo. Para obtener más información al respecto AWS KMS keys, consulta 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 reposo de forma gratuita. Claves propiedad de AWS Si utiliza una clave gestionada por el cliente, se aplican 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, consulta 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 un modelo, Amazon Bedrock crea en su nombre una concesión de KMS principal asociada al modelo personalizado enviando una CreateGrant solicitud a. AWS KMS Esta concesión permite a Amazon Bedrock acceder y utilizar su clave administrada por el cliente. Las subvenciones AWS KMS se utilizan para dar a Amazon Bedrock acceso a una clave de KMS en la cuenta de un cliente.

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

  • Envíe DescribeKey solicitudes AWS KMS para verificar que el ID de clave KMS simétrico administrado por el cliente que ingresó al crear el trabajo es válido.

  • Envíe GenerateDataKey y descifre solicitudes AWS KMS para generar claves de datos cifradas por su clave gestionada por el cliente y descifre las claves de datos cifradas para que puedan usarse para cifrar los artefactos del modelo.

  • Envíe CreateGrant solicitudes AWS KMS para crear concesiones secundarias con un alcance reducido con un subconjunto de las operaciones anteriores (DescribeKey,,Decrypt), GenerateDataKey para la ejecución asincrónica de la personalización del modelo, la copia del modelo o la creación del rendimiento aprovisionado.

  • Amazon Bedrock especifica un capital que se retira durante la creación de las subvenciones, para que el servicio pueda enviar una solicitud. RetireGrant

Tiene acceso total a su clave gestionada AWS KMS 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 Key Management Service 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, Amazon Bedrock no podrá acceder al modelo personalizado cifrado con su clave.

Ciclo de vida de las concesiones principales y secundarias para los modelos personalizados

  • Las concesiones principales tienen una larga vida útil 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 concesiones 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 licencia secundaria que permitía a Amazon Bedrock cifrar el modelo personalizado copiado se retirará inmediatamente.

Creación de una clave administrada por el cliente y asociarle 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 función de IAM tenga permisos para la CreateKey acción.

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

  3. Al crear la clave, se obtiene un 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 al ejecutar una inferencia de modelo).

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

Permisos y políticas de claves para modelos personalizados y copiados

Después de crear una clave de KMS, debe asociarle una política de claves. Las políticas de claves son políticas basadas en recursos que se asocian a la clave administrada por el cliente para controlar el acceso a la misma. cliente o a su cuenta y región.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 de claves en cualquier momento, pero es posible que haya un pequeño decalaje hasta que el cambio esté disponible en 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 acciones de KMS 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 principal del servicio Amazon Bedrock acceda a la clave de KMS especificada mediante operaciones de concesión. Para obtener más información sobre las concesiones, consulte Concesiones en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

    nota

    Amazon Bedrock también establece una entidad principal que se retira y elimina automáticamente la concesión cuando ya no se necesite.

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

  3. kms: GenerateDataKey — Proporciona los detalles de las claves gestionadas por el cliente para que Amazon Bedrock pueda validar 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 de KMS que cifra el modelo personalizado.

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

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

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

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

{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${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 cifrado con una clave de KMS, incluya la siguiente instrucción en una política de claves para permitir el descifrado de la clave. En el campo Principal, añada las cuentas a las que desee permitir el descifrado de la clave a la lista a la que se asigna el subcampo AWS. Si utilizas la clave de kms:ViaService condición, puedes añadir una línea para cada región o utilizarla * en lugar de ${region} para permitir todas las regiones que admiten Amazon Bedrock.

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

Para obtener más información sobre las políticas de claves que debe crear, amplíe la sección que se corresponda con su caso de uso:

Si tiene previsto cifrar un modelo que va a personalizar con una clave de KMS, la política de claves de la clave dependerá de su caso de uso. Amplíe la sección que se corresponda con su 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 instrucción de Cifrado de un modelo. En el campo Principal de la siguiente plantilla de políticas, añada las cuentas a las que quiera permitir personalizar e invocar el modelo personalizado a la lista a la que se asigna el subcampo AWS.

JSON
{ "Version":"2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "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" ] } } } ] }

Si los roles que invocarán el modelo personalizado son diferentes de los roles que personalizarán el modelo, necesitará la instrucción de Cifrado de un modelo y de Otorgamiento de acceso a un modelo cifrado. Modifique las instrucciones en la siguiente plantilla de políticas de la siguiente manera:

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

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

JSON
{ "Version":"2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "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" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Role" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } } ] }

Cuando copia un modelo que le pertenece o que han compartido con usted, es posible que tenga que administrar hasta dos políticas de claves:

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

Si los roles que invocará el modelo copiado son los mismos que los roles que creará la copia del modelo, solo necesitará la instrucción de Cifrado de un modelo. En el campo Principal de la siguiente plantilla de políticas, añada las cuentas que desee permitir que copien e invoquen el modelo copiado a la lista a la que se asigna el subcampo AWS:

JSON
{ "Version":"2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "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" ] } } } ] }

Si los roles que invocará el modelo copiado son diferentes de los roles que creará la copia el modelo, necesitará la instrucción de Cifrado de un modelo y de Otorgamiento de acceso a un modelo cifrado. Modifique las instrucciones en la siguiente plantilla de políticas de la siguiente manera:

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

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

JSON
{ "Version":"2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "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" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Role" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } } ] }

Si el modelo de origen que va a copiar está cifrado con una clave de KMS, asocie la instrucción de Otorgamiento de acceso a un modelo cifrado a la política de claves correspondiente a la clave que cifra el modelo de origen. Esta instrucción permite al rol de copia del modelo descifrar la clave que cifra el modelo de origen. En el campo Principal de la siguiente plantilla de políticas, añada las cuentas que desee permitir que copien el modelo de origen a la lista a la que se asigna el subcampo AWS:

JSON
{ "Version":"2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Role" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } } ] }

Supervisión de las claves de cifrado para el servicio de Amazon Bedrock

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

El siguiente es un ejemplo de AWS CloudTrail evento CreateGrant para supervisar las operaciones de KMS convocadas por Amazon Bedrock para crear una concesió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 bucket de S3 que especificó al crear el trabajo y los artefactos del modelo personalizado resultantes en un bucket de S3 controlado por. AWS

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