Configurar políticas AWS KMS clave para CloudTrail - AWS CloudTrail

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.

Configurar políticas AWS KMS clave para CloudTrail

Puede crear una AWS KMS key de tres maneras:

  • La CloudTrail consola

  • La consola AWS de administración

  • La AWS CLI

nota

Si crea una clave de KMS en la CloudTrail consola, CloudTrail le agrega la política de claves de KMS necesaria. No es necesario que añada manualmente las instrucciones de política. Consulte Política de claves de KMS predeterminada creada en la consola CloudTrail .

Si crea una clave de KMS en la AWS administración o en la AWS CLI, debe agregar secciones de políticas a la clave para poder utilizarla con ella CloudTrail. La política debe CloudTrail permitir el uso de la clave para cifrar los archivos de registro y los almacenes de datos de eventos, y permitir que los usuarios que especifique lean los archivos de registro sin cifrar.

Consulte los siguientes recursos:

Secciones clave de la política de KMS obligatorias para su uso con CloudTrail

Si ha creado una clave de KMS con la consola de AWS administración o la AWS CLI, debe añadir, como mínimo, las siguientes instrucciones a su política de claves de KMS para que funcione CloudTrail.

Elementos de política de clave de KMS necesarios para los registros de seguimiento

  1. Habilite los permisos de cifrado de CloudTrail registros. Consulte Concesión de permisos de cifrado.

  2. Habilite los CloudTrail permisos de descifrado de registros. Consulte Concesión de permisos de descifrado. Si está utilizando un bucket de S3 existente con una Clave de bucket de S3, los permisos kms:Decrypt son necesarios para crear o actualizar un registro de seguimiento con el cifrado SSE-KMS habilitado.

  3. CloudTrail Actívela para describir las propiedades clave de KMS. Consulte CloudTrail Actívela para describir las propiedades clave de KMS.

Como práctica recomendada de seguridad, agregue una clave de condición aws:SourceArn a la política de claves de KMS. La clave de condición global del IAM aws:SourceArn ayuda a garantizar que se CloudTrail utilice la clave KMS solo para una o varias rutas específicas. El valor de aws:SourceArn siempre es el ARN de traza (o matriz de ARN de traza) que utiliza la clave KMS. Asegúrese de agregar la clave de condiciones aws:SourceArn de las políticas clave de KMS para las trazas existentes.

La clave de condición aws:SourceAccount también se admite, aunque no se recomienda. El valor de aws:SourceAccount es el ID de cuenta del propietario del traza, para las trazas de la organización, el ID de cuenta de administración.

importante

Cuando agregue las secciones nuevas a su política de clave de KMS, no cambie las secciones existentes en la política.

Si el cifrado está habilitado en un rastro y la clave de KMS está deshabilitada, o si la política de claves de KMS no está configurada correctamente CloudTrail, no CloudTrail se pueden entregar los registros.

Elementos de política de clave de KMS necesarios para los almacenes de datos de eventos

  1. Habilite los permisos de cifrado de CloudTrail registros. Consulte Concesión de permisos de cifrado.

  2. Habilite los CloudTrail permisos de descifrado de registros. Consulte Concesión de permisos de descifrado.

  3. Conceda permiso a los usuarios y a los roles para cifrar y descifrar datos del almacén de datos de eventos con la clave de KMS.

    Tanto para crear un almacén de datos de eventos y cifrarlo con una clave de KMS como para ejecutar consultas en un almacén de datos de eventos que esté cifrando con una clave de KMS, debe tener acceso de escritura a la clave de KMS. La política de claves de KMS debe tener acceso a CloudTrail la clave de KMS y los usuarios que ejecutan operaciones (como consultas) en el almacén de datos de eventos deben poder administrarla.

  4. CloudTrail Actívela para describir las propiedades clave de KMS. Consulte CloudTrail Actívela para describir las propiedades clave de KMS.

Las claves de condición aws:SourceArn y aws:SourceAccount no se admiten en las políticas de claves de KMS para los almacenes de datos de eventos.

importante

Cuando agregue las secciones nuevas a su política de clave de KMS, no cambie las secciones existentes en la política.

