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.
Cifrado de datos en reposo en AWS IoT Core
De forma predeterminada, todos los AWS IoT Core datos en reposo se cifran con claves AWS propias. AWS IoT Core también admite claves simétricas administradas por el cliente desde AWS Key Management Service (AWS KMS). Con las claves administradas por el cliente, puede crear, poseer y administrar las AWS KMS claves de su AWS cuenta. AWS IoT Core utilizará sus claves de KMS para cifrar los datos en reposo. Tiene pleno control sobre estas claves de KMS, incluida la creación y el mantenimiento de sus políticas de claves. También puede configurar las políticas de IAM para las funciones que acceden AWS KMS para controlar los permisos de estas claves.
AWS claves propias
AWS las claves propias son un conjunto de claves de KMS que un AWS servicio posee y administra para su uso en varias AWS cuentas. AWS los servicios pueden usar claves AWS propias para proteger sus datos. De forma predeterminada, AWS IoT Core cifra los datos en reposo con claves AWS propias. Estas claves las administra el servicio. No puedes ver, administrar ni usar claves AWS propias. Sin embargo, no es necesario realizar ninguna acción para proteger estas claves.
Para obtener más información sobre las claves AWS propias, consulta las claves AWS propias en la Guía para AWS Key Management Service desarrolladores.
Claves administradas por el cliente
Las claves administradas por el cliente son claves de KMS de tu AWS cuenta que tú creas, posees y administras. Tiene pleno control sobre estas claves de AWS KMS , incluida la creación y el mantenimiento de sus políticas de claves. También puedes configurar políticas de IAM para las funciones a las que acceden AWS KMS para controlar los permisos de estas claves. Puede configurar AWS IoT Core el uso de claves de KMS administradas por el cliente para cifrar sus datos.
Para obtener más información acerca de las claves administradas por el cliente, consulte Claves administradas por el cliente en la Guía para desarrolladores de AWS Key Management Service .
Para aceptar las claves administradas por el cliente AWS IoT Core, sigue estos pasos:
Temas
Paso 1: Crear una clave administrada por el cliente
Puede crear una clave simétrica administrada por el cliente mediante la AWS KMS consola o los comandos de la AWS KMS CLI. La opción keySpec debe ser SYMMETRIC_DEFAULT y la opción keyUsage debe ser ENCRYPT_DECRYPT.
nota
AWS IoT Core solo admite AWS KMS claves con especificaciones de SYMMETRIC_DEFAULT clave y uso de claves para las ENCRYPT_DECRYPT claves administradas por el cliente.
El siguiente es un ejemplo de AWS CLI comando para crear una clave de KMS que se puede usar con las claves administradas AWS IoT Core por el cliente.
aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2
A continuación, se muestra un ejemplo del resultado del comando.
{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2024-09-19T11:45:23.982000-07:00", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } }
Para obtener más información, consulte Creación de una clave simétrica administrada por el cliente en la Guía para desarrolladores de AWS Key Management Service .
Política de claves
Al crear una clave administrada por el cliente, puede especificar una política de claves. Las políticas de clave controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Para obtener más información, consulte Políticas de claves en la Guía para desarrolladores de AWS Key Management Service .
AWS IoT Core utiliza una función de IAM en su cuenta para acceder a la clave gestionada por el cliente. Si utiliza una política de claves personalizadas, asegúrese de que el rol de IAM creado en esta clave tenga los siguientes permisos:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
Paso 2: Crea un rol de IAM para concederlo AWS IoT Core permisos para usar la clave de KMS
Si quieres AWS IoT Core usar la clave de KMS que creaste para cifrar los datos en reposo, también debes crear un rol de IAM en tu cuenta, que AWS IoT Core puede suponer que accedes a la clave de KMS.
El rol debe tener la siguiente política de confianza para poder AWS IoT Core asumir el rol.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-west-2:111122223333:*" } } } }
Asegúrese de que las políticas de IAM asociadas al rol de IAM tengan los siguientes permisos en la clave de KMS:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
A continuación, se muestra un ejemplo de política de IAM con los permisos necesarios para las claves administradas por el cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIoTToAccessKMSResource", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws-crypto-ec:vendor": "iot.amazonaws.com" } } } ] }
Para obtener más información, consulte Creación de un rol para delegar permisos a un usuario de IAM en la Guía del usuario de AWS Identity and Access Management .
Paso 3: Aceptar las claves administradas por el cliente AWS IoT Core
Tras completar todos los pasos anteriores, ejecute el comando de la CLI update-encryption-configuration para habilitar el uso de las claves administradas por el cliente en AWS IoT Core. Al aceptar las claves administradas por el cliente, todos AWS IoT Core los recursos de tu AWS cuenta se cifrarán con la AWS KMS clave especificada.
-
Para habilitar el AWS IoT Core uso de las claves administradas por el cliente AWS CLI, ejecuta el comando de la
update-encryption-configurationCLI.aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --region us-west-2 -
Para verificar si las claves administradas por el cliente están en AWS IoT Core uso AWS CLI, ejecute el comando de la
describe-encryption-configurationCLI:aws iot describe-encryption-configuration --region us-west-2Si ha habilitado las claves administradas por el cliente AWS IoT Core, el resultado puede tener el siguiente aspecto:
{ "encryptionType": "CUSTOMER_MANAGED_KMS_KEY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "configurationDetails": { "configurationStatus": "HEALTHY" }, "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }El campo
lastModifiedDateindica la fecha en la que se actualizó por última vez la configuración del cifrado.Si no ha habilitado las claves administradas por el cliente, el resultado puede tener el siguiente aspecto:
{ "encryptionType": "AWS_OWNED_KMS_KEY", "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }
Paso 4: Se requieren permisos adicionales para AWS IoT Core operaciones del plano de control
Después de aceptar las claves administradas por el cliente, todos los AWS IoT Core recursos que pertenecen a su AWS cuenta se cifran con la clave de KMS proporcionada. Todas las operaciones del plano de control ahora requieren que la persona que llama tenga kms:Decrypt permisos sobre la clave de KMS, además de los permisos necesarios para la operación específica en el AWS IoT Core recurso. Si la persona que llama no tiene permiso kms:Decrypt y realiza una llamada a la API que requiere el cifrado o el descifrado de los datos (por ejemplo, GetPolicy), recibirá una UnauthorizedException.
Por ejemplo, al llamar a GetPolicy, necesita tanto el permiso iot:GetPolicy como el permiso kms:Decrypt para la clave de KMS administrada por el cliente para que la llamada a la API se realice correctamente.
nota
Al actualizar los usuarios o las funciones de IAM para conceder AWS KMS permisos sobre la clave utilizada en la configuración de cifrado, asegúrese de que la política de claves de KMS también conceda los permisos necesarios a los respectivos usuarios o funciones de IAM.
AWS KMS permisos para UpdateEncryptionConfiguration
La llamada a la UpdateEncryptionConfiguration API necesita los siguientes AWS KMS permisos en la clave de KMS para poder optar por las claves administradas por el cliente o modificar la configuración de las claves:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
AWS KMS permisos para todas las demás API del plano de control
La mayoría de las API del plano de control requieren permisos kms:Decrypt cuando las claves administradas por el cliente estén habilitadas. Sin embargo, algunas API no requieren estos permisos adicionales:
- API que no requieren AWS KMS permisos
-
Las API
List*yDelete*no se encuentran en este bucket. Los clientes siempre pueden invocar cualquier API del plano de controlList*oDelete*y esas llamadas a la API se realizarán correctamente incluso si la persona que llama no tiene el permisokms:Decrypt. Estas llamadas a la API se realizarán correctamente incluso si la clave administrada por el cliente no está en buen estado, ya que las APIList*yDelete*no realizan ningún descifrado.Enumerar* API: todas las operaciones de enumeración (por ejemplo,
ListThings,ListPolicies,ListCertificates)Eliminar* API: todas las operaciones de eliminación (por ejemplo,
DeleteThing,DeletePolicy,DeleteCertificate)
Paso 5: administración de claves
AWS IoT Core realiza comprobaciones periódicas de la configuración de claves gestionadas por el cliente para garantizar que las operaciones de cifrado y descifrado no se vean afectadas. Estas comprobaciones de estado se realizan una vez por minuto y verifican AWS IoT Core la capacidad del usuario para acceder y utilizar tanto la AWS KMS clave como la función de IAM asociada para las operaciones de cifrado y descifrado.
- HEALTHY
-
AWS IoT Core puede acceder correctamente a la AWS KMS clave mediante la función de IAM especificada y realizar operaciones. encryption/decryption Todos los componentes funcionan correctamente.
- UNHEALTHY
-
AWS IoT Core no puede acceder a la AWS KMS clave ni utilizarla. Esto impide nuevas operaciones de cifrado y puede afectar a la funcionalidad del servicio. El campo
errorCodeindica si el problema está relacionado con la clave o con el rol de IAM.
Acciones de los clientes que pueden afectar al estado de la clave
Varias acciones de los clientes pueden provocar que el estado de la clave cambie de HEALTHY a UNHEALTHY:
- Key-related acciones
-
Eliminar una AWS KMS clave: cuando programas la eliminación de una clave, esta está en
Pending deletionestado y no se puede usarInhabilitar una AWS KMS clave: al deshabilitar una clave de KMS, ya no se puede usar para operaciones de cifrado o descifrado
Programación de la eliminación de la clave: la clave queda inutilizable cuando se completa la eliminación.
Modificación de la política de claves: eliminación de los permisos de acceso necesarios AWS IoT Core
Cambiar los permisos de uso de las claves: restringir AWS KMS las acciones necesarias
- Acciones relacionadas con los roles de IAM
-
Eliminar la función de IAM: no AWS IoT Core puedo asumir la función para acceder a la clave
Modificación de los permisos del rol: eliminación de AWS KMS los permisos necesarios de la política del rol
Cambiar la política de confianza: impedir que el AWS IoT Core servicio asuma el rol
Agregar condiciones restrictivas: condiciones que AWS IoT Core impiden el uso del rol
- Account-level acciones
-
Cross-account cambios en el acceso a las claves: modificación de los permisos de las claves en diferentes cuentas
Políticas de control de servicios (SCP): Organization-level políticas que restringen el acceso AWS KMS
Account-level Políticas de IAM: políticas que anulan el acceso a las claves o entran en conflicto con él
importante
Cualquier cambio en las AWS KMS claves, las funciones de IAM o las políticas utilizadas AWS IoT Core debe probarse primero en los entornos de desarrollo. Supervise de cerca el estado de salud de las claves después de realizar cualquier cambio para asegurarse de que AWS IoT Core la funcionalidad no se vea afectada.
Actualización de la configuración del cifrado
Actualice su configuración de cifrado AWS IoT Core para cambiar de una clave gestionada por el cliente a otra, o entre las claves AWS propias y las gestionadas por el cliente.
Para cambiar la configuración a otra clave administrada por el cliente:
-
Cree una nueva clave administrada por el cliente siguiendo los pasos que se indican en Paso 1: Crear una clave administrada por el cliente.
-
Actualice la política de roles de IAM para incluir los permisos tanto para las claves antiguas como para las nuevas durante el periodo de actualización.
-
Actualice la configuración del cifrado para utilizar la nueva clave:
aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/new-key-id"
Para cambiar la configuración de claves gestionadas por el cliente a claves AWS propias:
aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
nota
Al actualizar la configuración del cifrado para las nuevas claves administradas por el cliente, asegúrese de que tanto las claves antiguas como las nuevas permanezcan accesibles para que la operación se lleve a cabo correctamente.
Escenarios de error más comunes e impactos
En la siguiente tabla se describen los escenarios de error más comunes cuando se eliminan o desactivan las claves:
| Escenario | Impacto inmediato | Long-term Consecuencias |
|---|---|---|
|
Clave deshabilitada |
Todas las encryption/decryption operaciones nuevas fallan inmediatamente |
Interrupción del servicio hasta que se vuelva a habilitar o sustituir la clave |
|
Clave programada para su eliminación |
El estado de la clave pasa a estar pendiente de eliminación y todas encryption/decryption las operaciones fallarán |
Error automático del servicio cuando se completa la eliminación |
|
Clave eliminada permanentemente |
Error inmediato y permanente de todas las operaciones |
Pérdida permanente de datos e incapacidad para recuperar los datos cifrados |
|
Política de claves modificada incorrectamente |
AWS IoT Core pierde los permisos de acceso a la clave |
Se produce un error en el servicio hasta que se corrija la política |
|
Rol de IAM eliminado |
AWS IoT Core no puede asumir la función de acceso a la clave |
Error al completar el servicio de cifrado |
|
El rol de IAM se ha modificado incorrectamente |
AWS IoT Core no puede asumir el rol ni usar el rol para acceder a la clave |
Se produce un error en el servicio hasta que se corrija el rol de IAM |
Prevención y prácticas recomendadas
Para evitar la eliminación o desactivación accidental de las claves y minimizar el riesgo de errores en el servicio:
- Implementación de políticas de ciclo de vida de claves
-
Establezca procedimientos claros para la creación, rotación y retirada de claves. Documente qué claves utilizan qué AWS IoT Core recursos y mantenga un inventario de las claves activas.
- Uso de políticas de IAM para restringir la eliminación de claves
-
Cree políticas de IAM que impidan que los usuarios no autorizados eliminen o deshabiliten las claves de cifrado críticas. Utilice condiciones que requieran una aprobación adicional para las operaciones de eliminación de claves.
- Habilite el CloudTrail registro
-
Supervise todas las operaciones AWS KMS clave CloudTrail para detectar actividades de administración de claves no autorizadas o accidentales. Configure alertas para la eliminación de claves, la deshabilitación o los cambios en las políticas.
- Ejecución de pruebas en los procedimientos de sustitución de claves
-
Realice pruebas periódicamente en los procedimientos de sustitución de claves en entornos que no sean de producción para asegurarse de que puede recuperarse rápidamente de los errores relacionados con las claves.
- Mantenimiento de copias de seguridad de las claves
-
Si bien no puede exportar material AWS KMS clave, mantenga registros detallados de los ARN clave, las políticas y las AWS IoT Core configuraciones asociadas para facilitar el reemplazo rápido de las claves si es necesario.
- Supervisión del estado de las claves
-
Supervise continuamente la métrica
CMK.Healthy configure alertas automatizadas para detectar los cambios en el estado de las claves. Implemente respuestas automatizadas para abordar rápidamente los problemas relacionados con las claves.
importante
Realice pruebas siempre en los procedimientos de actualización de claves en los entornos de desarrollo antes de implementarlos en producción. Tenga un plan de reversión documentado y asegúrese de que los procedimientos de sustitución de claves se puedan ejecutar rápidamente en caso de emergencia.
Paso 6: supervisión del estado de las claves
Como parte de las comprobaciones periódicas AWS IoT Core , se emiten CloudWatch métricas y registros para proporcionar visibilidad sobre el estado de la configuración de claves gestionada por el cliente
AWS IoT Core emite la CMK.Health métrica al CloudWatch menos una vez por minuto. La métrica proporciona información sobre el estado de las claves administradas por el cliente que se utilizan AWS IoT Core para cifrar y descifrar los datos.
La métrica CMK.Health puede tener los siguientes valores:
El valor es
1: AWS IoT Core es capaz de utilizar correctamente las claves de cifrado para cifrar y descifrar los datos.El valor AWS IoT Core es
0: no puede usar las claves de cifrado para cifrar y descifrar los datos.
AWS IoT Core también emite los registros AWS IoT V2 cuando cambia el estado de las claves de cifrado. Estos registros proporcionan detalles adicionales sobre la actualización del estado. Para ver estos registros, debe habilitar los registros AWS IoT V2. Los registros de HEALTHY se emiten en el nivel INFO y los registros de UNHEALTHY se emiten en el nivel ERROR. Para obtener más información sobre los niveles de registro, consulte Niveles de registro.
Los siguientes ejemplos son entradas de CloudWatch registro emitidas por AWS IoT Core para indicar la actualización del estado de las claves administradas por el cliente.
Para supervisar los cambios de estado de la clave y responder a dichos cambios:
-
Configure CloudWatch las alarmas para la
CMK.Healthmétrica:aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-Health-Alert" \ --alarm-description "Alert when IoT Core CMK health is unhealthy" \ --metric-name "CMK.Health" \ --namespace "AWS/IoT" \ --statistic "Minimum" \ --period 300 \ --evaluation-periods 1 \ --threshold 1 \ --comparison-operator "LessThanThreshold" \ --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts" -
Habilite el registro AWS IoT V2 para capturar eventos detallados de cambios en el estado de salud con códigos y mensajes de error.
-
Compruebe el estado de la configuración para solucionar problemas:
aws iot describe-encryption-configuration --region us-west-2 -
Investigue el estado UNHEALTHY examinando el campo
errorCode:KMS_KEY_VALIDATION_ERROR— Problema con la AWS KMS clave (deshabilitada, eliminada o problemas con la política)ROLE_VALIDATION_ERROR: problema con el rol de IAM (eliminado, problemas de política o problemas de confianza)
De UNHEALTHY a HEALTHY
Cuando el estado de las claves de cifrado se actualice de UNHEALTHY aHEALTHY, AWS IoT Core emitirá un mensaje de registro AWS IoT V2 con el siguiente formato.
{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "SUCCESS", "cmkStatus": "HEALTHY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
De HEALTHY a UNHEALTHY
Cuando el estado de las claves de cifrado se actualice de HEALTHY aUNHEALTHY, AWS IoT Core emitirá un mensaje de registro AWS IoT V2 con el siguiente formato.
{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "ERROR", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "FAILURE", "cmkStatus": "UNHEALTHY", "errorCode": "KMS_KEY_VALIDATION_ERROR / ROLE_VALIDATION_ERROR", "errorMessage": "Error message on why there was a failure", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
aviso
Cuando la clave se mantiene en buen estadoUNHEALTHY, AWS IoT Core las operaciones fallan inmediatamente. Si esto ocurre, revise las configuraciones de la clave, los permisos de los roles de IAM y las políticas. Supervise la métrica CMK.Health para ver si hay cambios en el estado. Si se siguen produciendo un error en las operaciones después de revisar las configuraciones, póngase en contacto con el administrador de la cuenta o con el Centro de AWS Support
Supervisar el estado de la rotación de las claves
AWS IoT Core utiliza una estructura de claves jerárquicas para cifrar los datos. En la parte superior de esta jerarquía se encuentra su AWS KMS clave (la clave gestionada por el cliente que usted configura). Debajo de eso, AWS IoT Core mantiene las claves de bifurcación (claves internas derivadas de tu AWS KMS clave). AWS IoT Core luego usa estas claves de bifurcación para generar claves de empaquetado únicas, que se encargan de cifrar y descifrar tus datos. Este enfoque por capas limita el alcance de cualquier clave individual y sigue las mejores prácticas de AWS cifrado. AWS IoT Core administra las claves de sucursal como un detalle de implementación interna, independiente de la rotación de AWS KMS claves, que se AWS KMS administra directamente. Para obtener más información, consulta Cómo rotar la clave de sucursal activa.
AWS IoT Core rota las claves de sucursal anualmente como práctica recomendada de seguridad. La rotación crea una nueva versión de clave de sucursal activa y, al mismo tiempo, conserva las versiones anteriores para descifrar los datos existentes. Esta rotación requiere el kms:Encrypt permiso del rol de IAM asociado a la configuración de claves gestionadas por el cliente. AWS IoT Core emite la CMK.BranchKeyRotationHealth métrica CloudWatch una vez por minuto para indicar si tu rol de AWS KMS acceso tiene los permisos necesarios para la rotación.
La métrica CMK.BranchKeyRotationHealth puede tener los siguientes valores:
El valor es
1: el rol de AWS KMS acceso tiene elkms:Encryptpermiso requerido y la rotación de claves de sucursal puede continuar con normalidad.El valor es
0: Al rol de AWS KMS acceso le falta elkms:Encryptpermiso y no se puede realizar la rotación de claves de sucursal. Las operaciones de descifrado actuales seguirán funcionando con normalidad, pero no AWS IoT Core podrán rotar las claves de sucursal hasta que se restablezca el permiso.kms:EncryptAñádela a tu rol de AWS KMS acceso para volver a habilitar la rotación. Para ver la lista completa de los permisos necesarios, consulta la Política de claves.
nota
Un valor de 0 no indica una interrupción de sus AWS IoT Core operaciones actuales. Sus datos permanecen cifrados y accesibles. Sin embargo, debes actualizar los permisos de tu rol de AWS KMS acceso con prontitud para asegurarte de que las claves de sucursal se puedan rotar según lo programado.
Para recibir una notificación cuando la rotación de las claves de sucursal no pueda continuar, configura una CloudWatch alarma para la CMK.BranchKeyRotationHealth métrica:
aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-BranchKeyRotationHealth-Alert" \ --alarm-description "Alert when IoT Core branch key rotation health is degraded" \ --metric-name "CMK.BranchKeyRotationHealth" \ --namespace "AWS/IoT" \ --statistic "Minimum" \ --period 300 \ --evaluation-periods 1 \ --threshold 1 \ --comparison-operator "LessThanThreshold" \ --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts"
AWS CloudTrail eventos
También puedes supervisar el uso AWS IoT Core de la clave de KMS para las operaciones de cifrado y descifrado. AWS IoT Core realizará DescribeKey DecryptReEncrypt, y GenerateDataKeyWithoutPlaintext operará en su clave de KMS para cifrar o descifrar los datos que pertenecen a su AWS cuenta almacenados en reposo.
Hay CloudTrail eventos paraDescribeKey, DecryptReEncrypt, y. GenerateDataKeyWithoutPlaintext Estos eventos supervisan AWS KMS las operaciones solicitadas AWS IoT Core para acceder a los datos cifrados por la clave gestionada por el cliente.
Ejemplo de desencriptación
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "*********************", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "*****" }, "attributes": { "creationDate": "2024-09-16T20:23:39Z", "mfaAuthenticated": "false" } }, "invokedBy": "iot.amazonaws.com" }, "eventTime": "2024-09-16T20:32:48Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "iot.amazonaws.com", "userAgent": "iot.amazonaws.com", "requestParameters": { "encryptionContext": { "kms-arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws-crypto-ec:vendor": "iot.amazonaws.com", "branch-key-id": "111122223333", "type": "branch:ACTIVE" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "1afb6d98-8388-455d-8b48-e62c9e0cf7f4", "eventID": "b59a5f16-0d98-46d8-a590-0e040a48b39b", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }