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

factor、isBigEndian、isSigned、 length、messageId、 offset、startBit

ObdSignal

byteLength, offset, pid, pidResponseLength, scaling, serviceMode, startByte, bitMaskLength, bitRightShift

車輛 屬性
行銷活動 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_key_id

aws iotfleetwise put-encryption-configuration \ --encryption-type KMS_BASED_ENCRYPTION \ --kms-key-id kms_key_id
範例回應
{ "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:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "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 金鑰為此存取所有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 和您的帳戶 ID aws:SourceArn設定AWS 區域和 以供使用。

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

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

重要

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

  • KMS 金鑰已停用或刪除。

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

AWS KMS加密許可

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

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

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

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

刪除AWS KMS金鑰後的復原

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

清除帳戶中的資源
  1. 使用將 listResponseScope 參數設為 APIsMETADATA_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. 刪除所有訊號目錄。