Si el cifrado está habilitado en un almacén de datos de eventos y la clave de KMS está deshabilitada o eliminada, o si la política de claves de KMS no está configurada correctamente CloudTrail, CloudTrail no podrá entregar eventos a su banco de datos de eventos.

Concesión de permisos de cifrado

ejemplo Permita CloudTrail cifrar registros en nombre de cuentas específicas

CloudTrail necesita un permiso explícito para usar la clave KMS para cifrar los registros en nombre de cuentas específicas. Para especificar una cuenta, agregue la siguiente declaración necesaria a su política de claves de KMS y reemplace account-id, region y trailName por los valores apropiados para su configuración. Puede añadir identificadores de cuenta adicionales a la EncryptionContext sección para que esas cuentas puedan utilizar CloudTrail su clave de KMS para cifrar los archivos de registro.

Como práctica recomendada de seguridad, agregue una clave de condición aws:SourceArn a la política de clave de KMS para un registro de seguimiento. La clave de condición global de IAM aws:SourceArn ayuda a garantizar que se CloudTrail utilice la clave KMS solo para una o varias rutas específicas.

{ "Sid": "Allow CloudTrail to encrypt logs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:account-id:trail/*" } } }

Una política para una clave KMS utilizada para cifrar los registros del almacén de datos de eventos de CloudTrail Lake no puede usar las claves aws:SourceArn de condición o. aws:SourceAccount A continuación, se muestra un ejemplo de política de una clave de KMS para un almacén de datos de eventos.

{ "Sid": "Allow CloudTrail to encrypt event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

El siguiente ejemplo de declaración de política ilustra cómo otra cuenta puede usar tu clave de KMS para cifrar los registros. CloudTrail

Escenario
  • Su clave de KMS está en la cuenta 111111111111.

  • Usted y la cuenta 222222222222 cifrarán los archivos de registro.

En la política, agregas una o más cuentas que se cifran con tu clave al. CloudTrail EncryptionContext Esto limita CloudTrail el uso de la clave para cifrar los registros únicamente de las cuentas que especifique. Cuando concede permiso a la raíz de la cuenta 222222222222 para cifrar registros, delega el permiso al administrador de la cuenta para cifrar los permisos necesarios a otros usuarios de esa cuenta. Para ello, el administrador de la cuenta cambia las políticas asociadas a esos usuarios de IAM.

Como práctica recomendada de seguridad, agregue una clave de condición aws:SourceArn a la política de claves de KMS. La clave de condición global de IAM aws:SourceArn ayuda a garantizar que se CloudTrail utilice la clave KMS solo para las rutas especificadas. Esta condición no se admite en las políticas de claves de KMS para los almacenes de datos de eventos.

Instrucción de la política de claves de KMS:

{ "Sid": "Enable CloudTrail encrypt permissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:111111111111:trail/*", "arn:aws:cloudtrail:*:222222222222:trail/*" ] }, "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

Para obtener más información sobre cómo editar una política de claves de KMS para usarla con CloudTrail ella, consulte Edición de una política clave en la Guía para AWS Key Management Service desarrolladores.

Concesión de permisos de descifrado

Antes de añadir la clave KMS a la CloudTrail configuración, es importante conceder permisos de descifrado a todos los usuarios que los necesiten. Los usuarios que tienen permisos de cifrado, pero no permisos de descifrado no pueden leer los registros cifrados. Si está utilizando un bucket de S3 existente con una Clave de bucket de S3, los permisos kms:Decrypt son necesarios para crear o actualizar un registro de seguimiento con el cifrado SSE-KMS habilitado.

Habilite los permisos de descifrado de CloudTrail registros

Los usuarios de su clave deben tener permisos explícitos para leer los archivos de registro cifrados. CloudTrail Para habilitar a los usuarios para que puedan leer archivos de registros cifrados, agregue la siguiente instrucción necesaria a su política de claves de KMS y modifique la sección Principal para agregar una línea para cada entidad principal a la que desee permitir descifrar con su clave de KMS.

