Gestión de claves en AWS IoT FleetWise - AWS IoT FleetWise

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.

Gestión de claves en AWS IoT FleetWise

importante

El acceso a ciertas FleetWise funciones de AWS IoT está actualmente restringido. Para obtener más información, consulte AWS Disponibilidad regional y de funciones en el AWS IoT FleetWise.

AWS Gestión de claves FleetWise en la nube de IoT

De forma predeterminada, AWS IoT FleetWise utiliza Claves administradas por AWS para proteger sus datos en el Nube de AWS. Puedes actualizar la configuración para usar una clave gestionada por el cliente para cifrar los datos en el AWS IoT FleetWise. Puede crear, administrar y ver su clave de cifrado mediante AWS Key Management Service (AWS KMS).

AWS FleetWise El IoT admite el cifrado del lado del servidor con claves administradas por el cliente almacenadas AWS KMS para cifrar los datos de los siguientes recursos.

AWS FleetWise Recurso de IoT Tipo de datos: Campos que están cifrados en reposo con claves administradas por el cliente
Catálogo de señales description
Atributo

description, allowedValues, defaultValue, min, max

Actuador

description, allowedValues, min, max

Sensor

description, allowedValues, min, max

Modelo de vehículo (manifiesto del modelo) description
Manifiesto del decodificador description
CanInterface

protocolName, protocolVersion

ObdInterface

requestMessageId, dtcRequestInterval Segundos hasTransmissionEcu, Estándar OBD, Segundos, pidRequestInterval useExtendedIds

CanSignal

factor, isBigEndian isSigned, length, messageID, offset, StartBit

ObdSignal

ByteLength, offset, pid, scaling, ServiceMode, pidResponseLength StartByte, bitMaskLength bitRightShift

Vehículo attributes
Campaña description
conditionBasedCollectionEsquema

expresión, minimumTriggerInterval Ms conditionLanguageVersion, TriggerMode

TimeBasedCollectionScheme

periodMs

Plantilla de estado description
nota

Otros datos y recursos se cifran mediante el cifrado predeterminado con claves gestionadas por el AWS IoT FleetWise. Esta clave se crea y almacena en la FleetWise cuenta de AWS IoT.

Para obtener más información, consulta ¿Qué es AWS Key Management Service? en la Guía para AWS Key Management Service desarrolladores.

Activación del cifrado mediante claves KMS (consola)

Para usar las claves administradas por el cliente con AWS IoT FleetWise, debes actualizar tu FleetWise configuración de AWS IoT.

Para habilitar el cifrado mediante claves KMS (consola)
  1. Abre la FleetWise consola AWS de IoT.

  2. Vaya a Configuración.

  3. En Cifrado, elija Editar para abrir la página Editar cifrado.

  4. En Tipo de clave de cifrado, selecciona Elegir una AWS KMS clave diferente. Esto habilita el cifrado con las claves administradas por el cliente almacenadas en AWS KMS.

    nota

    Solo puede usar el cifrado de claves gestionado por el cliente para FleetWise los recursos de AWS IoT. Esto incluye el catálogo de señales, el modelo del vehículo (manifiesto del modelo), el manifiesto del decodificador, el vehículo, la flota y la campaña.

  5. Elija la clave KMS con una de las siguientes opciones:

    • Para usar una clave KMS existente: elija el alias de su clave KMS de la lista.

    • Para crear una nueva clave KMS, selecciona Crear una AWS KMS clave.

      nota

      Esto abre la AWS KMS consola. Para obtener más información sobre la creación de una clave KMS, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service .

  6. Elija Guardar para actualizar la configuración.

Habilitación del cifrado mediante claves KMS (AWS CLI).

Puedes usar la operación de la PutEncryptionConfigurationAPI para habilitar el cifrado de tu FleetWise cuenta de AWS IoT. En el siguiente ejemplo se utiliza AWS CLI.

