

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 datos
<a name="data-encryption"></a>

Amazon Bedrock utiliza el cifrado para proteger los datos en reposo y los datos en tránsito.

**Cifrado en tránsito**

En su interior AWS, todos los datos en tránsito entre redes admiten el cifrado TLS 1.2.

Las solicitudes a la API de Amazon Bedrock se efectúan a través de una conexión segura (SSL). Usted transfiere las funciones AWS Identity and Access Management (IAM) a Amazon Bedrock para que le otorgue permisos de acceso a los recursos en su nombre con fines de capacitación e implementación. 

**Cifrado en reposo**

Amazon Bedrock proporciona [Cifrado de los modelos personalizados](encryption-custom-job.md) en reposo.

## Administración de claves
<a name="key-management"></a>

Úselo AWS Key Management Service para administrar las claves que utiliza para cifrar sus recursos. Para obtener más información, consulte [Conceptos de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). Puede cifrar los siguientes recursos con una clave KMS.
+ A través de Amazon Bedrock
  + Modele los trabajos de personalización y sus modelos personalizados de salida: durante la creación del trabajo en la consola o especificando el `customModelKmsKeyId` campo en la llamada a la [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.
  + Agentes: durante la creación del agente en la consola o especificando el `customerEncryptionKeyArn` campo en la llamada a la [CreateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)API.
  + Trabajos de ingesta de fuentes de datos para las bases de conocimiento: durante la creación de la base de conocimientos en la consola o especificando el `kmsKeyArn` campo en la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)llamada a la [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)API.
  + Tiendas vectoriales en Amazon OpenSearch Service: durante la creación de tiendas vectoriales. Para obtener más información, consulta [Crear, publicar y eliminar colecciones de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html) y [Cifrado de datos en reposo para Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html).
  + Trabajos de evaluación de modelos: cuando se crea un trabajo de evaluación de modelos en la consola o se especifica un ARN clave ` customerEncryptionKeyId` en la llamada a la [CreateEvaluationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateEvaluationJob.html)API.
+ A través de Amazon S3: para obtener más información, consulte [Uso del cifrado del lado del servidor con AWS KMS claves (SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)).
  + Datos de entrenamiento, validación y salida para la personalización del modelo
  + Orígenes de datos para bases de conocimientos
+ Mediante AWS Secrets Manager : para obtener más información, consulte Cifrado y descifrado [secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en AWS Secrets Manager
  + Almacenes vectoriales para modelos de terceros

Después de cifrar un recurso, puede encontrar el ARN de la clave KMS seleccionando un recurso y viendo sus **Detalles** en la consola o mediante las siguientes llamadas a la API `Get`.
+ [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)
+ [GetAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html)
+ [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)

# Cifrado de los modelos personalizados
<a name="encryption-custom-job"></a>

Amazon Bedrock utiliza los datos de entrenamiento con la [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)acción o con la [consola](model-customization-submit.md) 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. 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, 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, administrarClaves 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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.

1. **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ónAWS KMS keys, consulta [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 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](https://aws.amazon.com/kms/pricing/).

Para obtener más información al respectoAWS KMS, consulte la [Guía para AWS Key Management Service desarrolladores](https://docs.aws.amazon.com/kms/latest/developerguide/).

**Topics**
+ [Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS](#encryption-br-grants)
+ [Creación de una clave administrada por el cliente y asociarle una política de claves](#encryption-key-policy)
+ [Permisos y políticas de claves para modelos personalizados y copiados](#encryption-cm-statements)
+ [Supervisión de las claves de cifrado para el servicio de Amazon Bedrock](#encryption-monitor-key)
+ [Cifrado de los datos de entrenamiento, validación y salida](#encryption-custom-job-data)

## Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS
<a name="encryption-br-grants"></a>

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 en su nombre una [concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) de KMS **principal** asociada al modelo personalizado enviando una [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitud a. AWS KMS Esta concesión permite a Amazon Bedrock acceder y utilizar su clave administrada por el cliente. Las concesiones entrantes se AWS KMS 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](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitudes AWS KMS para comprobar que la clave de KMS simétrica gestionada por el cliente que ingresó al crear el trabajo es válida.
+ Envíe [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)y [descifre](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) las solicitudes AWS KMS para generar claves de datos cifradas por la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar los artefactos del modelo.
+ Envíe [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)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 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 [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)solicitud.

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](https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete) de la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) o eliminar el acceso del servicio a su clave administrada por el cliente en cualquier momento modificando la [política de claves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). 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
<a name="encryption-primary-secondary-grants"></a>
+ 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
<a name="encryption-key-policy"></a>

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](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)acción.

1. Siga los pasos que se indican en [Creación de claves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para crear una clave gestionada por el cliente mediante la AWS KMS consola o la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operación.

1. 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](model-customization-submit.md) o al [ejecutar una inferencia de modelo](inference-invoke.md)).

1. 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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) en la Guía para AWS Key Management Service desarrolladores.

## Permisos y políticas de claves para modelos personalizados y copiados
<a name="encryption-cm-statements"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) 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](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) en la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).

Las siguientes [acciones](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions) de KMS se utilizan para las claves que cifran los modelos personalizados y copiados:

1. [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) — Crea una concesión para una clave gestionada por el cliente al permitir que el director del servicio Amazon Bedrock acceda a la clave de KMS especificada mediante [operaciones de concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations). Para obtener más información sobre las concesiones, consulte [Concesiones en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).
**nota**  
Amazon Bedrock también establece una entidad principal que se retira y elimina automáticamente la concesión cuando ya no se necesite.

1. [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — Proporciona los detalles clave gestionados por el cliente para que Amazon Bedrock pueda validar la clave.

1. [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — 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.

1. [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): 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 recomendada de seguridad, le recomendamos que incluya la clave de ViaService condición [kms:](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service) 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:

### Cifrado de un modelo
<a name="encryption-key-policy-encrypt"></a>

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 *\$1* en lugar de para permitir el acceso *\$1\$1region\$1* 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"
            ] 
        }
    }
}
```

### Otorgamiento de acceso a un modelo cifrado
<a name="encryption-key-policy-decrypt"></a>

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 utiliza la clave de `kms:ViaService` condición, puede añadir una línea para cada región o utilizarla *\$1* en lugar de para permitir el acceso *\$1\$1region\$1* a 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:

### Configuración de los permisos de clave para cifrar modelos personalizados
<a name="encryption-cm"></a>

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:

#### Los roles que personalizarán el modelo y los roles que invocarán el modelo son los mismos
<a name="encryption-cm-custom-invoke-same"></a>

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](#encryption-key-policy-encrypt). 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"
                    ]
                }
            }
        }
    ]
}
```

