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 la consulta con AWS Key Management Service
De forma predeterminada, CloudWatch Logs cifra los resultados almacenados de sus consultas de CloudWatch Logs Insights mediante el método de cifrado predeterminado del servidor de CloudWatch Logs. En su lugar, puede optar por utilizar una AWS KMS clave para cifrar estos resultados. Si asocias una AWS KMS clave a los resultados de cifrado, CloudWatch Logs utilizará esa clave para cifrar los resultados almacenados de todas las consultas de la cuenta.
Si posteriormente desasocias la clave de los resultados de la consulta, CloudWatch Logs volverá al método de cifrado predeterminado para consultas posteriores. Sin embargo, las consultas que se ejecutaron mientras la clave estaba asociada siguen cifradas con esa clave. CloudWatch Los registros pueden seguir devolviendo esos resultados una vez desasociada la clave de KMS, ya que CloudWatch los registros pueden seguir haciendo referencia a la clave. Sin embargo, si la clave se deshabilita posteriormente, CloudWatch Logs no podrá leer los resultados de la consulta que se cifraron con esa clave.
importante
CloudWatch Logs solo admite claves 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
ykms: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 revoca el acceso de CloudWatch los registros a una clave asociada o elimina 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 una 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 director del servicio de CloudWatch registros para usar la clave. El principal de este servicio debe estar en la misma AWS región en la que se almacena 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 su clave KMS policy.json
mediante el siguiente get-key-policycomando:
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 instrucciones 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 para los resultados de la consulta de CloudWatch Logs Insights en la cuenta especificada.
{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_ID
: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:region
:account_ID
:query-result:*" }, "StringEquals": { "aws:SourceAccount": "Your_account_ID
" } } } ] }
Por último, añada la política actualizada mediante el siguiente put-key-policycomando:
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 KMS asociada a los resultados de la consulta, utilice el siguiente disassociate-kms-keycomando:
aws logs disassociate-kms-key --resource-identifier "arn:aws:logs:
region
:account-id
:query-result:*"