

AWS FleetWise El IoT ya no está abierto a nuevos clientes. FleetWise Los clientes actuales de AWS IoT pueden seguir utilizando el servicio. La [Guía para la movilidad conectada AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/) proporciona orientación sobre cómo desarrollar e implementar servicios modulares para soluciones de movilidad conectada que se pueden utilizar para lograr capacidades equivalentes a las del 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.

# Administración de claves en AWS IoT FleetWise
<a name="key-management"></a>

**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](fleetwise-regions.md).

## AWS Gestión de claves FleetWise en la nube de IoT
<a name="key-cloud"></a>

De forma predeterminada, AWS IoT FleetWise utiliza Claves administradas por AWS para proteger sus datos en el Nube de AWS. Puede actualizar la configuración para usar una clave administrada 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.


****  


- **Catálogo de señales**
  - **Tipo de datos::**  / **Campos que están cifrados en reposo con claves administradas por el cliente:** description
  - **Tipo de datos::** Atributo / **Campos que están cifrados en reposo con claves administradas por el cliente:** description, allowedValues, defaultValue, min, max
  - **Tipo de datos::** Actuador / **Campos que están cifrados en reposo con claves administradas por el cliente:** description, allowedValues, min, max
  - **Tipo de datos::** Sensor / **Campos que están cifrados en reposo con claves administradas por el cliente:** description, allowedValues, min, max

- **Modelo de vehículo (manifiesto del modelo)**
  - **Tipo de datos::** 
  - **Campos que están cifrados en reposo con claves administradas por el cliente:** description

- **Manifiesto del decodificador**
  - **Tipo de datos::**  / **Campos que están cifrados en reposo con claves administradas por el cliente:** description
  - **Tipo de datos::** CanInterface  / **Campos que están cifrados en reposo con claves administradas por el cliente:** protocolName, protocolVersion
  - **Tipo de datos::** ObdInterface / **Campos que están cifrados en reposo con claves administradas por el cliente:** solicitudMessageId, dtcRequestIntervalSeconds, gas, estándar OBDTransmissionEcu, pid, uso RequestIntervalSeconds ExtendedIds
  - **Tipo de datos::** CanSignal  / **Campos que están cifrados en reposo con claves administradas por el cliente:** factor, is, BigEndian isSigned, length, messageID, offset, StartBit
  - **Tipo de datos::** ObdSignal / **Campos que están cifrados en reposo con claves administradas por el cliente:** ByteLength, offset, pid, pid, scaling, ServiceModeResponseLength, StartByte, bit, bit MaskLength RightShift

- **Vehículo**
  - **Tipo de datos::** 
  - **Campos que están cifrados en reposo con claves administradas por el cliente:** attributes

- **Campaña**
  - **Tipo de datos::**  / **Campos que están cifrados en reposo con claves administradas por el cliente:** description
  - **Tipo de datos::** condición BasedCollectionScheme / **Campos que están cifrados en reposo con claves administradas por el cliente:** expresión, condición, mínimo LanguageVersionTriggerIntervalMs, TriggerMode
  - **Tipo de datos::** TimeBasedCollectionScheme / **Campos que están cifrados en reposo con claves administradas por el cliente:** periodMs

- **plantilla de estado**
  - **Tipo de datos::** 
  - **Campos que están cifrados en reposo con claves administradas por el cliente:** 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?](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) en la *Guía para AWS Key Management Service desarrolladores*. 

## Activación del cifrado mediante claves KMS (consola)
<a name="CMK-setup"></a>

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](https://console.aws.amazon.com/iotfleetwise/).

1. Vaya a **Configuración**.

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

1.  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.

1. 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](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) en la *Guía para desarrolladores de AWS Key Management Service *.

1. Elija **Guardar** para actualizar la configuración.

## Habilite el cifrado mediante claves KMS (AWS CLI)
<a name="encryption-cli"></a>

Puedes usar la operación de la [PutEncryptionConfiguration](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetEncryptionConfiguration.html)API 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\_id}}Sustitúyala por el ID de la clave KMS.

```
aws iotfleetwise put-encryption-configuration \
      --encryption-type KMS_BASED_ENCRYPTION \
      --kms-key-id {{kms_key_id}}
```

**Example Respuesta**  

```
{
 "kmsKeyId": "customer_kms_key_id",
 "encryptionStatus": "PENDING",
 "encryptionType": "KMS_BASED_ENCRYPTION"
}
```

## Política de claves de KMS
<a name="CMK-policy"></a>

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:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "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 el AWS IoT FleetWise utilice la clave KMS solo para los Amazon Resource Names (ARN) de recursos específicos del servicio.

Si estableces el valor de`aws: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:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) 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 para AWS KMS cifrado
<a name="encryption-permissions"></a>

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

------
#### [ JSON ]

****  

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

------

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

------
#### [ JSON ]

****  

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

------

## Recuperación después AWS KMS eliminación de claves
<a name="encryption-recovery"></a>

Si eliminas una AWS KMS clave después de habilitar el cifrado con AWS IoT FleetWise, debes restablecer tu cuenta eliminando todos los datos antes de FleetWise volver a usar AWS IoT. Puedes usar la lista y eliminar las operaciones de la API para limpiar los recursos de tu cuenta. 

**Para limpiar los recursos de tu cuenta**

1. Usa las API de listas con el `listResponseScope` parámetro establecido en`METADATA_ONLY`. Esto proporciona una lista de recursos, incluidos los nombres de los recursos y otros metadatos, como los ARN y las marcas de tiempo.

1. Utilice las API de eliminación para eliminar recursos individuales.

Debe limpiar los recursos en el siguiente orden.

1. Campaigns (Campañas)

   1. Enumera todas las campañas con el `listResponseScope` parámetro establecido en`METADATA_ONLY`.

   1. Elimina las campañas.

1. Flotas y vehículos

   1. Enumere todas las flotas con el `listResponseScope` parámetro establecido en. `METADATA_ONLY`

   1. Enumere todos los vehículos de cada flota con el `listResponseScope` parámetro establecido en. `METADATA_ONLY`

   1. Desvincule todos los vehículos de cada flota.

   1. Elimine las flotas.

   1. Elimine los vehículos.

1. Manifiestos del decodificador

   1. Enumere todos los manifiestos del decodificador con el `listResponseScope` parámetro establecido en. `METADATA_ONLY`

   1. Elimine todos los manifiestos del decodificador.

1. Modelos de vehículos (manifiestos de modelos)

   1. Enumere todos los modelos de vehículos con el `listResponseScope` parámetro establecido en`METADATA_ONLY`.

   1. Elimine todos los modelos de vehículos.

1. Plantillas de estado

   1. Enumere todas las plantillas de estado con el `listResponseScope` parámetro establecido en`METADATA_ONLY`.

   1. Elimine todas las plantillas de estado.

1. Catálogos de señales

   1. Enumere todos los catálogos de señales.

   1. Elimine todos los catálogos de señales.