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
Cuando especificas un kmsKeyArn conjunto de datos, el servicio cifra todos los ejemplos almacenados mediante el cifrado del lado del servidor de S3 con KMS (). SSE-KMS Esto incluye los ejemplos del borrador y de todas las versiones publicadas.
kmsKeyArnEs inmutable después de la creación del conjunto de datos; no puedes cambiarlo ni eliminarlo.
Funcionamiento
El cifrado de conjuntos de datos utiliza S3. SSE-KMS Cuando el servicio escribe o lee el contenido del conjunto de datos en S3, S3 llama a KMS en nombre del servicio para cifrar o descifrar los datos. El principal del servicio (bedrock-agentcore.amazonaws.com) debe tener permisos de KMS en la política de claves.
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 la ingestión.
AgentCore Evaluations solo admite claves KMS de cifrado simétrico. La clave de KMS debe estar en la misma AWS región que el conjunto de datos.
Política de claves requerida
La siguiente política de claves otorga los permisos mínimos necesarios para el cifrado de conjuntos de datos. Incluye dos afirmaciones:
-
AllowCallerAccess— Concede
CreateDatasetpermiso al usuario o rol de IAM que llama para validar y usar la clave. El servicio realiza una comprobación en seco en el momento de la API para comprobar que la persona que llama tiene acceso a KMS.111122223333Sustitúyalo por el identificador de su cuenta yMyDatasetRolepor el rol o usuario de IAM que administra los conjuntos de datos. -
AllowAgentCoreDatasetAccess— Otorga al principal del AgentCore servicio permiso para cifrar y descifrar el contenido de los conjuntos de datos en S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyDatasetRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowAgentCoreDatasetAccess", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" } ] }
nota
Esta es la política mínima. Consulta Cómo reducir el acceso para ver las condiciones de seguridad recomendadas.
Reducir el alcance del acceso
Puede añadir condiciones para restringir el uso de la clave. En el caso de los conjuntos de datos, el servicio envía el siguiente contexto con las operaciones de escritura de KMS (GenerateDataKey):
-
aws:SourceAccount— El ID de la AWS cuenta que posee el conjunto de datos. -
aws:SourceArn— El ARN del conjunto de datos que se está cifrando. -
kms:EncryptionContext:aws:bedrock-agentcore:datasetArn— El ARN del conjunto de datos como contexto de cifrado.
La siguiente política divide los permisos en escritura (condicionados) y lectura (no condicionados):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyDatasetRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowAgentCoreDatasetWrite", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/*", "kms:EncryptionContext:aws:bedrock-agentcore:datasetArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/*" } } }, { "Sid": "AllowAgentCoreDatasetRead", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" } ] }
importante
No añada aws:SourceAccount ni aws:SourceArn condicione la sentencia de lectura (Decrypt,DescribeKey). Las descargas de conjuntos de datos utilizan URL de S3 prefirmadas y el cliente de descarga no envía encabezados de contexto de origen. La adición de estas condiciones a las operaciones de lectura provoca errores de descarga.
111122223333Sustitúyala por tu ID de cuenta y us-east-1 por tu AWS región. Para abarcar un conjunto de datos específico, reemplaza el comodín por el ID del conjunto de datos:arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/my-dataset-id.
Crear un conjunto de datos con una clave de KMS administrada por el cliente
Especifique el kmsKeyArn parámetro al llamarCreateDataset:
ejemplo
Supervisar el uso de KMS para los conjuntos de datos
Aparecen los siguientes nombres de CloudTrail eventos para las operaciones de KMS de conjuntos de datos:
-
GenerateDataKey— Al crear un conjunto de datos, agregar ejemplos, actualizar ejemplos o publicar una versión. ElencryptionContextcampo contieneaws:bedrock-agentcore:datasetArn. -
Decrypt— Al leer el contenido del conjunto de datos (GetDataset, ListDatasetExamples) o durante las descargas de URL prefirmadas. -
DescribeKey— Al validar la clave en la creación del conjunto de datos.
Comportamiento cuando una clave deja de estar disponible
Si inhabilitas o eliminas la clave de KMS administrada por el cliente que usa un conjunto de datos:
-
CreateDataset— No se puede validar con
ValidationException. -
AddDatasetExamples, UpdateDatasetExamples, CreateDatasetVersion — Falla
ValidationExceptionen el momento de la API. -
GetDataset— No
ValidationExceptionindica que la clave de KMS está deshabilitada o eliminada. -
ListDatasetExamples— No
ValidationExceptionindica que la clave de KMS está deshabilitada o eliminada. -
DeleteDataset— Se realiza correctamente porque la eliminación del objeto de S3 no requiere el descifrado de KMS.