View a markdown version of this page

Cifre los resultados de las consultas con AWS Key Management Service - CloudWatch Registros de Amazon

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.

Cifre los resultados de las consultas con AWS Key Management Service

De forma predeterminada, CloudWatch Logs cifra los resultados almacenados de las consultas de CloudWatch Logs Insights mediante el método de cifrado predeterminado de CloudWatch Logs en el servidor. En su lugar, puedes optar por usar una AWS KMS clave para cifrar estos resultados. Si asocias una AWS KMS clave a los resultados del cifrado, CloudWatch Logs usará esa clave para cifrar los resultados almacenados de todas las consultas de la cuenta.

Si más adelante desvinculas la clave de los resultados de la consulta, CloudWatch Logs volverá al método de cifrado predeterminado para las consultas posteriores. Sin embargo, las consultas que se ejecutaron mientras la clave estaba asociada siguen cifradas con esa clave. CloudWatch Los registros aún pueden devolver esos resultados después de desvincular la clave de KMS, porque CloudWatch los registros pueden seguir haciendo referencia a la clave. Sin embargo, si la clave se deshabilita más adelante, CloudWatch Logs no podrá leer los resultados de la consulta que se cifraron con esa clave.

importante

CloudWatch Logs solo admite claves de KMS simétricas. No utilice una clave asimétrica para cifrar los resultados de la consulta. Para obtener más información, consulte Utilización de claves simétricas y asimétricas.

Límites

  • Para realizar los siguientes pasos, debe tener los siguientes permisos: kms:CreateKey, kms:GetKeyPolicy y kms:PutKeyPolicy.

  • Después de asociar una clave a los resultados de la consulta o desasociarla de ellos, la operación puede tardar hasta cinco minutos en surtir efecto.

  • Si revocas el acceso de CloudWatch los registros a una clave asociada o eliminas una clave de KMS asociada, los datos cifrados de los CloudWatch registros ya no se podrán recuperar.

  • No puedes usar la CloudWatch consola para asociar una clave, debes usar la API AWS CLI o CloudWatch Logs.

Paso 1: Crea un AWS KMS key

Para crear una clave de KMS, utilice el siguiente comando create-key:

aws kms create-key

La salida contiene la ID de clave y el nombre de recurso de Amazon (ARN) de la clave. A continuación, se muestra un ejemplo de la salida:

{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Paso 2: establecer permisos en la clave de KMS

De forma predeterminada, todas las claves de KMS son privadas. Solo el propietario del recurso puede utilizarla para cifrar y descifrar datos. Sin embargo, el propietario del recurso puede conceder permisos para que otros usuarios y recursos accedan a la clave. Con este paso, le das permiso al principal del servicio de CloudWatch registros para usar la clave. Este principal de servicio debe estar en la misma AWS región donde está almacenada la clave.

Como práctica recomendada, le recomendamos que restrinja el uso de la clave solo a las AWS cuentas que especifique.

En primer lugar, guarde la política predeterminada para la clave de KMS como policy.json con el siguiente comando get-key-policy:

aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json

Abra el archivo policy.json en un editor de texto y agregue la sección en negrita desde una de las instrucciones siguientes. Separe la instrucción existente de la nueva instrucción con una coma. Estas declaraciones utilizan Condition secciones para mejorar la seguridad de la AWS KMS clave. Para obtener más información, consulte AWS KMS claves y contexto de cifrado.

La Condition sección de este ejemplo limita el uso de la AWS KMS clave a los resultados de la consulta de CloudWatch Logs Insights en la cuenta especificada.

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:logs:us-east-1:111122223333:query-result:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Por último, agregue la política actualizada con el siguiente comando put-key-policy:

aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json

Paso 3: asociar una clave de KMS a los resultados de la consulta

Para asociar la clave de KMS a los resultados de la consulta en la cuenta

Utilice el comando disassociate-kms-key como se indica a continuación:

aws logs associate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*" --kms-key-id "key-arn"

Paso 4: desasociar una clave de los resultados de la consulta en la cuenta

Para desasociar la clave de KMS asociada a los resultados de las consultas, utilice el siguiente comando disassociate-kms-key:

aws logs disassociate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*"