AWS IoT FleetWise 中的金鑰管理 - AWS IoT FleetWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT FleetWise 中的金鑰管理

重要

存取特定 AWS IoT FleetWise 功能目前已封鎖。如需詳細資訊,請參閱AWSAWS IoT FleetWise 中的區域和功能可用性

AWS IoT FleetWise 雲端金鑰管理

根據預設, AWS IoT FleetWise 會使用 AWS 受管金鑰 來保護 中的資料 AWS 雲端。您可以更新您的設定,以使用客戶受管金鑰來加密 AWS IoT FleetWise 中的資料。您可以透過 AWS Key Management Service () 建立、管理和檢視加密金鑰AWS KMS。

AWS IoT FleetWise 支援伺服器端加密,其客戶受管金鑰存放在 中 AWS KMS ,以加密下列資源的資料。

AWS IoT FleetWise 資源 資料類型 使用客戶受管金鑰進行靜態加密的欄位
訊號目錄 description
屬性

description, allowedValues, defaultValue, min, max

傳動器

description, allowedValues, min, max

感測器

description, allowedValues, min, max

車輛模型 (模型資訊清單) description
解碼器資訊清單 description
CanInterface

protocolName、protocolVersion

ObdInterface

requestMessageId、dtcRequestIntervalSeconds、 hasTransmissionEcu、obdStandard、pidRequestIntervalSeconds、useExtendedIds

CanSignal

因數、isBigEndian、isSigned、長度、messageId、位移、startBit

ObdSignal

byteLength、位移、pid、pidResponseLength、擴展、serviceMode、 startByte、bitMaskLength、bitRightShift

車輛 屬性
Campaign description
conditionBasedCollectionScheme

expression, conditionLanguageVersion, minimumTriggerIntervalMs, triggerMode

TimeBasedCollectionScheme

periodMs

狀態範本 description
注意

其他資料和資源會使用預設加密搭配由 AWS IoT FleetWise 管理的金鑰進行加密。此金鑰會建立並儲存在 AWS IoT FleetWise 帳戶中。

如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的什麼是 AWS Key Management Service?

使用 KMS 金鑰啟用加密 (主控台)

若要搭配 AWS IoT FleetWise 使用客戶受管金鑰,您必須更新您的 AWS IoT FleetWise 設定。

使用 KMS 金鑰啟用加密 (主控台)
  1. 開啟 AWS IoT FleetWise 主控台

  2. 導覽至設定

  3. 加密中,選擇編輯以開啟編輯加密頁面。

  4. 針對加密金鑰類型,選擇選擇不同的 AWS KMS 金鑰。這可使用存放於 的客戶受管金鑰進行加密 AWS KMS。

    注意

    您只能使用 AWS IoT FleetWise 資源的客戶受管金鑰加密。這包括訊號目錄、車輛模型 (模型資訊清單)、解碼器資訊清單、車輛、機群和行銷活動。

  5. 使用下列其中一個選項選擇您的 KMS 金鑰:

    • 若要使用現有的 KMS 金鑰 – 從清單中選擇您的 KMS 金鑰別名。

    • 若要建立新的 KMS 金鑰 – 選擇建立 AWS KMS 金鑰

      注意

      這會開啟 AWS KMS 主控台。如需建立 KMS 金鑰的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的建立金鑰

  6. 選擇儲存以更新您的設定。

使用 KMS 金鑰啟用加密 (AWS CLI)

您可以使用 PutEncryptionConfiguration API 操作來啟用 AWS IoT FleetWise 帳戶的加密。下列範例使用 AWS CLI。

若要啟用加密,請執行下列命令。

  • KMS 金鑰 ID 取代為 KMS 金鑰 ID。

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

KMS 金鑰政策

建立 KMS 金鑰之後,您至少必須將下列陳述式新增至您的 KMS 金鑰政策,以便其使用 AWS IoT FleetWise。KMS 金鑰政策陳述iotfleetwise.amazonaws.com式中的 AWS IoT 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:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:RevokeGrant" ], "Resource": "*" }

