Amazon Managed Service for Apache Flink (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics for Apache Flink.
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.
Administración de claves en Amazon Managed Service para Apache Flink
En Amazon MSF, puede optar por utilizar una Claves administradas por AWSo sus propias claves gestionadas por el cliente (CMKs) para cifrar los datos. CMKs in AWS Key Management Service (AWS KMS) son claves de cifrado que usted mismo crea, posee y administra.
En esta página
Cifrado transparente en Amazon MSF
De forma predeterminada, Amazon MSF utiliza Claves propiedad de AWS (AOKs) para cifrar los datos en un almacenamiento efímero (almacenamiento de aplicaciones en ejecución) y duradero (almacenamiento de aplicaciones duradero). Esto significa que todos los datos sujetos a un punto de control o una instantánea de Flink se cifrarán de forma predeterminada. AOKs son el método de cifrado predeterminado en Amazon MSF y no es necesaria ninguna configuración adicional. Para cifrar los datos en tránsito, Amazon MSF utiliza TLS y HTTP+SSL de forma predeterminada y no requiere ninguna configuración o configuración adicional.
Claves gestionadas por el cliente en Amazon MSF
En Amazon MSF, CMK es una función en la que puede cifrar los datos de su aplicación con una clave que usted crea, posee y administra. AWS KMS
En esta sección
¿Con qué se cifra? CMKs
En una aplicación de Amazon MSF, los datos sujetos a un punto de control o una instantánea de Flink se cifrarán con una CMK que defina para esa aplicación. En consecuencia, su CMK cifrará los datos almacenados en el almacenamiento de aplicaciones en ejecución o en el almacenamiento de aplicaciones duraderas. En las siguientes secciones se describe el procedimiento de configuración de CMKs las aplicaciones de Amazon MSF.
Política de rotación de claves
Amazon MSF no gestiona la política de rotación de claves para usted CMKs. Eres responsable de tu propia rotación de claves. Esto se debe a que tú creas y mantienes CMKs. Para obtener información sobre cómo utilizar su política de rotación de claves con CMK en Amazon MSF, consulte. Política de rotación de claves
¿Con qué no se cifra? CMKs
Fuentes y sumideros
Amazon MSF no gestiona el cifrado de las fuentes y los receptores de datos. Lo administra la configuración de origen o receptor o la configuración del conector de la aplicación.
Aplicación retroactiva del cifrado
CMK en Amazon MSF no admite la aplicación retroactiva a una instantánea CMKs histórica existente.
Cifrado de registros
Actualmente, Amazon MSF no admite el cifrado de registros mediante KMS CMK para los registros generados por el tarro de código de la aplicación. Deberá asegurarse de que los registros no contengan datos que requieran el cifrado CMK.
Cifrado de datos en tránsito
No puedes usar CMK para cifrar los datos en tránsito. De forma predeterminada, Amazon MSF cifra todos los datos en tránsito mediante TLS o HTTP y SSL.
Tipos de claves KMS compatibles
CMK en Amazon MSF admite claves simétricas.
Permisos de claves de KMS
CMK en Amazon MSF requiere permiso para realizar las siguientes acciones de KMS. Estos permisos son necesarios para validar el acceso, crear un almacenamiento de aplicaciones cifradas con CMK en ejecución y almacenar el estado de las aplicaciones cifradas con CMK en un almacenamiento de aplicaciones duradero.
-
kms: DescribeKey
Otorga permiso para resolver un alias de clave de KMS en el ARN de clave.
-
kms:Decrypt
Otorga permiso para acceder al estado duradero de las aplicaciones y aprovisionar el almacenamiento de las aplicaciones en ejecución.
-
km: GenerateDataKey
Otorga permiso para almacenar el estado duradero de la aplicación.
-
km: GenerateDataKeyWithoutPlaintext
Otorga permiso para aprovisionar el almacenamiento de aplicaciones en ejecución.
-
kms: CreateGrant
Otorga permiso para acceder al almacenamiento de aplicaciones en ejecución.
Contexto y restricciones del cifrado de KMS
CMK en Amazon MSF proporciona un contexto de cifrado al acceder a las claves para leer o escribir datos cifrados, es decir,. kms:EncryptionContext:aws:kinesisanalytics:arn
Además del contexto de cifrado, los contextos fuente aws: SourceArn y aws: SourceAccount se proporcionan al leer o escribir un almacenamiento duradero de aplicaciones.
Al crear una concesión para aprovisionar almacenamiento cifrado de aplicaciones en ejecución, Amazon MSF CMK crea concesiones con un tipo de restricción que EncryptionContextSubsetgarantiza que solo se permita la operación de descifrado. "kms:GrantOperations": "Decrypt"
Política de rotación de claves
Amazon MSF no gestiona la política de rotación de claves para usted CMKs. Tú eres responsable de tu propia rotación de claves porque tú la creas y la CMKs mantienes.
En KMS, utiliza la rotación de claves automática o manual para crear nuevo material criptográfico para usted CMKs. Para obtener información sobre cómo rotar las claves, consulte Rotar AWS KMS keys en la guía para AWS Key Management Service desarrolladores.
Al rotar las claves CMKs en Amazon MSF, debe asegurarse de que el operador (la persona que llama a la API) tiene permisos tanto para la clave anterior como para la nueva.
nota
Una aplicación puede partir de una instantánea cifrada con AOK después de configurarla para usar CMK. Una aplicación también puede partir de una instantánea cifrada con una CMK anterior. Para iniciar una aplicación a partir de una instantánea, el operador (la persona que llama a la API) debe tener permisos tanto para la clave antigua como para la nueva.
En Amazon MSF, le recomendamos que detenga y reinicie las aplicaciones mediante el cifrado CMK. Esto garantiza que la nueva clave maestra de rotación se aplique a todos los datos del almacenamiento de aplicaciones en ejecución y del almacenamiento duradero de aplicaciones. Si no detiene y reinicia la aplicación, el nuevo material clave solo se aplicará al almacenamiento duradero de las aplicaciones. El almacenamiento de aplicaciones en ejecución seguirá cifrándose con el material de clave de rotación anterior.
Si va a cambiar el AWS KMS key ARN utilizado para CMK, debe utilizarlo en UpdateApplicationAmazon MSF. Esto garantizará que la aplicación Flink se reinicie como parte de la aplicación de los cambios de UpdateApplication
CMK.
nota
Cuando proporciona un alias o un ARN de alias, Amazon MSF convierte el alias en la clave ARN y almacena la clave ARN como la clave configurada para la aplicación.
Declaraciones políticas clave para los menos privilegiados
Para obtener información sobre las principales declaraciones de políticas, consulte y. Cree una política de claves de KMS Permisos del operador del ciclo de vida de la aplicación (persona que llama a la API)
Ejemplos de entradas de AWS CloudTrail registro
Cuando Amazon MSF lo utiliza CMKs AWS KMS, registra AWS CloudTrail automáticamente todas las llamadas a la AWS KMS API y los detalles relacionados. Estos registros contienen información, como la Servicio de AWS realización de la solicitud, el ARN de la clave de KMS, las acciones de la API realizadas y las marcas de tiempo que excluyen los datos cifrados. Estos registros proporcionan pistas de auditoría esenciales para el cumplimiento, la supervisión de la seguridad y la solución de problemas, ya que muestran qué servicios accedieron a sus claves y cuándo.
Ejemplo 1: AWS KMS Descifrar una llamada a la API mediante un rol asumido en Amazon MSF
El siguiente CloudTrail registro muestra a Amazon MSF realizando una operación de prueba KMS:Decrypt en una CMK. Amazon MSF realiza esta solicitud mediante un Operator
rol mientras usa la CreateApplicationAPI. El siguiente registro incluye detalles esenciales, como la clave de KMS de destino, la aplicación Amazon MSF asociada (MyCmkApplication
) y la marca de tiempo de la operación.
{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "REDACTED", "arn": "arn:aws:sts::
123456789012
:assumed-role/Operator
/CmkTestingSession
", "accountId": "123456789012
", "accessKeyId": "REDACTED", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "REDACTED", "arn": "arn:aws:iam::123456789012
:role/Operator
", "accountId": "123456789012
", "userName": "Operator
" }, "attributes": { "creationDate": "2025-08-07T13:29:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1
", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1
:123456789012
:application/MyCmkApplication
" }, "keyId": "arn:aws:kms:us-east-1
:123456789012
:key/1234abcd-12ab-34cd-56ef-1234567890ab
", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "56764d19-1eb1-48f1-8044-594aa7dd05c4", "eventID": "1371b402-f1dc-4c47-8f3a-1004e4803c5a", "readOnly": true, "resources": [ { "accountId": "123456789012
", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1
:123456789012
:key/1234abcd-12ab-34cd-56ef-1234567890ab
" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012
", "eventCategory": "Management" }
Ejemplo 2: AWS KMS Descifrar una llamada a la API en Amazon MSF con autenticación de servicio directa
El siguiente CloudTrail registro muestra a Amazon MSF realizando una operación de prueba KMS:Decrypt en una CMK. Amazon MSF realiza esta solicitud mediante AWS service-to-service autenticación directa en lugar de asumir un rol. El siguiente registro incluye detalles esenciales, como la clave de KMS de destino, la aplicación Amazon MSF asociada (MyCmkApplication
) y un ID de evento compartido de la operación.
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "
us-east-1
", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1
:123456789012
:key/1234abcd-12ab-34cd-56ef-1234567890ab
", "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1
:123456789012
:application/MyCmkApplication
" }, "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "5fe45ada-7519-4608-be2f-5a9b8ddd62b2", "eventID": "6206b08f-ce04-3011-9ec2-55951d357b2c", "readOnly": true, "resources": [ { "accountId": "123456789012
", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1
:123456789012
:key/1234abcd-12ab-34cd-56ef-1234567890ab
" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "Application-account-ID", "sharedEventID": "acbe4a39-ced9-4f53-9f3c-21ef7e89dc37", "eventCategory": "Management" }