Amazon Location Service の保管中のデータ暗号化 - Amazon Location Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Location Service の保管中のデータ暗号化

Amazon Location Service はデフォルトで暗号化を提供し、 を使用して保管中の顧客の機密データを保護します。 AWS が所有する暗号化キー。

  • AWS 所有キー — Amazon Location は、デフォルトでこれらのキーを使用して、個人を特定できるデータを自動的に暗号化します。を表示、管理、または使用できない AWS が所有するキー、またはそれらの使用を監査します。ただし、データを暗号化するキーを保護するためのアクションの実施やプログラムの変更を行う必要はありません。詳細については、「」を参照してくださいAWS の 所有キー AWS Key Management Service デベロッパーガイド

保管中のデータをデフォルトで暗号化することで、機密データの保護におけるオーバーヘッドと複雑な作業を減らすのに役立ちます。同時に、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。

この暗号化レイヤーを無効にしたり、代替の暗号化タイプを選択したりすることはできませんが、既存の に 2 つ目の暗号化レイヤーを追加できます。 AWS トラッカーおよびジオフェンスコレクションリソースの作成時にカスタマーマネージドキーを選択して、 が所有する暗号化キー:

  • カスタマーマネージドキー — Amazon Location は、ユーザーが作成、所有、管理する対称カスタマーマネージドキーの使用をサポートし、既存の に 2 番目の暗号化レイヤーを追加します。 AWS 所有の暗号化。この暗号化層はユーザーが完全に制御できるため、次のようなタスクを実行できます。

    • キーポリシーの策定と維持

    • IAM ポリシーと許可の確立と維持

    • キーポリシーの有効化と無効化

    • キー暗号化マテリアルのローテーション

    • タグの追加

    • キーエイリアスの作成

    • キー削除のスケジュール設定

    詳細については、「」の「カスタマーマネージドキー」を参照してください。 AWS Key Management Service デベロッパーガイド

次の表は、Amazon Location が個人を特定できるデータをどのように暗号化するかをまとめたものです。

データ型 AWS 所有キーの暗号化 カスタマーマネージドキーの暗号化 (オプション)
Position

デバイス位置の詳細 を含むポイントジオメトリ。

有効 有効
PositionProperties

位置の更新に関連付けられたキーと値のペアのセット。

有効 有効
GeofenceGeometry

ジオフェンスされたエリアを表すポリゴンジオフェンスジオメトリ

有効 有効
DeviceId

デバイス位置更新をトラッカーリソースにアップロードする際に指定されたデバイス識別子

有効 サポートされていません
GeofenceId

ジオフェンスジオメトリ、または特定のジオフェンスコレクション内のジオフェンスのバッチを格納するときに指定される識別子。

有効 サポートされていません
注記

Amazon Location は、 を使用して保管時の暗号化を自動的に有効にします。 AWS 個人を特定できるデータを無料で保護するための 所有キー。

ただし、 AWS KMS カスタマーマネージドキーの使用には 料金が適用されます。料金の詳細については、「」を参照してください。 AWS Key Management Service の料金

の詳細については、「」を参照してください。 AWS KMS、「 とは」を参照してください。 AWS Key Management Service?

Amazon Location Service が で許可を使用する方法 AWS KMS

Amazon AppIntegrations には、カスタマー管理キーを使用するためのグラントが必要です。

カスタマーマネージドキーで暗号化されたトラッカーリソースまたはジオフェンスコレクションを作成すると、Amazon Location は にCreateGrantリクエストを送信してユーザーに代わって許可を作成します。 AWS KMS。 の許可 AWS KMS は、Amazon Location に顧客アカウントのKMSキーへのアクセス権を付与するために使用されます。

このグラントは、Amazon Location が、以下の内部オペレーションでカスタマーマネージドキーを使用するために必要です。

  • へのDescribeKeyリクエストの送信 AWS KMS トラッカーまたはジオフェンスコレクションの作成時に入力された対称カスタマーマネージドKMSキー ID が有効であることを確認するには、 を使用します。

  • へのGenerateDataKeyWithoutPlaintextリクエストの送信 AWS KMS カスタマーマネージドキーで暗号化されたデータキーを生成するには、 を使用します。

  • Decrypt リクエストを に送信する AWS KMS は、暗号化されたデータキーを復号して、データの暗号化に使用できます。

任意のタイミングで、許可に対するアクセス権を取り消したり、カスタマーマネージドキーに対するサービスからのアクセス権を削除したりできます。これを行うと、Amazon Location はカスタマーマネージドキーによって暗号化されたすべてのデータにアクセスできなくなり、そのデータに依存しているオペレーションが影響を受けます。例えば、Amazon Location がアクセスできない暗号化されたトラッカーから デバイスの位置を取得 しようとすると、操作によって AccessDeniedException エラーが返されます。

カスタマーマネージドキーを作成する

対称カスタマーマネージドキーは、 を使用して作成できます。 AWS Management Console、または AWS KMS APIs.

