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 del paquete de configuración
Al especificar un kmsKeyArn en un paquete de configuración, el servicio cifra las configuraciones de los componentes (las solicitudes del sistema, las descripciones de las herramientas y otro contenido de la configuración) mediante el cifrado de sobres. Todos los demás metadatos del paquete (nombre, descripción, identificadores de versión, marcas de tiempo) permanecen cifrados con la clave propia. AWS
Funcionamiento
El cifrado del paquete de configuración utiliza el cifrado de sobres con las credenciales de la persona que llama. Al crear o actualizar un paquete con unkmsKeyArn, el servicio utiliza sus credenciales (mediante sesiones de acceso directo) para generar una clave de cifrado de datos (DEK) a partir de KMS. El servicio cifra las configuraciones de los componentes de forma local AES-GCM con esa DEK y, a continuación, almacena la DEK cifrada junto con el paquete. Cuando recuperas el paquete, el servicio descifra la DEK con tus credenciales y descifra los componentes.
La persona que llama debe tenerkms:GenerateDataKey, kms:Decryptkms:DescribeKey, y kms:ReEncrypt* permisos sobre la clave.
AgentCore las optimizaciones solo admiten claves de KMS de cifrado simétrico. La clave de KMS debe estar en la misma AWS región que el paquete de configuración.
Configurar los permisos para usar una clave de KMS administrada por el cliente
La siguiente política de claves proporciona los permisos mínimos necesarios para el cifrado del paquete de configuración. La política tiene dos instrucciones:
-
AllowCallerAccess— Permite al usuario o rol de IAM validar la clave mediante
DescribeKey. -
AllowCallerCryptoOps— Permite al usuario o rol de IAM generar claves de datos, descifrarlas y volver a cifrarlas (para la rotación de claves), según el contexto de cifrado.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyConfigBundleRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyConfigBundleRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore:configurationBundleArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:configuration-bundle/*" } } } ] }
La política contiene las siguientes declaraciones:
-
AllowCallerAccess— Concede al rol de IAM
kms:DescribeKeypermiso para validar la clave en el momento de la creación o actualización del paquete.111122223333Sustitúyalo por el identificador de su cuenta yMyConfigBundleRolepor el rol o usuario de IAM que administra los paquetes de configuración. -
AllowCallerCryptoOps— Otorga la función
kms:GenerateDataKeyy loskms:ReEncrypt*permisos de IAM en función del contexto de cifrado.kms:Decryptaws:bedrock-agentcore:configurationBundleArnElkms:ReEncrypt*permiso es necesario para la rotación de claves (cambiar la clave de KMS en un paquete existente). Sustituya111122223333yus-east-1por sus valores.MyConfigBundleRolePara permitir el acceso a todos los paquetes de configuración de su cuenta, utilice un comodín conStringLike:.arn:aws:bedrock-agentcore:us-east-1:111122223333:configuration-bundle/*
Limitar el acceso a la clave de KMS administrada por el cliente
Puede usar el contexto de cifrado para restringir el acceso a la clave administrada por el cliente. AgentCore las optimizaciones incluyen el siguiente contexto de cifrado en todas las operaciones de KMS:
{ "aws:bedrock-agentcore:configurationBundleArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:configuration-bundle/bundle-id" }
Puede usar este contexto de cifrado en las condiciones clave de la política para restringir las operaciones de KMS a paquetes de configuración específicos, como se muestra en la AllowCallerCryptoOps declaración del ejemplo de política de claves anterior.
Crear un paquete de configuración con una clave de KMS administrada por el cliente
Para cifrar un paquete de configuración, especifique el kmsKeyArn parámetro al realizar la llamada CreateConfigurationBundle.
ejemplo
Cambiar la configuración de cifrado de un paquete existente
Puede cambiar la configuración de cifrado de un paquete existente mediante UpdateConfigurationBundle:
-
Agregar cifrado: especifique un cifrado
kmsKeyArnen un paquete que se creó sin uno. El servicio genera un DEK nuevo y cifra las configuraciones de los componentes. -
Clave de rotación: especifique una diferente.
kmsKeyArnEl servicio vuelve a empaquetar el DEK existente de la clave anterior a la nueva clave utilizando.kms:ReEncryptLa persona que llama debe tener permisos en ambas claves. Si la clave anterior no está disponible (los permisos están deshabilitados, eliminados o faltan), la actualización fallará.
nota
No puede eliminar el cifrado de claves administradas por el cliente de un paquete de configuración una vez que se haya agregado.
Supervisión del uso de KMS para los paquetes de configuración
Los siguientes nombres de CloudTrail eventos aparecen para las operaciones de KMS del paquete de configuración:
-
GenerateDataKey— Al crear un paquete con una clave gestionada por el cliente o al añadir el cifrado a un paquete existente. ElencryptionContextcampo contieneaws:bedrock-agentcore:configurationBundleArn. -
Decrypt— Al recuperar el contenido del paquete (GetConfigurationBundle, GetConfigurationBundleVersion) o al actualizar un paquete cifrado. -
ReEncrypt— Al rotar la clave de KMS en un paquete existente a través UpdateConfigurationBundle de. -
DescribeKey— Al validar la clave en el momento de la creación o actualización del paquete.
Comportamiento cuando una clave deja de estar disponible
Si inhabilitas o eliminas la clave de KMS administrada por el cliente que utiliza un paquete de configuración:
-
CreateConfigurationBundle— No se realiza la validación con
ValidationException. -
UpdateConfigurationBundle— Falla porque el servicio no puede descifrar el DEK existente para volver a cifrar los nuevos componentes. La rotación de claves también falla porque la clave anterior no está disponible para volver a empaquetarla.
-
GetConfigurationBundle / GetConfigurationBundleVersion— Falla porque el servicio no puede descifrar el DEK ni las configuraciones de los componentes.
-
ListConfigurationBundles / ListConfigurationBundleVersions— Se ejecuta correctamente porque la lista solo devuelve metadatos y no requiere operaciones de KMS.
-
DeleteConfigurationBundle— Se realiza correctamente porque la eliminación no requiere descifrar los datos del paquete.
Para restablecer el acceso, vuelva a habilitar la clave o actualice la política de claves para conceder los permisos necesarios.