本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS物联网中的密钥管理 FleetWise
重要
目前对某些AWS物联网 FleetWise 功能的访问受到限制。有关更多信息,请参阅 AWSAWS 物联网中的区域和功能可用性 FleetWise。
AWS物联网 FleetWise 云密钥管理
默认情况下,AWS物联网 FleetWise 使用AWS 托管式密钥来保护您的数据AWS 云。您可以更新设置以使用客户管理的密钥对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 |
requestMessageId、 dtcRequestInterval秒、、OBDStandard hasTransmissionEcu、Secondard、 pidRequestInterval useExtendedIds |
|
| CanSignal |
因子 isBigEndian、isSigned、长度、消息 ID、偏移量、startBit |
|
| ObdSignal |
字节长度、偏移量、pid、、scaling、serviceMode pidResponseLength、startByte、、 bitMaskLength bitRightShift |
|
| 车辆 | attributes | |
| 活动 | 描述 | |
| conditionBasedCollection计划 |
表情、、 minimumTriggerInterval Ms conditionLanguageVersion、TriggerMode |
|
| TimeBasedCollectionScheme |
periodMS |
|
| 状态模板 | 描述 |
注意
其他数据和资源使用由AWS物联网管理的密钥使用默认加密进行加密 FleetWise。此密钥已创建并存储在AWS物联网 FleetWise 帐户中。
有关更多信息,请参阅什么是AWS Key Management Service? 在《AWS Key Management Service开发人员指南》中。
使用 KMS 密钥启用加密(控制台)
要在AWS物联网中使用客户托管密钥 FleetWise,您必须更新您的AWS物联网 FleetWise 设置。
使用 KMS 密钥启用加密(控制台)
-
导航到设置。
-
在加密中,选择编辑以打开编辑加密页面。
-
对于加密密钥类型,选择选择其他AWS KMS密钥。这允许使用存储在AWS KMS中的客户托管密钥进行加密。
注意
您只能对AWS物联网 FleetWise 资源使用客户托管密钥加密。这包括信号目录、车辆型号(模型清单)、解码器清单、车辆、车队和活动。
-
通过以下选项之一选择 KMS 密钥:
-
使用现有 KMS 密钥 - 从列表中选择您的 KMS 密钥别名。
-
要创建新的 KMS 密钥,请选择创建AWS KMS密钥。
注意
这将打开AWS KMS控制台。有关创建 KMS 密钥的更多信息,请参阅《AWS Key Management Service开发人员指南》中的创建密钥。
-
-
选择保存以保存您的设置。
使用 KMS 密钥启用加密 (AWS CLI)
您可以使用 PutEncryptionConfigurationAPI 操作为您的AWS物联网 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 服务主体 FleetWise 允许AWS物联网访问 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:SourceArn并对其进行aws:SourceAccount条件处理。IAM 全局条件密钥aws:SourceArn有助于确保AWS物联网仅 FleetWise 将 KMS 密钥用于服务特定的资源 Amazon 资源名称 (ARNs)。
如果将值设置为aws:SourceArn,则必须始终设置为arn:aws:iotfleetwise:us-east-1:account_id:*。这允许 KMS 密钥为此访问所有AWS IoT FleetWise 资源AWS 账户。AWS IoT FleetWise 支持每个账户为其中的所有资源使用一个 KMS 密钥AWS 区域。在 ARN 资源字段中使用任何其他值SourceArn,或者不使用通配符 (*),可阻止AWS Io FleetWise T 访问 KMS 密钥。
的值aws:SourceAccount是您的账户 ID,用于进一步限制 KMS 密钥,使其只能用于您的特定账户。如果您向 KMS 密钥添加密钥aws:SourceAccount并对其进行aws:SourceArn条件处理,请确保该密钥未被任何其他服务或账户使用。这有助于避免故障。
以下政策包括服务主体(服务的标识符),以及根据aws:SourceAccountAWS 区域和您的账户 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如果为物联网 FleetWise 启用了加密, FleetWise 并且存在以下任一情况,AWS物联网将无法对您的数据执行操作:
-
所提供的 KMS 密钥已被禁用。
-
未为该服务正确配置 KMS 密钥策略。
AWS KMS加密权限
如果您启用了AWS KMS加密,则必须在角色策略中指定权限才能调用AWS IoT FleetWise APIs。以下策略允许访问所有AWS IoT FleetWise 操作以及AWS KMS特定权限。
您的角色需要以下策略声明才能调用加密 APIs。本政策声明允许PutEncryptionConfiguration物AWS联网GetEncryptionConfiguration采取行动 FleetWise。
删除AWS KMS密钥后恢复
如果您在启用AWS物联网加密后删除了AWS KMS密钥 FleetWise,则必须通过删除所有数据来重置您的帐户,然后才能 FleetWise 再次使用AWS物联网。您可以使用列表和删除 API 操作来清理账户中的资源。
清理账户中的资源
-
使用
listResponseScope参数设置为 lis APIs tMETADATA_ONLY。这提供了资源列表,包括资源名称和其他元数据,例如 ARNs 和时间戳。 -
使用删除 APIs 来移除单个资源。
必须按以下顺序清理资源。
-
市场活动
-
列出
listResponseScope参数设置为的所有广告系列METADATA_ONLY。 -
删除广告系列。
-
-
车队和车辆
-
列出
listResponseScope参数设置为的所有舰队。METADATA_ONLY -
列出每个车队的所有车辆,
listResponseScope参数设置为METADATA_ONLY。 -
解除所有车辆与每个车队的关联。
-
删除舰队。
-
删除车辆。
-
-
解码器清单
-
列出
listResponseScope参数设置为的所有解码器清单。METADATA_ONLY -
删除所有解码器清单。
-
-
车辆模型(车型清单)
-
列出
listResponseScope参数设置为的所有车辆型号METADATA_ONLY。 -
删除所有车型。
-
-
状态模板
-
列出
listResponseScope参数设置为的所有状态模板METADATA_ONLY。 -
删除所有状态模板。
-
-
信号目录
-
列出所有信号目录。
-
删除所有信号目录。
-