対称カスタマーマネージドキーを作成するには

「」の「対称カスタマーマネージドキーの作成」の手順に従います。 AWS Key Management Service デベロッパーガイド

キーポリシー

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。詳細については、「」の「カスタマーマネージドキーへのアクセスの管理」を参照してください。 AWS Key Management Service デベロッパーガイド

Amazon Location リソースでカスタマーマネージドキーを使用するには、キーポリシーで次のAPIオペレーションを許可する必要があります。

  • kms:CreateGrant - カスタマーマネージドキーに許可を追加します。指定されたKMSキーへのアクセスを制御する権限を付与します。これにより、Amazon Location が必要とする許可オペレーションへのアクセスを許可します。Grants の使用の詳細については、「」を参照してください。 AWS Key Management Service デベロッパーガイド

    これにより、Amazon Location で次のことが可能になります。

    • GenerateDataKeyWithoutPlainText を呼び出して、暗号化されたデータキーを生成して保存します。データキーは暗号化にすぐには使用されないからです。

    • Decrypt を呼び出して、保存された暗号化データキーを使用して暗号化データにアクセスします。

    • 退職するプリンシパルを設定して、RetireGrant にサービスがそれを許可するようにします。

  • kms:DescribeKey — カスタマーマネージドキーの詳細を提供し、サービスがキーを検証できるようにします。

Amazon Location に追加できるポリシーステートメントの例を以下に示します。

"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 Location がリソースに保存されている識別可能な個人データを暗号化するために使用する KMS ID を入力してデータキーを指定できます。

  • KMS ID — のキー識別子 AWS KMS カスタマーマネージドキー。キー ID、キー ARN、エイリアス名、またはエイリアス を入力しますARN。

Amazon Location Service の暗号化コンテキスト

暗号化コンテキストは、データに関する追加のコンテキスト情報が含まれたキーバリューペアのオプションのセットです。

AWS KMS は、追加の認証データとして暗号化コンテキストを使用して、認証された暗号化 をサポートします。データの暗号化リクエストに暗号化コンテキストを含めると、 AWS KMS は、暗号化コンテキストを暗号化されたデータにバインドします。データを復号化するには、そのリクエストに (暗号化時と) 同じ暗号化コンテキストを含めます。

Amazon Location Service の暗号化コンテキスト

Amazon Location は、すべての で同じ暗号化コンテキストを使用します。 AWS KMS 暗号化オペレーション。キーは aws:geo:arnで、値はリソースの Amazon リソースネーム () ですARN。

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

モニタリングに暗号化コンテキストを使用する

対称カスタマーマネージドキーを使用してトラッカーまたはジオフェンスコレクションを暗号化する場合は、監査レコードとログで暗号化コンテキストを使用して、カスタマーマネージドキーがどのように使用されているかを特定することもできます。暗号化コンテキストは、 によって生成されたログにも表示されます。 AWS CloudTrail または Amazon CloudWatch Logs

暗号化コンテキストを使用してカスタマーマネージドキーへのアクセスを制御する

暗号化コンテキストをキーポリシーおよび IAMポリシーで として使用conditionsして、対称カスタマーマネージドキーへのアクセスを制御できます。付与する際に、暗号化コンテキストの制約を使用することもできます。

Amazon Location は、権限で暗号化コンテキスト制約を使用して、アカウントまたはリージョン内のカスタマーマネージドキーへのアクセスを制御します。権限の制約では、権限によって許可されるオペレーションで指定された暗号化コンテキストを使用する必要があります。

次に、特定の暗号化コンテキストのカスタマーマネージドキーへのアクセスを付与するキーポリシーステートメントの例を示します。このポリシーステートメントの条件では、権限に暗号化コンテキストを指定する暗号化コンテキスト制約が必要です。

{ "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 Amazon Location が に送信するリクエストを追跡するための または Amazon CloudWatch Logs AWS KMS.

以下の例を示します。 AWS CloudTrail カスタマーマネージドキーによって暗号化されたデータにアクセスDescribeKeyするために Amazon Location によって呼び出されるKMSオペレーションをモニタリングするための Decrypt、、、および CreateGrant GenerateDataKeyWithoutPlainTextの イベント:

CreateGrant

を使用する場合 AWS KMS トラッカーまたはジオフェンスコレクションリソースを暗号化する カスタマーマネージドキー。Amazon Location は、ユーザーに代わって のKMSキーにアクセスするCreateGrantリクエストを送信します。 AWS アカウント。Amazon Location が作成する許可は、 に関連付けられたリソースに固有です。 AWS KMS カスタマーマネージドキー。さらに、Amazon Location は、リソースを削除するときに付与を削除する 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 KMS トラッカーまたはジオフェンスコレクションリソースの カスタマーマネージドキー。Amazon 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 Location は 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 Location は 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" }

詳細

次のリソースは、保管時のデータ暗号化についての詳細を説明しています。