------

#### Los roles que personalizarán el modelo y los roles que invocarán el modelo son diferentes
<a name="encryption-custom-invoke-different"></a>

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](#encryption-key-policy-encrypt) y de [Otorgamiento de acceso a un modelo cifrado](#encryption-key-policy-decrypt). 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`.

1. 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"
                    ]
                }
            }
        }
    ]
}
```

------

### Configuración de los permisos de claves para cifrar modelos personalizados
<a name="encryption-copy"></a>

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:

#### Política de claves para la clave que cifrará un modelo copiado
<a name="encryption-copied-model-key-policy"></a>

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:

##### Los roles que copiará el modelo y los roles que invocará el modelo son los mismos
<a name="encryption-copied-model-copy-invoke-same"></a>

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](#encryption-key-policy-encrypt). 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"
                    ]
                }
            }
        }
    ]
}
```

------

##### Los roles que copiará el modelo y los roles que invocará el modelo son diferentes
<a name="encryption-copied-model-copy-invoke-different"></a>

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](#encryption-key-policy-encrypt) y de [Otorgamiento de acceso a un modelo cifrado](#encryption-key-policy-decrypt). 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`.

1. 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"
                    ]
                }
            }
        }
    ]
}
```

------

#### Política de claves para la clave que cifra el modelo de origen que se va a copiar
<a name="encryption-copy-source-model-key-policy"></a>

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](#encryption-key-policy-decrypt) 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
<a name="encryption-monitor-key"></a>

Cuando utilizas una clave gestionada por el AWS KMS cliente con tus recursos de Amazon Bedrock, puedes utilizar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)[Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 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 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorear las operaciones de KMS al que Amazon Bedrock llamó 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
<a name="encryption-custom-job-data"></a>

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 del servidor SSE-S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) o con el [cifrado de SSE-KMS de AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html), según cómo se configure el bucket de S3.

# Cifrado de modelos personalizados importados
<a name="encryption-import-model"></a>

Amazon Bedrock admite la creación de modelos personalizados mediante dos métodos que utilizan el mismo enfoque de cifrado. Sus modelos personalizados son gestionados y almacenados porAWS:
+ **Trabajos de importación de modelos personalizados**: para importar modelos fundacionales personalizados de código abierto (como modelos Mistral AI o Llama).
+ **Crear un modelo personalizado**: para importar modelos de Amazon Nova que haya personalizado en SageMaker IA.

Para el cifrado de sus modelos personalizados, Amazon Bedrock ofrece las siguientes opciones: 
+ **AWSclaves propias**: de forma predeterminada, Amazon Bedrock cifra los modelos personalizados importados 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 [Claves propiedad de AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.
+ **Claves administradas por el cliente (CMK)**: puede optar por añadir una segunda capa de cifrado a las claves de cifrado AWS propias existentes si elige una clave administrada por el cliente (CMK). Usted crea, posee y administra sus claves administradas por el cliente.

   Como usted tiene el control total de esta capa de cifrado, podrá realizar las siguientes tareas en ella: 
  + Establecer y mantener políticas de claves.
  + Establecer y mantener políticas y concesiones de IAM.
  + Habilitar y deshabilitar políticas de claves.
  + Rotar el material criptográfico.
  + Agregar etiquetas.
  + Crear alias de claves.
  + Programar la eliminación de claves.

  Para obtener más información, consulte [claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.

**nota**  
Para todos los modelos personalizados que importe, Amazon Bedrock habilita automáticamente el cifrado en reposo mediante claves AWS propias para proteger los datos de los clientes sin coste alguno. Si utiliza una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información sobre los precios, consulte [Precios de AWS Key Management Service](https://docs.aws.amazon.com/).

## Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS
<a name="import-model-kms-grants"></a>

Si especifica una clave administrada por el cliente para cifrar el modelo importado, Amazon Bedrock crea una AWS KMS [subvención](https://docs.aws.amazon.com/) **principal** asociada al modelo importado en su nombre enviando una [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitud aAWS KMS. Esta concesión permite a Amazon Bedrock acceder y utilizar su clave administrada por el cliente. Las concesiones entrantes se AWS KMS 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](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitudes AWS KMS para comprobar que la clave de KMS simétrica gestionada por el cliente que ingresó al crear el trabajo es válida.
+ Envíe [GenerateDataKey](https://docs.aws.amazon.com//kms/latest/APIReference/API_GenerateDataKey.html)y [descifre](https://docs.aws.amazon.com//kms/latest/APIReference/API_Decrypt.html) las solicitudes AWS KMS para generar claves de datos cifradas por la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar los artefactos del modelo.
+ Envíe [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)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 asíncrona de la importación de modelos y para la inferencia bajo demanda. 
+ Amazon Bedrock especifica un director que se jubila durante la creación de las subvenciones, para que el servicio pueda enviar una [RetireGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_RetireGrant.html)solicitud.

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 [Retirada y revocación de concesiones](https://docs.aws.amazon.com//kms/latest/developerguide/grant-manage.html#grant-delete) 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 importado cifrado con su clave.

### Ciclo de vida de las concesiones principales y secundarias para los modelos importados personalizados
<a name="import-model-kms-grants-lifecycle"></a>
+ Las **concesiones principales** tienen una larga vida útil y permanecen activas mientras se sigan utilizando los modelos personalizados asociados. Cuando se elimina un modelo importado 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 importación de un modelo personalizado, la concesión secundaria que permitió a Amazon Bedrock cifrar el modelo importado personalizado se retirará inmediatamente.

# Uso de claves administradas por el cliente (CMK)
<a name="import-model-using-cmk"></a>

Si tiene previsto usar una clave administrada por el cliente para cifrar su modelo importado personalizado, complete los siguientes pasos:

1. Cree una clave de administrada por el cliente con el AWS Key Management Service.

1. Asocie una [política basada en recursos](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) con permisos a los roles especificados a fin de crear y usar modelos importados personalizados.

**Creación de una clave administrada por el cliente**

Primero, asegúrese de tener permisos `CreateKey`. A continuación, siga los pasos de [creación de claves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) para crear claves administradas por el cliente en la AWS KMS consola o en la operación de la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API. Asegúrese de crear una clave de cifrado simétrica.

Al crear la clave, se obtiene un `Arn` para la clave que puede utilizar como el `importedModelKmsKeyId ` al importar un modelo personalizado con la importación de modelos personalizados.

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

Las políticas de claves son [políticas basadas en recursos](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) 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 administradas por el cliente](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access) en la *Guía para desarrolladores de AWS Key Management Service*.

**Cifrado de un modelo personalizado importado**

Para utilizar la clave gestionada por el cliente para cifrar un modelo personalizado importado, debe incluir las siguientes AWS KMS operaciones en la política de claves:
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) — crea una concesión para una clave gestionada por el cliente al permitir que el director del servicio Amazon Bedrock acceda a la clave de KMS especificada mediante [operaciones de concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations). Para obtener más información sobre las concesiones, consulte [Grants in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) 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.
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — proporciona los detalles clave gestionados por el cliente para que Amazon Bedrock pueda validar la clave.
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — 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.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la clave de KMS que cifra el modelo personalizado.

El siguiente es un ejemplo de política que puede asociar a una clave de un rol y que utilizará para cifrar los modelos personalizados que importa:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Descifrado de un modelo personalizado importado cifrado**

Si va a importar un modelo personalizado que ya ha sido cifrado por otra clave administrada por el cliente, debe añadir permisos `kms:Decrypt` para el mismo rol, tal y como se indica en la siguiente política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Supervisión de las claves de cifrado para el servicio de Amazon Bedrock
<a name="import-model-monitor-encryption-keys"></a>

Cuando utilizas una clave gestionada por el AWS KMS cliente con tus recursos de Amazon Bedrock, puedes utilizar [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)[Amazon CloudWatch Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) para realizar un seguimiento de las solicitudes a las que Amazon Bedrock envía. AWS KMS

El siguiente es un ejemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para supervisar AWS 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/RoleForModelImport/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
"sessionIssuer": {
"type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelImport",
                "accountId": "111122223333",
                "userName": "RoleForModelImport"
            },
            "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"
}
```

