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

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 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. Tus datos de entrenamiento no se utilizan para entrenar a la base Titan modela o distribuye 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.

Ninguno de los datos de entrenamiento o validación que proporcione para la afinación se almacena en Amazon Bedrock una vez finalizado el trabajo de afinación.

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 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 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 y utilizar su clave administrada por el cliente. 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 necesita la concesión principal para utilizar la clave administrada por el cliente para 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. 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 concesión secundaria que permitió 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 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 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 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 de claves para modelos personalizados y copiados

Después de crear una KMS clave, se le adjunta 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 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 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 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 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 ${region} para permitir que todas las regiones admitan 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 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 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 utiliza la clave de kms:ViaService condición, puede añadir una línea para cada región o utilizarla * en lugar de ${region} para permitir que todas las regiones admitan 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 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í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.

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

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.

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

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 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 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:

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

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.

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "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" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${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 Otorgamiento de acceso a un modelo cifrado a la política de claves de 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:

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

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