Amazon Location Service 的靜態資料加密 - Amazon Location Service

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

Amazon Location Service 的靜態資料加密

Amazon 定 Location Service 預設提供加密,以保護靜態的敏感客戶資料AWS擁有的加密金鑰。

  • AWS擁有的金鑰— Amazon 位置預設會使用這些金鑰來自動加密個人識別資料。您無法檢視、管理或使用AWS擁有金鑰,或稽核其使用方式。不過,您不需要採取任何動作或變更任何程式,即可保護加密您的資料的金鑰。如需詳細資訊,請參閱《》AWS擁有的金鑰AWS Key Management Service開發人員指南

依預設加密靜態資料,有助於降低保護敏感資料所涉及的營運負荷和複雜性。同時,它可讓您建置符合嚴格加密合規性和法規要求的安全應用程式。

雖然您無法停用此加密層或選取替代加密類型,但您可以在現有的加密層上新增第二層加密AWS透過在建立追蹤器和地理圍欄收集資源時選擇客戶管理的金鑰來擁有加密金鑰:

  • 客戶受管金鑰— Amazon Location 支援使用您建立、擁有和管理的對稱客戶受管金鑰,以針對現有金鑰新增第二層加密AWS擁有加密。由於您可以完全控制此加密層,因此您可以執行以下工作:

    • 建立和維護關鍵政策

    • 建立和維護 IAM 政策和撥款

    • 啟用和停用金鑰政策

    • 輪換金鑰密碼材料

    • 新增標籤

    • 建立金鑰別名

    • 排程要刪除的金鑰

    如需詳細資訊,請參閱《》客戶受管金鑰AWS Key Management Service開發人員指南

下表摘要說明 Amazon Location 如何加密個人身分的資料。

資料類型 AWS擁有金鑰加密 客戶管理的金鑰加密 (選擇性)
Position

點幾何圖形裝置位位置詳細

已啟用 已啟用
PositionProperties

一組鍵值對與位置更新相關聯

已啟用 已啟用
GeofenceGeometry

一個 POLYGON地理圍欄 GEOMETRY代表地理圍欄區域。

已啟用 已啟用
DeviceId

指定的裝置識別符號上傳裝置位置更新到跟踪器資源。

已啟用 不支援
GeofenceId

指定的標識符存儲地理圍欄幾何,或批次地理圍欄在指定的地理柵欄集合中。

已啟用 不支援
注意

Amazon Location 會使用自動啟用靜態加密AWS擁有的密鑰可免費保護個人身份數據。

但是,AWS KMS使用客戶受管金鑰的費用。如需定價的詳細資訊,請參閱AWS Key Management Service價錢

如需的詳細資訊AWS KMS,請參閱什麼是什麼?AWS Key Management Service?

亞馬遜 Location Service 如何使用贈款AWS KMS

Amazon LL授予使用客戶受管金鑰。

建立追蹤資源或者地理圍欄集Amazon Location 使用客戶受管金鑰加密,並透過傳送CreateGrant請求AWS KMS。授予AWS KMS用於讓 Amazon 位置存取客戶帳戶中的 KMS 金鑰。

Amazon 位置需要授權,才能在下列內部操作中使用客戶受管金鑰:

  • 傳送DescribeKey要求AWS KMS確認在建立追蹤器或地理圍欄集合時輸入的對稱式客戶管理 KMS 金鑰 ID 是否有效。

  • 傳送GenerateDataKeyWithoutPlaintext要求AWS KMS產生由您的客戶管理金鑰加密的資料金鑰。

  • 傳送解密要求AWS KMS解密加密的數據密鑰,以便它們可以用來加密您的數據。

您可以隨時撤銷授權的存取權,或移除服務對客戶管理金鑰的存取權。如果這樣做,Amazon Location 將無法存取客戶受管金鑰加密的任何資料,這會影響依賴該資料的操作。例如,如果您嘗試取得裝置位置從亞馬遜位置無法訪問的加密跟踪器中,然後操作將返回AccessDeniedException錯誤。

建立客戶受管金鑰

您可以使用來建立對稱受客戶受管金鑰AWS Management Console,或AWS KMSAPI。

建立對稱受客戶管理的金鑰

遵循下列步驟建立對稱的客戶管理金鑰AWS Key Management Service開發人員指南

金鑰政策

關鍵原則可控制對客戶管理金鑰的存取。每個客戶管金鑰都必須有一個金鑰政策,其中包含決定誰可以使用金鑰的陳述及可以使用它的方式。建立客戶受管金鑰時,您可以指定金鑰政策。如需詳細資訊,請參閱《》管理對客戶受管金鑰的存取AWS Key Management Service開發人員指南

若要將客戶受管金鑰與 Amazon 位置資源搭配使用,必須在金鑰政策中允許下列 API 操作:

  • kms:CreateGrant— 將授與新增至客戶受管金鑰。授與指定 KMS 金鑰的控制權存取權,以便存取授予操作Amazon L位需要。如需的詳細資訊使用贈款,請參閱AWS Key Management Service開發人員指南

    這可讓 Amazon Location 做到下列動作:

    • 呼叫GenerateDataKeyWithoutPlainText生成加密的數據密鑰並將其存儲,因為數據密鑰不會立即用於加密。

    • 呼叫Decrypt使用存儲的加密數據密鑰訪問加密數據。

    • 設定退休本金以允許服務RetireGrant

  • kms:DescribeKey— 提供客戶受管的金鑰詳細資訊,以允許 Amazon 位置驗證金鑰。

