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 en REST forma AWS HealthLake
HealthLake proporciona cifrado de forma predeterminada para proteger los datos confidenciales de los clientes en reposo mediante una AWS clave propiedad del servicio de administración de claves (AWSKMS). También se admiten KMS las claves administradas por el cliente, que son necesarias tanto para importar como para exportar archivos de un almacén de datos. Para obtener más información sobre la KMS clave gestionada por el cliente, consulte Amazon Key Management Service. Los clientes pueden elegir una clave propia o una KMS KMS clave AWS administrada por el cliente al crear un almacén de datos. La configuración de cifrado no se puede cambiar una vez creado un almacén de datos. Si un almacén de datos utiliza AWS una KMS clave propia, se indicará como AWS_OWNED_KMS_KEY y no verá la clave específica utilizada para el cifrado en reposo.
AWSclave propia KMS
HealthLake utiliza estas claves de forma predeterminada para cifrar automáticamente la información potencialmente confidencial, como los datos de identificación personal o los datos de Private Health Information (PHI) en reposo. AWSKMSlas claves propias no se almacenan en tu cuenta. Forman parte de una colección de KMS claves que AWS posee y administra para su uso en varias AWS cuentas. AWSlos servicios pueden usar KMS claves AWS propias para proteger sus datos. No puede ver, administrar, usar KMS las claves AWS propias ni auditar su uso. Sin embargo, no es necesario que realice ninguna acción ni que cambie programas para proteger las claves que cifran sus datos.
No se te cobrará una cuota mensual ni una cuota de uso si utilizas KMS claves AWS propias, y estas no se tienen en cuenta para AWS KMS las cuotas de tu cuenta. Para obtener más información, consulta las claves AWS propias.
Claves KMS administradas por el cliente
HealthLake admite el uso de una KMS clave simétrica administrada por el cliente que usted crea, posee y administra para agregar una segunda capa de cifrado sobre el cifrado que ya AWS posee. Como usted tiene el control total de esta capa de cifrado, puede realizar tareas como las siguientes:
-
Establecer y mantener políticas, IAM políticas y subvenciones clave
-
Rotar el material criptográfico
-
Habilitar y deshabilitar políticas de claves
-
Agregar etiquetas.
-
Crear alias de clave
-
Programar la eliminación de claves
También puedes utilizarla CloudTrail para hacer un seguimiento de las solicitudes que se HealthLake envían AWS KMS en tu nombre. Se aplican AWS KMS cargos adicionales. Para obtener más información, consulta las claves propiedad del cliente.
Crear una clave administrada por el cliente
Puede crear una clave simétrica gestionada por el cliente mediante la consola AWS de gestión o el. AWS KMS APIs
Siga los pasos para crear una clave simétrica administrada por el cliente que se indican en la Guía para desarrolladores del servicio de administración de AWS claves.
Las políticas de clave controlan el acceso a la clave administrada por el cliente. 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 en la Guía para desarrolladores de AWS Key Management Service.
Para utilizar la clave gestionada por el cliente con sus HealthLake recursos, la política clave debe permitir CreateGrant las operaciones de kms:. Esto añade una concesión a una clave gestionada por el cliente que controla el acceso a una KMS clave específica, lo que permite al usuario acceder a los requisitos de kms:grant para las operaciones. HealthLake Consulte Uso de subvenciones para obtener más información.
Para utilizar la KMS clave gestionada por el cliente con HealthLake los recursos, la política clave debe permitir las siguientes API operaciones:
-
kms: CreateGrant añade las concesiones a una KMS clave específica gestionada por el cliente que permite el acceso a las operaciones de concesión.
-
kms: DescribeKey proporciona los detalles de la clave gestionada por el cliente necesarios para validar la clave. Esto es necesario para todas las operaciones.
-
kms: GenerateDataKey proporciona acceso a los recursos de cifrado en reposo para todas las operaciones de escritura.
-
KMS:Decrypt proporciona acceso a las operaciones de lectura o búsqueda de recursos cifrados.
A continuación se muestra un ejemplo de declaración de política que permite a un usuario crear un almacén de datos cifrado con esa clave e interactuar con él: AWS HealthLake
"Statement": [ { "Sid": "Allow access to create data stores and do CRUD/search in AWS HealthLake", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:HealthLakeFullAccessRole" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "healthlake.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ]
IAMPermisos necesarios para usar una KMS clave administrada por el cliente
Al crear un almacén de datos con el AWS KMS cifrado habilitado mediante una KMS clave administrada por el cliente, se requieren permisos tanto para la política de claves como para la IAM política del usuario o rol que crea el almacén de HealthLake datos.
Puede usar la clave de ViaService condición kms: para limitar el uso de la KMS clave únicamente a las solicitudes que se originen en HealthLake.
Para obtener más información sobre las políticas clave, consulte Habilitar IAM políticas en la Guía para desarrolladores del Servicio de administración de AWS claves.
El IAM usuario, el IAM rol o la AWS cuenta que crea tus repositorios debe tener los kms: CreateGrant kms: DescribeKey permisos kms: yGenerateDataKey, además, los HealthLake permisos necesarios.
¿Cómo se HealthLake utilizan las subvenciones en AWS KMS
HealthLake requiere una concesión para utilizar la KMS clave gestionada por el cliente. Al crear un almacén de datos cifrado con una KMS clave gestionada por el cliente, HealthLake crea una concesión en tu nombre enviando una CreateGrantsolicitud a AWSKMS. Las concesiones AWS KMS se utilizan para dar HealthLake acceso a una KMS clave de la cuenta de un cliente.
Las subvenciones que se HealthLake crean en tu nombre no se deben revocar ni retirar. Si revoca o retira la concesión que HealthLake autoriza el uso de las AWS KMS claves de su cuenta, HealthLake no puede acceder a estos datos, cifra los nuevos FHIR recursos introducidos en el almacén de datos o los descifra cuando se extraen. Al revocar o retirar una subvención HealthLake, el cambio se produce inmediatamente. Para revocar los derechos de acceso, debe eliminar el almacén de datos en lugar de revocar la concesión. Cuando se elimina un almacén de datos, HealthLake retira las concesiones en tu nombre.
Supervisión de las claves de cifrado para HealthLake
Puedes utilizarla CloudTrail para hacer un seguimiento de las solicitudes que se HealthLake envían AWS KMS en tu nombre cuando utilizas una KMS clave gestionada por el cliente. Las entradas del CloudTrail registro muestran healthlake.amazonaws.com en el userAgent campo para distinguir claramente las solicitudes realizadas por. HealthLake
Los siguientes ejemplos son CloudTrail eventos para CreateGrant descifrar y supervisar las AWS KMS operaciones solicitadas para acceder DescribeKey a los datos cifrados por HealthLake la clave gestionada por el cliente. GenerateDataKey
A continuación, se muestra cómo se utiliza CreateGrant para permitir el acceso HealthLake a una KMS clave proporcionada por el cliente, lo que HealthLake permite utilizar esa KMS clave para cifrar todos los datos inactivos del cliente.
Los usuarios no están obligados a crear sus propias subvenciones. HealthLake crea una subvención en tu nombre enviando una CreateGrant solicitud a AWSKMS. Las subvenciones AWS KMS se utilizan para dar HealthLake acceso a una AWS KMS clave de la cuenta de un cliente.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEROLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01, "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T19:33:37Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T20:31:15Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ], "granteePrincipal": "healthlake.us-east-1.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN", "retiringPrincipal": "healthlake.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "EXAMPLE_ID_01" }, "requestID": "EXAMPLE_ID_02", "eventID": "EXAMPLE_ID_03", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Los siguientes ejemplos muestran cómo se utilizan GenerateDataKey para garantizar que el usuario tenga los permisos necesarios para cifrar los datos antes de almacenarlos.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
El siguiente ejemplo muestra cómo se HealthLake llama a la operación de descifrado para utilizar la clave de datos cifrados almacenada para acceder a los datos cifrados.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:21:59Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
En el siguiente ejemplo, se muestra cómo se HealthLake utiliza la DescribeKey operación para comprobar si la AWS KMS clave propiedad del AWS KMS cliente se encuentra en un estado utilizable y para ayudar al usuario a solucionar problemas si no funciona.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T18:36:14Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-07-01T18:36:36Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Más información
Los siguientes recursos proporcionan más información sobre el cifrado de datos en reposo.
Para obtener más información sobre los conceptos básicos del Servicio de administración de AWS claves, consulte la AWS KMS documentación.
Para obtener más información sobre las prácticas recomendadas de seguridad, AWS KMS consulte la documentación.