做為安全最佳實務,請將 aws:SourceArnaws:SourceAccount條件金鑰新增至 KMS 金鑰政策。IAM 全域條件金鑰aws:SourceArn有助於確保 AWS IoT FleetWise 僅針對服務特定的資源 Amazon Resource Name (ARNs) 使用 KMS 金鑰。

如果您設定 的值aws:SourceArn,則一律必須為 arn:aws:iotfleetwise:us-east-1:account_id:*。這可讓 KMS 金鑰存取所有 IoT AWS IoT FleetWise 資源 AWS 帳戶。 AWS IoT FleetWise 支援每個帳戶一個 KMS 金鑰,用於其中的所有資源 AWS 區域。針對 使用任何其他值SourceArn,或未針對 ARN 資源欄位使用萬用字元 (*),可防止 AWS IoT FleetWise 存取 KMS 金鑰。

的值aws:SourceAccount是您的帳戶 ID,用於進一步限制 KMS 金鑰,使其只能用於您的特定帳戶。如果您將 aws:SourceAccountaws:SourceArn條件索引鍵新增至 KMS 索引鍵,請確定任何其他服務或帳戶都不會使用該索引鍵。這有助於避免失敗。

下列政策包含服務主體 (服務識別符),以及根據 aws:SourceAccount 和 AWS 區域 您的帳戶 ID aws:SourceArn設定 以供使用。

{ "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:*" } } }

如需有關編輯 KMS 金鑰政策以搭配 AWS IoT FleetWise 使用的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的變更金鑰政策

重要

當您將新區段新增至 KMS 金鑰政策時,請勿變更政策中的任何現有區段。如果啟用了 IoT AWS IoT FleetWise 加密,且下列任何一項為 true, AWS IoT FleetWise 就無法執行資料的操作:

  • KMS 金鑰已停用或刪除。

  • KMS 金鑰政策未針對服務正確設定。

AWS KMS 加密的許可

如果您啟用 AWS KMS 加密,則必須在角色政策中指定許可,以便您可以呼叫 AWS IoT FleetWise APIs。下列政策允許存取所有 AWS IoT FleetWise 動作,以及 AWS KMS 特定許可。

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

您的角色需要下列政策陳述式,才能叫用加密 APIs。此政策陳述式允許來自 AWS IoT FleetWise 的 PutEncryptionConfigurationGetEncryptionConfiguration動作。

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

刪除 AWS KMS 金鑰後的復原

如果您在使用 AWS IoT FleetWise 啟用加密後刪除 AWS KMS 金鑰,則必須刪除所有資料,然後再次使用 AWS IoT FleetWise 來重設您的帳戶。您可以使用清單並刪除 API 操作來清除帳戶中的資源。

清除帳戶中的資源
  1. 使用清單 APIs,並將 listResponseScope 參數設為 METADATA_ONLY。這提供資源清單,包括資源名稱和其他中繼資料,例如 ARNs 和時間戳記。

  2. 使用刪除 APIs移除個別資源。

您必須依下列順序清除資源。

  1. 行銷活動

    1. 列出 listResponseScope 參數設定為 的所有行銷活動METADATA_ONLY

    2. 刪除行銷活動。

  2. 機群和車輛

    1. 列出 listResponseScope 參數設為 的所有機群METADATA_ONLY

    2. 列出每個機群的所有車輛,並將 listResponseScope 參數設為 METADATA_ONLY

    3. 取消所有車輛與每個機群的關聯。

    4. 刪除機群。

    5. 刪除 車輛。

  3. 解碼器資訊清單

    1. 列出 listResponseScope 參數設定為 的所有解碼器資訊清單METADATA_ONLY

    2. 刪除所有解碼器資訊清單。

  4. 車輛模型 (模型資訊清單)

    1. 列出 listResponseScope 參數設定為 的所有車輛模型METADATA_ONLY

    2. 刪除所有車輛模型。

  5. 狀態範本

    1. 列出 listResponseScope 參數設定為 的所有狀態範本METADATA_ONLY

    2. 刪除所有狀態範本。

  6. 訊號目錄

    1. 列出所有訊號目錄。

    2. 刪除所有訊號目錄。