本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 金鑰啟用加密 (主控台)
-
導覽至設定。
-
在加密中,選擇編輯以開啟編輯加密頁面。
-
針對加密金鑰類型,選擇選擇不同的AWS KMS金鑰。這可使用存放於 的客戶受管金鑰進行加密AWS KMS。
注意
您只能使用AWS IoT FleetWise 資源的客戶受管金鑰加密。這包括訊號目錄、車輛模型 (模型資訊清單)、解碼器資訊清單、車輛、機群和行銷活動。
-
使用下列其中一個選項選擇您的 KMS 金鑰:
-
若要使用現有的 KMS 金鑰 – 從清單中選擇您的 KMS 金鑰別名。
-
若要建立新的 KMS 金鑰 – 選擇建立AWS KMS金鑰。
注意
這會開啟AWS KMS主控台。如需建立 KMS 金鑰的詳細資訊,請參閱《 AWS Key Management Service開發人員指南》中的建立金鑰。
-
-
選擇儲存以更新您的設定。
使用 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-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 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:SourceArn和 aws: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:SourceAccount和 aws: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特定許可。
您的角色需要下列政策陳述式,才能叫用加密 APIs。此政策陳述式允許來自AWS IoT FleetWise 的 PutEncryptionConfiguration和 GetEncryptionConfiguration動作。
刪除AWS KMS金鑰後的復原
如果您在使用AWS IoT FleetWise 啟用加密後刪除AWS KMS金鑰,您必須先刪除所有資料,再再次使用AWS IoT FleetWise 來重設您的帳戶。您可以使用 清單並刪除 API 操作來清除帳戶中的資源。
清除帳戶中的資源
-
使用將
listResponseScope參數設為 APIsMETADATA_ONLY。這提供資源清單,包括資源名稱和其他中繼資料,例如 ARNs 和時間戳記。 -
使用刪除 APIs移除個別資源。
您必須依照下列順序清除資源。
-
行銷活動
-
列出
listResponseScope參數設定為 的所有行銷活動METADATA_ONLY。 -
刪除行銷活動。
-
-
機群和車輛
-
列出
listResponseScope參數設為 的所有機群METADATA_ONLY。 -
列出每個機群的所有車輛,並將
listResponseScope參數設為METADATA_ONLY。 -
取消所有車輛與每個機群的關聯。
-
刪除機群。
-
刪除車輛。
-
-
解碼器資訊清單
-
列出
listResponseScope參數設定為 的所有解碼器資訊清單METADATA_ONLY。 -
刪除所有解碼器資訊清單。
-
-
車輛模型 (模型資訊清單)
-
列出
listResponseScope參數設定為 的所有車輛模型METADATA_ONLY。 -
刪除所有車輛模型。
-
-
狀態範本
-
列出
listResponseScope參數設定為 的所有狀態範本METADATA_ONLY。 -
刪除所有狀態範本。
-
-
訊號目錄
-
列出所有訊號目錄。
-
刪除所有訊號目錄。
-