View a markdown version of this page

Configuración AWS KMS políticas 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.

Configuración AWS KMS políticas 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 requerida. No es necesario que añada manualmente las instrucciones de política. Consulte La política de claves de KMS predeterminada se creó en la consola CloudTrail.

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

Consulte los siguientes recursos:

Secciones de políticas clave 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 agregar, como mínimo, las siguientes instrucciones a su política de claves de KMS para que funcione con ella CloudTrail.

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

  1. Conceda permisos para cifrar los archivos de CloudTrail registro y resumen. Para obtener más información, consulte Otorgar permisos de cifrado para los registros de seguimiento.

  2. Conceda permisos para descifrar los archivos de CloudTrail registro y resumen. Para obtener más información, consulte Otorgar permisos de descifrado para los registros de seguimiento. Si utiliza un bucket de S3 existente con una clave de bucket de S3, kms:Decrypt necesitará permisos para crear o actualizar un registro con el SSE-KMS cifrado activado.

  3. Habilite CloudTrail para describir las propiedades de la clave de KMS. Para obtener más información, consulte Habilite CloudTrail para describir las propiedades de la 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 de IAM aws:SourceArn ayuda a garantizar que se CloudTrail utilice la clave de KMS solo para una ruta o 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 una ruta y la clave de KMS está deshabilitada o 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. Conceda permisos para cifrar un almacén de datos de eventos de CloudTrail Lake. Para obtener más información, consulte Otorgar permisos de cifrado para los almacenes de datos de eventos.

  2. Otorgue permisos para descifrar un almacén de datos de eventos de CloudTrail Lake. Para obtener más información, consulte Otorgar permisos de descifrado para los almacenes de datos de eventos.

    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 al almacén de datos de eventos CloudTrail, y los usuarios que ejecutan operaciones (como consultas) en el almacén de datos de eventos deben poder administrarla.

  3. Habilite CloudTrail para describir las propiedades de la clave de KMS. Para obtener más información, consulte Habilite CloudTrail para describir las propiedades de la 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 la política de claves de KMS no está configurada correctamente CloudTrail, CloudTrail no podrá enviar eventos a su almacén de datos de eventos.

Otorgar permisos de cifrado para los registros de seguimiento

ejemplo Permite CloudTrail cifrar archivos de registro y archivos resumidos en nombre de cuentas específicas

CloudTrail necesita un permiso explícito para usar la clave de KMS para cifrar archivos de registro y archivos resumidos en nombre de cuentas específicas. Para especificar una cuenta, agregue la siguiente declaración obligatoria a su política de claves de KMS y reemplácela account-idregion, y trailName con los valores apropiados para su configuración. Puede agregar identificadores de cuenta adicionales a la EncryptionContext sección para permitir que esas cuentas usen CloudTrail su clave de KMS para cifrar los archivos de registro y los archivos resumidos.

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 de KMS solo para una ruta o rutas específicas.

{ "Sid": "AllowCloudTrailEncryptLogs", "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/*" } } }
ejemplo

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

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

  • Tanto usted como la cuenta 222222222222 cifrarán los registros.

En la política, añades una o más cuentas que se cifran con tu clave a. CloudTrail EncryptionContext Esto limita el uso de CloudTrail la clave para cifrar archivos de registro y archivos resumidos únicamente para las cuentas que especifiques. Cuando concedes 222222222222 permiso a la raíz de la cuenta para cifrar archivos de registro y archivos resumidos, delega en el administrador de la cuenta el permiso 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 de 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": "EnableCloudTrailEncryptPermissions", "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 Editar una política de claves en la Guía para AWS Key Management Service desarrolladores.

Otorgar permisos de cifrado para los almacenes de datos de eventos

Una política para una clave de KMS utilizada para cifrar un almacén de datos de eventos de CloudTrail Lake no puede usar las claves de condición aws:SourceArn oaws: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": "AllowCloudTrailEncryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Otorgar permisos de descifrado para los registros de seguimiento

Antes de agregar la clave de 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 utiliza un bucket de S3 existente con una clave de bucket de S3, kms:Decrypt necesitará permisos para crear o actualizar un registro con el SSE-KMS cifrado activado.

Habilita los CloudTrail permisos de descifrado de registros

Los usuarios de su clave deben tener permisos explícitos para leer los archivos de registro que CloudTrail ha cifrado. 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": "EnableCloudTrailLogDecryptPermissions", "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 necesaria para permitir que el principal del CloudTrail servicio descifre los registros de seguimiento.

{ "Sid": "AllowCloudTrailDecryptTrail", "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 de IAM Bob.

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

{ "Sid": "EnableCloudTrailLogDecryptPermissions", "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 del registro de seguimiento. 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, CloudTrail autorizas a descifrar los registros de la cuenta 222222222222 y autorizas a la política de usuario de IAM de Alice a usar tu claveKeyA, que está en la cuenta. 111111111111

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

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:111111111111:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

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

    JSON
    { "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 CloudTrailReadRole en su cuenta y, a continuación, otorga a la otra cuenta permiso para que asuma esa función.

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

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111111111111: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:

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

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

    Otorgar permisos de descifrado para los almacenes de datos de eventos

    La política de descifrado para una clave de KMS que se usa en un almacén 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": "EnableUserKeyPermissionsEds" "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 es necesaria para permitir que el principal del CloudTrail servicio descifre un almacén de datos de eventos.

    { "Sid": "AllowCloudTrailDecryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

    Habilite CloudTrail para describir las propiedades de la clave de KMS

    CloudTrail requiere la capacidad de describir las propiedades de la clave de 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 otorga CloudTrail ningún permiso más allá 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 de KMS solo para una ruta o rutas específicas.

    { "Sid": "AllowCloudTrailAccess", "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 .