Para activar el cifrado, ejecute el siguiente comando:

  • KMS key idSustitúyala por el ID de la clave KMS.

aws iotfleetwise put-encryption-configuration —kms-key-id KMS key id —encryption-type KMS_BASED_ENCRYPTION
ejemplo Respuesta
{ "kmsKeyId": "customer_kms_key_id", "encryptionStatus": "PENDING", "encryptionType": "KMS_BASED_ENCRYPTION" }

Política de claves de KMS

Después de crear una clave de KMS, debe añadir, como mínimo, la siguiente declaración a su política de claves de KMS para que funcione con el AWS IoT FleetWise. El principio del FleetWise servicio de AWS IoT iotfleetwise.amazonaws.com en la declaración de política clave del KMS permite que el AWS IoT acceda FleetWise a la clave del KMS.

{ "Sid": "Allow FleetWise to encrypt and decrypt data when customer managed KMS key based encryption is enabled", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:RevokeGrant" ], "Resource": "*" }

Como práctica recomendada de seguridad, añada aws:SourceArn y aws:SourceAccount condicione las claves a la política de claves del KMS. La clave de condición global de IAM aws:SourceArn ayuda a garantizar que AWS IoT FleetWise utilice la clave KMS solo para el recurso Amazon Resource Names () específico del servicio. ARNs

Si estableces el valor deaws:SourceArn, siempre debe ser así. arn:aws:iotfleetwise:us-east-1:account_id:* Esto permite que la clave KMS acceda a todos los FleetWise recursos de AWS IoT para ello Cuenta de AWS. AWS IoT FleetWise admite una clave KMS por cuenta para todos los recursos que contiene Región de AWS. Si se utiliza cualquier otro valor para el SourceArn campo de recursos del ARN o no se utiliza el comodín (*) en el campo de recursos del ARN, se impide que el AWS FleetWise IoT acceda a la clave KMS.

El valor de aws:SourceAccount es el identificador de su cuenta, que se utiliza para restringir aún más la clave de KMS, de modo que solo pueda usarse para su cuenta específica. Si agrega claves a la clave de KMS aws:SourceAccount y las aws:SourceArn condiciona, asegúrese de que ningún otro servicio o cuenta utilice la clave. Esto ayuda a evitar errores.

La siguiente política incluye una entidad principal de servicio (un identificador de un servicio), así como aws:SourceAccount una aws:SourceArn configuración para su uso en función de la ID de su cuenta Región de AWS y de la suya.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey", ], "Resource": "*", "Condition": { "StringLike": { "aws:SourceAccount": "AWS-account-ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotfleetwise:region:AWS-account-ID:*" } } }

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

importante

Cuando añada las nuevas secciones a su política de claves de KMS, no cambie ninguna sección existente de la política. AWS El IoT no FleetWise puede realizar operaciones con sus datos si el cifrado está habilitado para la AWS IoT FleetWise y se cumple alguna de las siguientes condiciones:

  • Se deshabilita o se elimina la clave KMS.

  • La política de claves de KMS no está configurada correctamente para el servicio.

Permisos de AWS KMS cifrado

Si habilitó el AWS KMS cifrado, debe especificar los permisos en la política de roles para poder llamar a AWS IoT FleetWise APIs. La siguiente política permite el acceso a todas FleetWise las acciones de AWS IoT, así como a permisos AWS KMS específicos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotfleetwise:*", "kms:GenerateDataKey*", "kms:Decrypt", "kms:DescribeKey" ], "Resource": [ "*" ] } ] }

La siguiente declaración de política es necesaria para que su función pueda invocar el cifrado APIs. Esta declaración de política permite PutEncryptionConfiguration y GetEncryptionConfiguration actúa desde el AWS IoT FleetWise.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotfleetwise:GetEncryptionConfiguration", "iotfleetwise:PutEncryptionConfiguration", "kms:GenerateDataKey*", "kms:Decrypt", "kms:DescribeKey" ], "Resource": [ "*" ] } ] }