

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

# Cifrado de los 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)