以下是您可以為 Amazon 位置新增的政策聲明範例:

"Statement" : [ { "Sid" : "Allow access to principals authorized to use Amazon Location", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "geo.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" }, { "Sid" : "Allow read-only access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource" : "*" } ]

如需的詳細資訊指定策略中的權限,請參閱AWS Key Management Service開發人員指南

如需的詳細資訊金鑰存取故障診斷,請參閱AWS Key Management Service開發人員指南

指定 Amazon Location 的客戶受管金鑰

您可以將客戶管理的金鑰指定為下列資源的第二層加密:

建立資源時,您可以輸入指定資料索引鍵公里,Amazon 位置用來加密資源所儲存的可識別個人資料。

  • 公里— 一個金鑰識別符對於一個AWS KMS客戶受管金鑰。輸入金鑰 ID、金鑰 ARN、別名名稱或別名 ARN。

Amazon Location Service 加密內容

同時加密內容是一組選用的金鑰值對,其中包含資料的其他相關內容資訊。

AWS KMS使用加密上下文其他已驗證資料若為支援身份驗證加密。在加密資料的請求中包含加密內容時,AWS KMS將加密內容與加密資料繫結。若要解密資料,請在要求中包含相同的加密內容。

Amazon Location Service 加密內容

Amazon Location 使用相同的加密內容AWS KMS密碼編譯作業,其中的金鑰是aws:geo:arn並且該值是資源亞馬遜資源名稱(ARN).

"encryptionContext": { "aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:geofence-collection/SAMPLE-GeofenceCollection" }

使用加密內容進行監視

當您使用對稱的客戶管理金鑰來加密追蹤器或地理圍欄集合時,您也可以在稽核記錄和記錄中使用加密內容,以識別客戶管理金鑰的使用方式。加密內容也會出現在日誌產生AWS CloudTrail或亞馬遜 CloudWatch 日誌

使用加密內容控制對客戶管理金鑰的存取

您可以在金鑰政策和 IAM 政策中使用加密內容conditions控制對對稱受客戶管理的金鑰的存取。您也可以在授予中使用加密內容條件約束。

Amazon Location 在授權中使用加密內容約束來控制對您帳戶或區域中客戶受管金鑰的存取。grant 條件約束要求授權允許的作業使用指定的加密內容。

以下是授與特定加密內容之客戶管理金鑰存取權的金鑰範例金鑰政策陳述式。此原則陳述式中的條件要求授與具有指定加密內容的加密內容限制條件。

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:tracker/SAMPLE-Tracker" } } }

監控 Amazon Location Service 的加密金鑰

當您使用AWS KMS客戶管理金鑰與您的 Amazon 定 Location Service 資源,您可以使用AWS CloudTrail或者亞馬遜 CloudWatch 日誌追蹤 Amazon 位置傳送至的請求AWS KMS。

請參閱以下範例:AWS CloudTrail的活動CreateGrantGenerateDataKeyWithoutPlainTextDecrypt,以及DescribeKey監控 Amazon 位置呼叫的 KMS 操作,以存取由客戶管理金鑰加密的資料:

CreateGrant

當您使用AWS KMS客戶受管金鑰可加密您的追蹤器或地理圍欄收集資源,Amazon 位置會傳送CreateGrant代表您要求存取您的 KMS 金鑰AWS帳戶。Amazon 位置建立的授權專屬於與AWS KMS客戶受管金鑰。此外,亞馬遜位置使用RetireGrant刪除資源時移除授權的作業。

下列範例事件會記錄CreateGrant操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "geo.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "retiringPrincipal": "geo.region.amazonaws.com", "operations": [ "GenerateDataKeyWithoutPlaintext", "Decrypt", "DescribeKey" ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "granteePrincipal": "geo.region.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
GenerateDataKeyWithoutPlainText

當您啟用AWS KMSAmazon Location 為您的追蹤器或地理圍欄收集資源提供客戶管理金鑰,可建立唯一的表格金鑰。它發送一個GenerateDataKeyWithoutPlainText請求AWS KMS,指定AWS KMS客戶管理的資源密鑰。

下列範例事件會記錄GenerateDataKeyWithoutPlainText操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "geo.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:geofence-collection/SAMPLE-GeofenceCollection" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
Decrypt

當您存取加密的追蹤器或地理圍欄集合時,Amazon 位置會呼叫Decrypt操作使用存儲的加密數據密鑰訪問加密數據。

下列範例事件會記錄Decrypt操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "geo.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:geofence-collection/SAMPLE-GeofenceCollection" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
DescribeKey

Amazon L位使DescribeKey操作來驗證是否AWS KMS帳戶和區域中存在與您的追蹤器或地理圍欄集合相關聯的客戶管理金鑰。

下列範例事件會記錄DescribeKey操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "geo.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

進一步了解

下列資源提供有關靜態資料加密的詳細資訊。