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 recomendaciones
Cuando especificas una recomendación, kmsKeyArn el servicio cifra la configuración de la recomendación y el resultado de la recomendación mediante el cifrado de sobres con el SDK de AWS cifrado. Todos los demás metadatos de recomendación (nombre, tipo, estado) permanecen cifrados con la clave propia AWS .
kmsKeyArnSe especifica en el momento de la creación medianteStartRecommendation.
Funcionamiento
El cifrado de recomendaciones utiliza el SDK AWS de cifrado para el cifrado de sobres. Cuando el servicio escribe o lee los datos de recomendación, llama a KMS para generar o descifrar las claves de datos. El resultado de la recomendación también se almacena en S3 SSE-KMS con la misma clave gestionada por el cliente.
En el momento de la API, el servicio valida que la persona que llama tiene permisos de KMS mediante una comprobación en seco (sesiones de acceso directo). Esto detecta los problemas de permisos de forma inmediata, en lugar de fallar de forma asincrónica durante el flujo de trabajo de recomendaciones.
Cuando el flujo de trabajo de recomendaciones se ejecuta de forma asincrónica, el servicio principal (bedrock-agentcore.amazonaws.com) descifra la configuración y cifra el resultado. El principal de servicio debe tener un kms:Decrypt permiso en la política kms:GenerateDataKey de claves.
AgentCore las optimizaciones solo admiten claves KMS de cifrado simétrico. La clave de KMS debe estar en la misma AWS región que la recomendació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 de recomendaciones. La política tiene tres instrucciones:
-
AllowCallerAccess— Permite al usuario o rol de IAM validar la clave mediante
DescribeKey. -
AllowCallerCryptoOps— Permite al usuario o rol de IAM cifrar y descifrar según el contexto de cifrado.
-
AllowServicePrincipalAccess— Permite al principal del AgentCore servicio cifrar y descifrar los datos de recomendación durante el flujo de trabajo de recomendaciones asincrónico, desglosado por cuenta de origen y ARN de origen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyRecommendationRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyRecommendationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore:recommendationArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:recommendation/*" } } }, { "Sid": "AllowServicePrincipalAccess", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:recommendation/*" } } } ] }
La política contiene las siguientes declaraciones:
-
AllowCallerAccess— Concede al rol de IAM
kms:DescribeKeypermiso para validar la clave en el momento de crear la recomendación.111122223333Sustitúyelo por el identificador de tu cuenta yMyRecommendationRolepor el rol o usuario de IAM que inicia las recomendaciones. -
AllowCallerCryptoOps— Otorga la función
kms:GenerateDataKeyykms:Decryptlos permisos de IAM, según elaws:bedrock-agentcore:recommendationArncontexto de cifrado. Sustituya111122223333MyRecommendationRole, y porus-east-1sus valores. Para permitir el acceso a todas las recomendaciones de tu cuenta, usa un comodín conStringLike:arn:aws:bedrock-agentcore:us-east-1:111122223333:recommendation/*. -
AllowServicePrincipalAccess— Otorga al director del AgentCore servicio
kms:GenerateDataKeyykms:Decryptlos permisos para cifrar y descifrar los datos de recomendación durante el flujo de trabajo asincrónico. Se divide en función de la cuenta de origen y el ARN de origen ()aws:SourceArnpara evitar ataques confusos de los subalternos. Sustituyeus-east-1y111122223333por tu región y tu ID de cuenta.
Disminuir 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:recommendationArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:recommendation/recommendation-id" }
Puede usar este contexto de cifrado en las condiciones clave de la política para restringir las operaciones de KMS a recomendaciones específicas, como se muestra en la AllowCallerCryptoOps declaración del ejemplo de política de claves anterior. Tenga en cuenta que se AllowServicePrincipalAccess usa aws:SourceArn para determinar el alcance en lugar de para el contexto de cifrado.
Comenzar una recomendación con una clave de KMS administrada por el cliente
Especifique el kmsKeyArn parámetro al llamarStartRecommendation:
ejemplo
Supervisar el uso de KMS para obtener recomendaciones
Aparecen los siguientes nombres de CloudTrail eventos para las operaciones de KMS recomendadas:
-
GenerateDataKey— Al iniciar una recomendación (al cifrar la configuración) y al finalizar el flujo de trabajo de la recomendación (al cifrar el resultado). ElencryptionContextcampo contiene.aws:bedrock-agentcore:recommendationArn -
Decrypt— Cuando el flujo de trabajo de recomendaciones procesa la configuración o cuando recupera los resultados de las recomendaciones. -
DescribeKey— Al validar la clave en el momento de crear la recomendación.
Comportamiento cuando una clave deja de estar disponible
Si inhabilitas o eliminas la clave de KMS administrada por el cliente que se utiliza en una recomendación:
-
StartRecommendation— No se realiza la validación con
ValidationException. -
GetRecommendation— No
ValidationExceptionindica que la clave de KMS está deshabilitada o eliminada. -
ListRecommendations— Se realiza correctamente porque la lista solo devuelve metadatos y no requiere operaciones de KMS.
-
DeleteRecommendation— Se realiza correctamente porque la eliminación no requiere descifrar los datos de recomendación.