Para asociar la siguiente política basada en recursos a la clave de KMS, siga los pasos que se describen en [Creación de una política de claves](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-overview.html). La siguiente política contiene dos instrucciones.

1. Permisos para que un rol cifre los artefactos de personalización del modelo. Agregue al `Principal` campo ARNs las funciones de creación de modelos personalizadas importadas.

1. Permisos para que un rol utilice el modelo personalizado importado en la inferencia. Agregue ARNs al `Principal` campo roles de usuario de modelos personalizados importados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS Key Policy",
    "Statement": [
        {
            "Sid": "Permissions for imported model builders",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Permissions for imported model users",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}
```

------

# Cifrado en la automatización Amazon Bedrock de datos
<a name="encryption-bda"></a>

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

1. AWSclaves 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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) en la Guía AWS para desarrolladores del Servicio de administración de claves. 

1.  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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 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 BedrockLa 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](https://aws.amazon.com/kms/pricing/). 

## ¿Cómo se Amazon Bedrock utilizan las subvenciones en AWS KMS
<a name="encryption-bda-grants"></a>

 Si especificas una clave gestionada por el cliente para el cifrado de tu BDA al llamar a invokeDataAutomation Async, 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. 

 BDA necesita la concesión para utilizar la clave administrada por el cliente para las siguientes operaciones internas: 
+ DescribeKey — Envíe solicitudes AWS KMS para comprobar que el identificador de AWS KMS clave simétrico gestionado por el cliente que ha proporcionado es válido.
+ 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 AWS KMS para crear subvenciones reducidas con un subconjunto de las operaciones anteriores (DescribeKey,, descifrar) GenerateDataKey, para la ejecución asíncrona de las operaciones.

 Tiene acceso total a su clave gestionada por el cliente. AWS KMS 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. BDA retira las concesiones después de 30 horas. 

## Creación de una clave administrada por el cliente y asociación de una política de claves
<a name="encryption-bda-creating-keys"></a>

 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 acción. CreateKey 

1.  Siga los pasos que se indican en [Creación de claves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para crear una clave gestionada por el cliente mediante la AWS KMS consola o la CreateKey operación. 

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

1.  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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html) de la Guía para desarrolladores. AWS KMS 

## Permisos y políticas clave para Amazon Bedrock los recursos de automatización de datos
<a name="encryption-bda-key-policies.title"></a>

 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 las operaciones de concesión necesarias para ello InvokeDataAutomationAsync. 

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

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

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

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

**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 Automatización de Amazon Bedrock
<a name="encryption-bda-context"></a>

BDA utiliza el mismo contexto de cifrado en todas las operaciones AWS KMS criptográficas, donde la clave está `aws:bedrock:data-automation-customer-account-id` y el valor es el ID de su AWS cuenta. A continuación, se muestra un ejemplo de contexto cifrado.

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**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, 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"]
            }
        }
    }
]
```

## Supervisión de sus claves de cifrado para la automatización Amazon Bedrock de datos
<a name="encryption-bda-monitoring"></a>

 Cuando utiliza una clave gestionada por el AWS KMS cliente con sus recursos de automatización de Amazon Bedrock datos, puede utilizar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)realizar un seguimiento de las solicitudes que envía Amazon Bedrock Data AutomationAWS KMS. El siguiente es un ejemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para 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"
}
```

# Cifrado de los recursos de los agentes
<a name="encryption-agents-new"></a>

El cifrado de los datos en reposo de forma predeterminada ayuda a reducir la sobrecarga operativa y la complejidad que implica la protección de los datos confidenciales. Al mismo tiempo, le permite crear aplicaciones seguras que cumplen con los estrictos requisitos normativos y de conformidad con el cifrado.

Amazon Bedrock utiliza claves predeterminadas propiedad de AWS para cifrar automáticamente la información del agente. Esto incluye los datos del plano de control y los datos de la sesión. No puede ver, administrar ni auditar el uso de las claves que sean propiedad de AWS. Para obtener más información, consulte [Claves propiedad de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). 

Aunque no puede deshabilitar esta capa de cifrado, puede optar por utilizar claves administradas por el cliente en lugar de claves propiedad de AWS para cifrar la información del agente. Amazon Bedrock admite el uso de claves simétricas administradas por el cliente (CMK) que puede crear, poseer y administrar en lugar del cifrado predeterminado propiedad de AWS. Para obtener más información, consulte [Claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

**importante**  
Amazon Bedrock cifra automáticamente la información de la sesión del agente mediante claves propiedad de AWS sin costo alguno.
Se aplicarán cargos de AWS KMS cuando utilice una clave administrada por el cliente. Para obtener más información acerca de los precios, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).
Si creó su agente *antes* del 22 de enero de 2025 y desea utilizar la clave administrada por el cliente para cifrar los recursos del agente, siga las instrucciones de [Cifrado de los recursos del agente para agentes creados antes del 22 de enero de 2025](encryption-agents.md).

# Cifrado de los recursos del agente con claves administradas por el cliente (CMK)
<a name="cmk-agent-resources"></a>

Puede crear en cualquier momento una clave administrada por el cliente para cifrar la información de su agente utilizando la siguiente información sobre el agente proporcionada al crear el agente.

**nota**  
Los siguientes recursos de agentes solo se cifrarán para los agentes creados después del 22 de enero de 2025.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/cmk-agent-resources.html)

Para usar una clave administrada por el cliente, siga estos pasos:

1. Cree una clave de administrada por el cliente con el AWS Key Management Service.

1. Cree una política de claves y asóciela a la clave administrada por el cliente.

## Creación de una clave administrada por el cliente
<a name="create-cmk-agent"></a>

Puede crear una clave simétrica gestionada por el cliente mediante la consola AWS de administración o la AWS Key Management Service APIs. 

 En primer lugar, asegúrese de que tiene los permisos de `CreateKey` necesarios y, a continuación, siga los pasos que se indican en [Creación de una clave simétrica administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) en la *Guía para desarrolladores de AWS Key Management Service *.

**Política de claves**: las políticas de claves controlan el acceso a la clave administrada por el cliente. 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 clave. Para obtener más información, consulte [Administración del acceso a las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) en la *Guía para desarrolladores de AWS Key Management Service *.

Si ha creado su agente después del 22 de enero de 2025 y quiere utilizar una clave administrada por el cliente para cifrar la información del agente, asegúrese de que el usuario o el rol que llama a las operaciones de la API del agente tenga los siguientes permisos en la política de claves:
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — devuelve una clave de datos simétrica única para usarla fuera de AWS KMS.
+ [KMS:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descifra texto cifrado con una clave de KMS.

Al crear la clave, se devuelve un `Arn` para la clave que puede utilizar como `customerEncryptionKeyArn` al crear el agente. 

## Creación de una política de claves y asociación a la clave administrada por el cliente
<a name="attach-policy-agent"></a>

Si cifra los recursos del agente con una clave administrada por el cliente, debe configurar una política basada en identidades y una política basada en recursos para que Amazon Bedrock pueda cifrar y descifrar los recursos del agente en su nombre.

**Política basada en la identidad**

Adjunte la siguiente política basada en la identidad a un rol o usuario de IAM con permisos para realizar llamadas a un agente APIs que cifra y descifra los recursos del agente en su nombre. Esta política valida que el usuario que realiza la llamada a la API tiene permisos. AWS KMS Sustituya los campos `${region}`, `${account-id}`, `${agent-id}` y `${key-id}` por los valores adecuados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**Política basada en recursos**

Adjunte la siguiente política basada en recursos a su AWS KMS clave *solo* si va a crear grupos de acciones en los que el esquema de Amazon S3 esté cifrado. No necesita asociar una política basada en recursos para ningún otro caso de uso.

Para asociar la siguiente política basada en recursos, cambie el alcance de los permisos según sea necesario y sustituya `${region}`, `${account-id}`, `${agent-id}` y `${key-id}` por los valores adecuados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## Modificación de la clave administrada por el cliente
<a name="change-cmk"></a>

Los agentes de Amazon Bedrock no admiten el recrifrado de los agentes versionados cuando se cambia la clave gestionada por el cliente asociada al agente *DRAFT* o cuando se pasa de una clave gestionada por el cliente a AWS una clave propia. Con la nueva clave, solo se volverán a cifrar los datos del recurso *DRAFT*.

Asegúrese de no eliminar ni quitar los permisos de ninguna clave de un agente con control de versiones si lo utiliza para entregar datos de producción.

Para ver y verificar las claves que utiliza una versión, llama [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html)y compruébalo `customerEncryptionKeyArn` en la respuesta.

# Cifrado de las sesiones de los agentes con una clave administrada por el cliente (CMK)
<a name="ltm-permissions"></a>

Si ha activado la memoria para el agente y cifra las sesiones del agente con una clave administrada por el cliente, debe configurar la siguiente política de claves y los permisos de IAM de la identidad de llamada para configurar la clave administrada por el cliente.

**Política de claves administradas por el cliente**

Amazon Bedrock utiliza estos permisos para generar claves de datos cifradas y, a continuación, utiliza las claves generadas para cifrar la memoria del agente. Amazon Bedrock también necesita permisos para volver a cifrar la clave de datos generada con distintos contextos de cifrado. Los permisos de recifrado también se utilizan cuando una clave administrada por el cliente pasa de una clave administrada por el cliente a otra clave administrada por el cliente o una clave propiedad del servicio. Para obtener más información, consulte [Hierarchical Keyring](https://docs.aws.amazon.com//database-encryption-sdk/latest/devguide/use-hierarchical-keyring.html).

Sustituya `$region`, `account-id` y `${caller-identity-role}` por los valores adecuados.

```
{
    "Version": "2012-10-17",		 	 	 
    {
        "Sid": "Allow access for bedrock to enable long term memory",
        "Effect": "Allow",
        "Principal": {
            "Service": [
                "bedrock.amazonaws.com",
            ],
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "$account-id"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:$region:$account-id:agent-alias/*"
            }
        }
        "Resource": "*"
    },
    {
        "Sid": "Allow the caller identity control plane permissions for long term memory",
        "Effect": "Allow", 
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*"
            }
        }
    },
    {
        "Sid": "Allow the caller identity data plane permissions to decrypt long term memory",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*",
                "kms:ViaService": "bedrock.$region.amazonaws.com" 
            }
        }
    }
}
```

**Permisos de IAM para cifrar y descifrar la memoria del agente**

Los siguientes permisos de IAM se necesitan para que la API de agentes que invoca la identidad configure la clave de KMS para los agentes con la memoria activada. Los agentes de Amazon Bedrock utilizan estos permisos para asegurarse de que la identidad de la persona que llama está autorizada a tener los permisos mencionados en la política clave anterior APIs para gestionar, entrenar e implementar modelos. Para los agentes APIs que invocan, el agente de Amazon Bedrock utiliza los `kms:Decrypt` permisos de la identidad de la persona que llama para descifrar la memoria.

Sustituya `$region`, `account-id` y `${key-id}` por los valores adecuados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentsControlPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext", 
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        },
        {
            "Sid": "AgentsDataPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        }
    ]
}
```

------

# Prácticas recomendadas de seguridad preventivas para los agentes
<a name="security-best-practice-agents"></a>

Las siguientes prácticas recomendadas para el servicio Amazon Bedrock le pueden ser de utilidad para prevenir incidentes de seguridad:

**Use conexiones seguras**

Utilice siempre conexiones cifradas, como las que se utilizan al principio de `https://` para proteger la información confidencial en tránsito.

**Implementación del acceso a los recursos con privilegios mínimos**

Al crear políticas personalizadas para recursos de Amazon Bedrock, conceda solo los permisos necesarios para llevar a cabo una tarea. Es más seguro comenzar con un conjunto mínimo de permisos y conceder permisos adicionales según sea necesario. La implementación del acceso con privilegios mínimos es esencial a la hora de reducir los riesgos de seguridad y el impacto que podrían causar los errores o los intentos malintencionados. Para obtener más información, consulte [Administración de identidades y accesos para Amazon Bedrock](security-iam.md).

**No incluya información de identificación personal en ninguno de los recursos del agente que contengan datos de clientes**

Al crear, actualizar y eliminar los recursos de los agentes (por ejemplo, al usarlos [CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)), no incluya información de identificación personal (PII) en ningún campo que no admita el uso de claves administradas por el cliente, como los nombres de los grupos de acción y los nombres de las bases de conocimientos. Para ver la lista de campos que admiten el uso de claves administradas por el cliente, consulte [Cifrado de los recursos del agente con claves administradas por el cliente (CMK)](cmk-agent-resources.md)

# Cifrado de los recursos del agente para agentes creados antes del 22 de enero de 2025
<a name="encryption-agents"></a>

**importante**  
Si ha creado su agente *después del* 22 de enero de 2025, siga las instrucciones de [Cifrado de los recursos de los agentes](encryption-agents-new.md).

Amazon Bedrock cifra la información de la sesión de su agente. De forma predeterminada, Amazon Bedrock cifra estos datos mediante una clave AWS gestionada. Si lo desea, puede cifrar los artefactos del agente mediante una clave administrada por el cliente.

Para obtener más informaciónAWS KMS keys, consulte [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la Guía *AWS Key Management Servicepara desarrolladores*.

Si cifra las sesiones con su agente con una clave de KMS personalizada, debe configurar la siguiente política basada en identidades y la política basada en recursos para que Amazon Bedrock pueda cifrar y descifrar los recursos del agente en su nombre.

1. Asocie la siguiente política basada en identidades a un usuario o rol de IAM con permisos para realizar llamadas `InvokeAgent`. Esta política valida que el usuario que realice una llamada `InvokeAgent` tenga permisos de KMS. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptDecryptAgents",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/agent-id"
                   }
               }
           }
       ]
   }
   ```

------

1. Asocie la siguiente política basada en recursos a su clave KMS. Cambie el alcance de los permisos según sea necesario. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowBedrockEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
                   }
               }
           },
           {
               "Sid": "AllowRoleEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/Role"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowAttachmentPersistentResources",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   }
               }
           }
       ]
   }
   ```

------

# Cifrado de los recursos de Flujos de Amazon Bedrock
<a name="encryption-flows"></a>

Amazon Bedrock siempre cifra sus datos en reposo. De forma predeterminada, Amazon Bedrock cifra estos datos mediante una clave administrada de AWS. Si lo desea, puede cifrar los datos mediante una clave administrada por el cliente.

Para obtener más informaciónAWS KMS keys, consulte [Claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para AWS Key Management Service desarrolladores*.

Si cifra los datos con una clave de KMS personalizada, debe configurar la política basada en identidades y la política basada en recursos siguientes para que Amazon Bedrock pueda cifrar y descifrar los datos en su nombre.

1. Asocie la siguiente política basada en identidades a un usuario o rol de IAM con permisos para realizar llamadas a la API de Flujos de Amazon Bedrock. Esta política valida que el usuario que realiza llamadas de Amazon Bedrock tenga permisos de KMS. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1flow-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptFlow",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/${flow-id}",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Asocie la siguiente política basada en recursos a su clave KMS. Cambie el alcance de los permisos según sea necesario. Sustituya *\$1IAM-USER/ROLE-ARN\$1**\$1\$1region\$1*,*\$1\$1account-id\$1*,*\$1\$1flow-id\$1*, y por *\$1\$1key-id\$1* los valores adecuados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSId",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowRoleUseKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/RoleName"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/FlowId",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Para las [ejecuciones de flujos](flows-create-async.md), asocie la siguiente política basada en la identidad a un [rol de servicio con permisos para crear y administrar flujos](flows-permissions.md). Esta política valida que su rol de servicio tenga AWS KMS permisos. Sustituya los campos *region*, *account-id*, *flow-id* y *key-id* por los valores adecuados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptionFlows",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/flow-id",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Cifrado de recursos de bases de conocimientos
<a name="encryption-kb"></a>

Amazon Bedrock cifra los recursos relacionados con sus bases de conocimientos. De forma predeterminada, Amazon Bedrock cifra estos datos con una clave propia AWS. Si lo desea, puede cifrar los artefactos del modelo mediante una clave administrada por el cliente.

El cifrado con una clave KMS se puede realizar mediante los siguientes procesos:
+ Almacenamiento de datos transitorio al ingerir sus orígenes de datos
+ Pasar información al OpenSearch Servicio si dejas que Amazon Bedrock configure tu base de datos vectoriales
+ Consultar una base de conocimientos

Los siguientes recursos que utilizan sus bases de conocimientos se pueden cifrar con una clave KMS. Si los cifra, debe agregar permisos para descifrar la clave KMS.
+ Orígenes de datos almacenados en un bucket de Amazon S3
+ Almacenes vectoriales de terceros

Para obtener más información AWS KMS keys, consulte [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para AWS Key Management Service desarrolladores*.

**nota**  
Las bases de conocimiento de Amazon Bedrock utilizan el cifrado TLS para comunicarse con los conectores de origen de datos y los almacenes de vectores de terceros si el proveedor permite y admite el cifrado TLS en tránsito.

**Topics**
+ [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](#encryption-kb-ingestion)
+ [Cifrado de la información transferida a Amazon OpenSearch Service](#encryption-kb-oss)
+ [Cifrado de información pasada a Amazon S3 Vectors](#encryption-kb-s3-vector)
+ [Cifrado de la recuperación de bases de conocimientos](#encryption-kb-runtime)
+ [Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3](#encryption-kb-ds)
+ [Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos](#encryption-kb-3p)
+ [Permisos para Bedrock Data Automation (BDA) con cifrado AWS KMS](#encryption-kb-bda)

## Cifrado del almacenamiento de datos transitorios durante la ingesta de datos
<a name="encryption-kb-ingestion"></a>

Al configurar un trabajo de ingesta de datos para su base de conocimientos, puede cifrar el trabajo con una clave KMS personalizada.

Para permitir la creación de una AWS KMS clave para el almacenamiento transitorio de datos en el proceso de ingesta de su fuente de datos, adjunte la siguiente política a su función de servicio de Amazon Bedrock. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e AWS KMS ID de clave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Cifrado de la información transferida a Amazon OpenSearch Service
<a name="encryption-kb-oss"></a>

Si opta por permitir que Amazon Bedrock cree una tienda vectorial en Amazon OpenSearch Service para su base de conocimientos, Amazon Bedrock puede pasar la clave de KMS que elija a Amazon OpenSearch Service para su cifrado. Para obtener más información sobre el cifrado en Amazon OpenSearch Service, consulta [Cifrado en Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html).

## Cifrado de información pasada a Amazon S3 Vectors
<a name="encryption-kb-s3-vector"></a>

Si opta por permitir que Amazon Bedrock cree un bucket de vectores y un índice vectorial de S3 en Amazon S3 Vectors para su base de conocimiento, Amazon Bedrock puede pasar la clave de KMS que elija a Amazon S3 Vectors para su cifrado. Para obtener más información sobre el cifrado en Amazon S3 Vectors, consulte [Cifrado con Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

## Cifrado de la recuperación de bases de conocimientos
<a name="encryption-kb-runtime"></a>

Puede cifrar las sesiones en las que se generan respuestas al consultar una base de conocimientos con una clave KMS. Para ello, incluya el ARN de una clave KMS en el `kmsKeyArn` campo al realizar una [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud. Adjunte la siguiente política y sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID de AWS KMS clave para permitir que Amazon Bedrock cifre el contexto de la sesión.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
        }
    ]
}
```

------

## Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3
<a name="encryption-kb-ds"></a>

Almacena los orígenes de datos de su base de conocimientos en su bucket de Amazon S3. Para cifrar estos documentos en reposo, puede utilizar la opción de cifrado del lado del servidor de Amazon S3 SSE-S3. Con esta opción, los objetos se cifran con claves de servicio administradas por el servicio Amazon S3. 

Para obtener más información, consulte [Protección de datos mediante el cifrado del lado del servidor con las claves de cifrado administradas por Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

Si ha cifrado sus fuentes de datos en Amazon S3 con una AWS KMS clave personalizada, adjunte la siguiente política a su función de servicio de Amazon Bedrock para que Amazon Bedrock pueda descifrar su clave. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e AWS KMS ID de clave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "KMS:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos
<a name="encryption-kb-3p"></a>

Si el almacén vectorial que contiene su base de conocimientos está configurado con un AWS Secrets Manager secreto, puede cifrarlo con una AWS KMS clave personalizada siguiendo los pasos que se indican en [Cifrado secreto y descifrado](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en. AWS Secrets Manager

Si lo hace, asocie la siguiente política a su rol de servicio de Amazon Bedrock para que pueda descifrar su clave. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID de AWS KMS clave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Permisos para Bedrock Data Automation (BDA) con cifrado AWS KMS
<a name="encryption-kb-bda"></a>

Cuando se utiliza BDA para procesar contenido multimodal con AWS KMS claves administradas por el cliente, se requieren permisos adicionales además de los permisos estándar. AWS KMS 

Adjunte la siguiente política a su función de servicio de Amazon Bedrock para permitir que BDA trabaje con archivos multimedia cifrados. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID AWS KMS clave.

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "arn:aws:kms:region:account-id:key/key-id",
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

Los permisos específicos de BDA incluyen `kms:DescribeKey` las `kms:CreateGrant` acciones necesarias para que BDA procese archivos de audio, vídeo e imagen cifrados.