Cifrado en reposo en el Programador de EventBridge
En esta sección se describe cómo el Programador de Amazon EventBridge cifra y descifra los datos en reposo. Los datos en reposo son datos almacenados en el Programador de EventBridge y en los componentes subyacentes del servicio. El Programador de EventBridge se integra con AWS Key Management Service (AWS KMS) para cifrar y descifrar sus datos mediante una AWS KMS key. El Programador de EventBridge admite dos tipos de claves de KMS: Claves propiedad de AWS y claves administradas por el cliente.
nota
El Programador de EventBridge solo admite el uso de claves KMS de cifrado simétrico.
Las Claves propiedad de AWS son claves KMS que un servicio de AWS posee y administra para su uso en varias cuentas de AWS. Aunque los usos del Programador de EventBridge de Claves propiedad de AWS no se almacenan en su cuenta de AWS, el Programador de EventBridge los utiliza para proteger sus datos y recursos. De forma predeterminada, el Programador de EventBridge cifra y descifra todos los datos mediante una clave propia de AWS. No es necesario administrar su Clave propiedad de AWS ni su política de acceso. No se le cobrará ninguna comisión cuando el Programador de EventBridge utilice Claves propiedad de AWS para proteger sus datos, y su uso no se tendrá en cuenta como parte de las cuotas AWS KMS de su cuenta.
Las claves administradas por el cliente son claves KMS en su cuenta de AWS, que usted ha creado, posee y administra. Si su caso de uso específico requiere que controle y audite las claves de cifrado que protegen sus datos en el Programador de EventBridge, puede utilizar una clave administrada por el cliente. Si elige una clave administrada por el cliente, debe administrar su política de claves. Las claves administradas por el cliente tienen una tarifa mensual y una tarifa por uso excesivo del nivel gratuito. El uso de una clave administrada por el cliente también cuenta como parte de su cuota de AWS KMS. Para obtener más información acerca de los precios, consulte Precios de AWS Key Management Service
Artefactos de cifrado
En la siguiente tabla se describen los distintos tipos de datos que el Programador de EventBridge cifra en reposo y qué tipo de clave KMS admite para cada categoría.
| Tipo de datos: | Descripción | Clave propiedad de AWS | clave administrada por el cliente |
|---|---|---|---|
|
Carga (hasta 256 KB) |
Los datos que se especifican en el parámetro |
Soportado |
Compatible |
|
Identificador y estado |
El nombre exclusivo y el estado (activar o desactivar) de la programación. |
Compatible |
No admitido |
|
Configuración de programación |
La expresión de programación, como la expresión de frecuencia o cron para las programaciones recurrentes y la marca de tiempo para las invocaciones únicas, así como la fecha de inicio, la fecha de finalización y la zona horaria de la programación. |
Compatible |
No admitido |
|
Configuración de destino |
El nombre de recurso de Amazon (ARN) y otros detalles de configuración relacionados con el destino. |
Compatible |
No admitido |
|
Configuración del comportamiento de invocación y error |
La configuración flexible del intervalo de tiempo, la política de reintentos de la programación y los detalles de las colas de mensajes fallidos que se utilizan en las entregas fallidas. |
Compatible |
No admitido |
El Programador de EventBridge utiliza las claves administradas por el cliente solo al cifrar y descifrar la carga útil de destino, como se describe en la tabla anterior. Si decide utilizar una clave administrada por el cliente, el Programador de EventBridge cifra y descifra la carga dos veces: una con la Clave propiedad de AWS predeterminada y otra con la clave administrada por el cliente que usted especifique. Para todos los demás tipos de datos, el Programador de EventBridge solo usa la Clave propiedad de AWS predeterminada para proteger los datos en reposo.
Utilice la siguiente sección Administrar las claves de KMS para obtener información sobre cómo debe administrar los recursos de IAM y las políticas clave para utilizar una clave administrada por el cliente con el Programador de EventBridge.
Administrar las claves de KMS
Si lo desea, puede proporcionar una clave administrada por el cliente para cifrar y descifrar la carga útil que su programa entrega a su destino. El Programador de EventBridge cifra y descifra su carga de hasta 256 KB de datos. El uso de una clave administrada por el cliente genera una tarifa mensual y una tarifa superior al nivel gratuito. El uso de una clave administrada por el cliente cuenta como parte de su cuota de AWS KMS. Para obtener más información acerca de los precios, consulte Precios de AWS Key Management Service
El Programador de EventBridge utiliza los permisos de IAM asociados a la entidad principal que crea una programación para cifrar los datos. Esto significa que debes adjuntar los permisos de AWS KMS relacionados necesarios al usuario o rol que llama a la API del Programador de EventBridge. Además, el Programador de EventBridge utiliza políticas basadas en recursos para descifrar los datos. Esto significa que la función de ejecución asociada a su programación también debe tener los permisos AWS KMS necesarios para llamar a la API AWS KMS al descifrar los datos.
nota
El Programador de EventBridge no admite el uso de concesiones para permisos temporales.
Consulte la siguiente sección para obtener información sobre cómo puede administrar su política de claves AWS KMS y los permisos de IAM necesarios para utilizar una clave administrada por el cliente en el Programador de EventBridge.
Añadir permisos de IAM
Para usar una clave administrada por el cliente, debe añadir los siguientes permisos a la entidad principal de IAM basada en la identidad que crea una programación, así como al rol de ejecución que asocia al cronograma.
Permisos basados en identidades para claves administradas por el cliente
Debe añadir las siguientes acciones AWS KMS a la política de permisos asociada a cualquier entidad principal (usuarios, grupos o roles) que llame a la API del Programador de EventBridge al crear una programación.
-
kms:DescribeKey— Necesaria para validar que la clave que ha proporcionado es una clave KMS de cifrado simétrico. -
kms:GenerateDataKey– Necesaria para generar la clave de datos que el Programador de EventBridge utiliza para realizar el cifrado del cliente. -
kms:Decrypt– Necesaria para descifrar la clave de datos cifrados que el Programador de EventBridge almacena junto con los datos cifrados.
Estas acciones se suman a las siguientes:
-
scheduler:* -
iam:PassRole: necesario para pasar el rol de ejecución.
Permisos de función de ejecución para las claves administradas por el cliente
Debe añadir la siguiente acción a la política de permisos de las funciones de ejecución de su programación para proporcionar acceso al Programador de EventBridge y llamar a la API AWS KMS al descifrar los datos.
-
kms:Decrypt– Necesaria para descifrar la clave de datos cifrados que el Programador de EventBridge almacena junto con los datos cifrados.
Si utiliza la consola del Programador de EventBridge para crear un nuevo rol de ejecución al crear una nueva programación, el Programador de EventBridge adjuntará de forma automática el permiso necesario a su rol de ejecución. Sin embargo, si elige un rol de ejecución existente, debe añadir los permisos necesarios al rol para poder utilizar las claves administradas por el cliente.
Administrar la política de claves
Cuando crea una clave administrada por el cliente utilizando AWS KMS, de forma predeterminada, su clave tiene la siguiente política de claves para proporcionar acceso a los roles de ejecución de sus programaciones.
Si lo desea, puede limitar el alcance de su política de claves para proporcionar acceso únicamente al rol de ejecución. Puede ser interesante hacerlo si desea utilizar una clave administrada por el cliente solo con sus recursos del Programador de EventBridge. Utilice el siguiente ejemplo de política de claves para limitar los recursos del Programador de EventBridge que pueden utilizar su clave.
Ejemplo de evento CloudTrail
AWS CloudTrail captura todos los eventos de llamadas a la API. Esto incluye las llamadas a la API siempre que el Programador de EventBridge utilice la clave administrada por el cliente para descifrar los datos. El siguiente ejemplo muestra una entrada de evento de CloudTrail que demuestra que el Programador de EventBridge utiliza la acción kms:Decrypt mediante una clave administrada por el cliente.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "ABCDEABCD1AB12ABABAB0:70abcd123a123a12345a1aa12aa1bc12", "arn": "arn:aws:sts::123456789012:assumed-role/execution-role/70abcd123a123a12345a1aa12aa1bc12", "accountId": "123456789012", "accessKeyId": "ABCDEFGHI1JKLMNOP2Q3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ABCDEABCD1AB12ABABAB0", "arn": "arn:aws:iam::123456789012:role/execution-role", "accountId": "123456789012", "userName": "execution-role" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-10-31T21:03:15Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-10-31T21:03:15Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-north-1", "sourceIPAddress": "13.50.87.173", "userAgent": "aws-sdk-java/2.17.295 Linux/4.14.291-218.527.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.17+9-LTS Java/11.0.17 kotlin/1.3.72-release-468 (1.3.72) vendor/Amazon.com_Inc. md/internal exec-env/AWS_ECS_FARGATE io/sync http/Apache cfg/retry-mode/standard AwsCrypto/2.4.0", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/default/execution-role" } }, "responseElements": null, "requestID": "request-id", "eventID": "event-id", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:123456789012:key/2321abab-2110-12ab-a123-a2b34c5abc67" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com" } }