AWS 物联网 FleetWise 不再向新客户开放。现有的 AWS 物联网 FleetWise 客户可以继续使用该服务。《互联出行指南》 AWS
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的密钥管理 AWS 物联网 FleetWise
重要
某些 AWS 物联网 FleetWise 功能的访问权限目前受到限制。有关更多信息,请参阅 AWS AWS 物联网中的区域和功能可用性 FleetWise。
AWS 物联网 FleetWise 云密钥管理
默认情况下, AWS 物联网 FleetWise AWS 托管式密钥 用于保护您的数据 AWS Cloud。您可以更新您的设置,使用客户管理的密钥来加密 AWS IoT 中的数据 FleetWise。您可以通过 AWS Key Management Service (AWS KMS) 创建、管理和查看您的加密密钥。
AWS IoT FleetWise 支持服务器端加密,客户管理密钥存储在中 AWS KMS 以加密以下资源的数据。
| AWS 物联网 FleetWise 资源 | 数据类型 | 使用客户托管密钥进行静态加密的字段 |
|---|---|---|
| 信号目录 | 描述 | |
| 属性 |
description、allowedValues、defaultValue、min、max |
|
| Actuator |
description、allowedValues、min、max |
|
| 传感器 |
description、allowedValues、min、max |
|
| 车辆型号(模型清单) | description | |
| 解码器清单 | 描述 | |
| CanInterface |
protocolName、protocolVersion |
|
| ObdInterface |
请求MessageId、dtc、has RequestIntervalSeconds、obdStandard TransmissionEcu、pid、使用 RequestIntervalSeconds ExtendedIds |
|
| CanSignal |
因子、是BigEndian、isSigned、长度、消息 ID、偏移量、起始位 |
|
| ObdSignal |
字节长度、偏移量、pid、pid、缩放、服务模式ResponseLength、startByte、位、位、位 MaskLength RightShift |
|
| 车辆 | attributes | |
| 活动 | 描述 | |
| 条件 BasedCollectionScheme |
表达式、条件LanguageVersion、最小值TriggerIntervalMs、触发模式 |
|
| TimeBasedCollectionScheme |
periodMS |
|
| 状态模板 | 描述 |
注意
其他数据和资源使用默认加密方式进行加密,密钥由 AWS IoT 管理 FleetWise。此密钥创建并存储在 AWS IoT FleetWise 账户中。
有关更多信息,请参阅什么是 AWS Key Management Service?在AWS Key Management Service 开发者指南中。
使用 KMS 密钥启用加密(控制台)
要在 AWS IoT 中使用客户管理的密钥 FleetWise,您必须更新 AWS IoT FleetWise 设置。
使用 KMS 密钥启用加密(控制台)
-
导航到设置。
-
在加密中,选择编辑以打开编辑加密页面。
-
对于加密密钥类型,选择选择其他 AWS KMS 密钥。这允许使用存储在 AWS KMS中的客户托管密钥进行加密。
注意
您只能对 AWS 物联网 FleetWise 资源使用客户管理的密钥加密。这包括信号目录、车辆型号(模型清单)、解码器清单、车辆、车队和活动。
-
通过以下选项之一选择 KMS 密钥:
-
使用现有 KMS 密钥 - 从列表中选择您的 KMS 密钥别名。
-
要创建新的 KMS 密钥 -选择创建 AWS KMS 密钥。
注意
这将打开 AWS KMS 控制台。有关创建 KMS 密钥的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的创建密钥。
-
-
选择保存以保存您的设置。
使用 KMS 密钥启用加密 (AWS CLI)
您可以使用 PutEncryptionConfiguration API 操作为您的 I AWS oT FleetWise 账户启用加密。以下示例使用 AWS CLI。
要启用加密,请运行以下命令。
-
kms_key_id替换为 KMS 密钥的 ID。
aws iotfleetwise put-encryption-configuration \ --encryption-type KMS_BASED_ENCRYPTION \ --kms-key-idkms_key_id
例响应
{ "kmsKeyId": "customer_kms_key_id", "encryptionStatus": "PENDING", "encryptionType": "KMS_BASED_ENCRYPTION" }
KMS 密钥策略
创建 KMS 密钥后,必须至少在 KMS 密钥策略中添加以下语句以使其与 AWS IoT 配合使用 FleetWise。KMS 密钥策略声明iotfleetwise.amazonaws.com中的 AWS 物联网 FleetWise 服务主体允许 AWS IoT FleetWise 访问 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": "*" }
作为安全最佳实践,在 KMS aws:SourceAccount 密钥策略中添加aws:SourceArn和限制密钥。IAM 全局条件密钥aws:SourceArn有助于确保 AWS IoT 仅 FleetWise 将 KMS 密钥用于特定服务的资源亚马逊资源名称 (ARN)。
如果将值设置为aws:SourceArn,则必须始终设置为arn:aws:iotfleetwise:us-east-1:account_id:*。这允许 KMS 密钥为此访问所有 AWS IoT FleetWise 资源 AWS 账户。 AWS IoT FleetWise 支持每个账户中所有资源一个 KMS 密钥 AWS 区域。为 ARN 资源字段使用任何其他值SourceArn,或不使用通配符 (*) 来防止 AWS IoT FleetWise 访问 KMS 密钥。
的值aws:SourceAccount是您的账户 ID,用于进一步限制 KMS 密钥,使其只能用于您的特定账户。如果您向 KM aws:SourceArn S 密钥添加aws:SourceAccount和限制密钥,请确保该密钥未被任何其他服务或账户使用。这有助于避免故障。
以下政策包括服务主体(服务的标识符),以及根据aws:SourceAccount AWS 区域 和您的账户 ID aws:SourceArn 设置的使用权限。
{ "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:*" } } }
有关编辑用于 AWS IoT 的 KMS 密钥策略的更多信息 FleetWise,请参阅AWS Key Management Service 开发人员指南中的更改密钥策略。
重要
将新分区添加到 KMS 密钥策略时,请勿更改策略中的任何现有部分。 AWS 如果为 IoT FleetWise 启用了加密, FleetWise 并且符合以下任何条件, AWS IoT 将无法对您的数据执行操作:
-
所提供的 KMS 密钥已被禁用。
-
未为该服务正确配置 KMS 密钥策略。
的权限 AWS KMS 加密
如果您启用了 AWS KMS 加密,则必须在角色策略中指定权限,以便可以调用 AWS IoT FleetWise API。以下策略允许访问所有 AWS IoT FleetWise 操作以及 AWS KMS 特定权限。
您的角色需要以下策略声明才能调用加密 API。本政策声明允许PutEncryptionConfiguration物 AWS 联网GetEncryptionConfiguration采取行动 FleetWise。
之后恢复 AWS KMS 密钥删除
如果您在启用 AWS IoT 加密后删除 AWS KMS 密钥 FleetWise,则必须通过删除所有数据来重置账户,然后才能 FleetWise 再次使用 AWS IoT。您可以使用列表和删除 API 操作来清理账户中的资源。
清理账户中的资源
-
使用
listResponseScope参数设置为的列表 APIMETADATA_ONLY。这提供了资源列表,包括资源名称和其他元数据,例如 ARN 和时间戳。 -
使用删除 API 移除单个资源。
必须按以下顺序清理资源。
-
市场活动
-
列出
listResponseScope参数设置为的所有广告系列METADATA_ONLY。 -
删除广告活动。
-
-
车队和车辆
-
列出
listResponseScope参数设置为的所有舰队。METADATA_ONLY -
列出每个车队的所有车辆,
listResponseScope参数设置为METADATA_ONLY。 -
取消所有车辆与每个车队的关联。
-
删除舰队。
-
删除车辆。
-
-
解码器清单
-
列出
listResponseScope参数设置为的所有解码器清单。METADATA_ONLY -
删除所有解码器清单。
-
-
车辆模型(模型清单)
-
列出
listResponseScope参数设置为的所有车辆模型METADATA_ONLY。 -
删除所有车辆模型。
-
-
状态模板
-
列出
listResponseScope参数设置为的所有状态模板METADATA_ONLY。 -
删除所有状态模板。
-
-
信号目录
-
列出所有信号目录。
-
删除所有信号目录。
-