{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

El siguiente es un ejemplo de política que se requiere para permitir que el director del CloudTrail servicio descifre los registros de seguimiento.

{ "Sid": "Allow CloudTrail to decrypt a trail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

La política de descifrado de una clave de KMS que se utiliza con un banco de datos de eventos de CloudTrail Lake es similar a la siguiente. Los ARN de usuario o rol especificados como valores para Principal necesitan permisos de descifrado para crear o actualizar almacenes de datos de eventos, ejecutar consultas u obtener los resultados de las consultas.

{ "Sid": "Enable user key permissions for event data stores" "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

El siguiente es un ejemplo de política que se requiere para permitir que el director del CloudTrail servicio descifre los registros del almacén de datos de eventos.

{ "Sid": "Allow CloudTrail to decrypt an event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Permitir a los usuarios de su cuenta descifrar los registros de seguimiento con su clave de KMS

Ejemplo

Esta instrucción de política ilustra cómo permitir que un usuario o un rol de su cuenta use su clave para leer registros cifrados en el bucket de S3 de su cuenta.

ejemplo Escenario
  • Su clave de KMS, el bucket de S3 y el usuario de IAM Bob están en la cuenta 111111111111.

  • Le das permiso al usuario de IAM Bob para descifrar los CloudTrail registros del bucket de S3.

En la política de claves, habilita los permisos de descifrado de CloudTrail registros para el usuario Bob de IAM.

Instrucción de la política de claves de KMS:

{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:user/Bob" }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Temas

    Permitir a los usuarios de otras cuentas descifrar los registros de seguimiento con su clave de KMS

    Puede permitir que los usuarios de otras cuentas utilicen su clave de KMS para descifrar registros de seguimiento, pero no los registros del almacén de datos de eventos. Los cambios necesarios en su política de claves dependen de si el bucket de S3 se encuentra en su cuenta o en otra cuenta.

    Permitir a los usuarios de un bucket de otra cuenta descifrar archivos de registro

    Ejemplo

    Esta instrucción de política ilustra cómo permitir que un usuario o un rol de IAM de otra cuenta use su clave para leer archivos de registro cifrados de un bucket de S3 de la otra cuenta.

    Escenario
    • Su clave de KMS está en la cuenta 111111111111.

    • El usuario de IAM Alice y el bucket de S3 se encuentran en la cuenta 222222222222.

    En este caso, usted CloudTrail autoriza a descifrar los registros de la cuenta 222222222222 y autoriza a la política de usuario de IAM de Alice a utilizar su claveKeyA, que está en la cuenta. 111111111111

    Instrucción de la política de claves de KMS:

    { "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    Instrucción de política de la usuaria de IAM Alice:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111111111111:key/KeyA" } ] }

    Permitir a los usuarios de otra cuenta descifrar los registros de seguimiento de su bucket

    ejemplo

    Esta política ilustra cómo otra cuenta puede utilizar su clave para leer archivos de registro cifrados de su bucket de S3.

    ejemplo Escenario
    • Su clave de KMS y el bucket de S3 se encuentran en la cuenta 111111111111.

    • El usuario que lee registros del bucket está en la cuenta 222222222222.

    Para habilitar este escenario, habilita los permisos de descifrado para la función de IAM CloudTrailReadRoleen su cuenta y, a continuación, otorga permiso a la otra cuenta para que asuma esa función.

    Instrucción de la política de claves de KMS:

    { "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::11111111111:role/CloudTrailReadRole" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    CloudTrailReadRoledeclaración de política de la entidad fiduciaria:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "sts:AssumeRole" } ] }

    Para obtener información sobre cómo editar una política de claves de KMS para usarla con CloudTrail ella, consulte Edición de una política clave en la Guía para AWS Key Management Service desarrolladores.

    CloudTrail Actívela para describir las propiedades clave de KMS

    CloudTrail requiere la capacidad de describir las propiedades de la clave KMS. Para habilitar esta funcionalidad, agregue la siguiente instrucción necesaria tal cual está a su política de claves de KMS. Esta declaración no concede CloudTrail ningún permiso aparte de los demás permisos que especifique.

    Como práctica recomendada de seguridad, agregue una clave de condición aws:SourceArn a la política de claves de KMS. La clave de condición global de IAM aws:SourceArn ayuda a garantizar que se CloudTrail utilice la clave KMS solo para una o varias rutas específicas.

    { "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

    Para obtener más información sobre cómo editar políticas de claves de KMS, consulte Edición de una política de claves en la Guía para desarrolladores de AWS Key Management Service .