翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon WorkSpaces シンクライアントの保管中のデータ暗号化
Amazon WorkSpaces シンクライアントは、デフォルトで暗号化を提供し、 AWS 所有の暗号化キーを使用して保管中の機密データを保護します。
保管中のデータをデフォルトで暗号化して、機密データの保護に伴う運用のオーバーヘッドと複雑な作業を軽減できます。同時に、安全なアプリケーションを構築して、厳格な暗号化のコンプライアンスと規制要件に対応できます。
この暗号化レイヤーを無効にしたり、別の暗号化タイプを選択したりすることはできませんが、シンクライアント環境を作成するときにお客様が管理するキーを選択することで、既存の AWS 所有の暗号化キーの上に 2 つ目の暗号化レイヤーを追加できます。
詳細については、「AWS Key Management Service デベロッパーガイド」の「カスタマーマネージドキー」を参照してください。
次の表は、Amazon WorkSpaces シンクライアントがどのように個人を特定できるデータを暗号化するかをまとめたものです。
データ型 |
AWS が所有するキーの暗号化 |
カスタマーマネージドキーの暗号化 (オプション) |
環境名
WorkSpaces シンクライアント環境名
|
有効
|
有効
|
デバイス名
WorkSpaces シンクライアントデバイス名
|
有効
|
有効
|
ユーザーアクティビティ
WorkSpaces シンクライアントユーザーのアクティビティ
|
有効
|
有効
|
デバイス設定
WorkSpaces シンクライアントデバイス設定
|
有効
|
有効
|
デバイス作成タグ
WorkSpaces シンクライアント環境デバイス作成タグ
|
有効
|
有効
|
Amazon WorkSpaces シンクライアントは、 AWS 所有キーを使用して個人を特定できるデータを無償で保護することで、保管時の暗号化を自動的に有効にします。
ただし、カスタマーマネージドキーの使用には AWS KMS 料金が適用されます。料金の詳細については、「AWS Key Management Service の料金表」を参照してください。
Amazon WorkSpaces シンクライアントが AWS KMS を使用する方法
Amazon WorkSpaces シンクライアントでは、カスタマーマネージドキーを使用するためのキーポリシーが必要です。
Amazon WorkSpaces シンクライアントでは、次の内部オペレーションにカスタマーマネージドキーを使用するためのキーポリシーが必要です。
カスタマーマネージドキーへのサービスのアクセスはいつでも削除できます。これを行うと、Amazon WorkSpaces シンクライアントはカスタマーマネージドキーによって暗号化されたすべてのデータにアクセスできなくなり、そのデータに依存しているオペレーションが影響を受けます。例えば、WorkSpaces シンクライアントがアクセスできない環境の詳細を取得しようとすると、オペレーションはAccessDeniedException
エラーを返します。さらに、WorkSpaces シンクライアントデバイスは WorkSpaces シンクライアント環境を使用できなくなります。
カスタマーマネージドキーを作成する
AWS マネジメントコンソールまたは AWS KMS API オペレーションを使用して、対称カスタマーマネージドキーを作成できます。
対称カスタマーマネージドキーを作成するには
「AWS Key Management Service デベロッパーガイド」にある対称カスタマーマネージドキーの作成ステップを実行します。
キーポリシー
キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。キーポリシーは、カスタマーマネージドキーの作成時に指定できます。詳細については、「AWS Key Management Service デベロッパーガイド」の「カスタマーマスターキーへのアクセスを制御する」を参照してください。
カスタマーマネージドキーを Amazon WorkSpaces シンクライアントリソースで使用するには、キーポリシーで次の API オペレーションを許可する必要があります。
Amazon WorkSpaces シンクライアントに追加できるポリシーステートメントの例を以下に示します。
{
"Statement":
[
{
"Sid": "Allow access to principals authorized to use Amazon WorkSpaces Thin Client",
"Effect": "Allow",
"Principal": {"AWS": "*"},
"Action": [
"kms:DescribeKey",
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "thinclient.region.amazonaws.com",
"kms:CallerAccount": "111122223333"
}
}
},
{
"Sid": "Allow Amazon WorkSpaces Thin Client service to encrypt and decrypt data",
"Effect": "Allow",
"Principal": {"Service": "thinclient.amazonaws.com"},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:SourceArn":
"arn:aws:thinclient:region:111122223333:*",
"kms:EncryptionContext:aws:thinclient:arn":
"arn:aws:thinclient:region: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*"
],
"Resource": "*"
}
]
}
ポリシーでの権限の指定に関する詳細については、「AWS Key Management Service デベロッパーガイド」の「ポリシーで権限を指定する」を参照してください。
キーアクセスのトラブルシューティングについての詳細は、「AWS Key Management Service デベロッパーガイド」を参照してください。
WorkSpaces シンクライアントのカスタマーマネージドキーの指定
カスタマーマネージドキーは、以下のリソースの第 2 レイヤー暗号化として指定できます。
環境を作成するときに、Amazon WorkSpaces シンクライアント が識別可能な個人データを暗号化するために使用する kmsKeyArn
を指定することでデータキーを指定できます。
カスタマーマネージドキーで暗号化された WorkSpaces WorkSpaces シンクライアント環境に新しい WorkSpaces シンクライアントデバイスを追加すると、WorkSpaces シンクライアントデバイスは WorkSpaces シンクライアント環境からカスタマーマネージドキー設定を継承します。
暗号化コンテキストは、データに関する追加のコンテキスト情報を含むキーと値のペアのオプションセットです。
AWS KMS は、追加の認証済みデータとして暗号化コンテキストを使用して、認証済み暗号化をサポートします。データを暗号化するリクエストに暗号化コンテキストを含めると、 AWS KMS は暗号化コンテキストを暗号化されたデータにバインドします。データを復号するには、リクエストに同じ暗号化コンテキストを含めます。
Amazon WorkSpaces シンクライアントの暗号化コンテキスト
Amazon WorkSpaces シンクライアントは、すべての AWS KMS 暗号化オペレーションで同じ暗号化コンテキストを使用します。キーは で、aws:thinclient:arn
値は Amazon リソースネーム (ARN) です。
環境暗号化コンテキストは次のとおりです。
"encryptionContext": {
"aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:environment/environment_ID"
}
デバイス暗号化コンテキストは次のとおりです。
"encryptionContext": {
"aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:device/device_ID"
}
モニタリングに暗号化コンテキストを使用する
対称カスタマーマネージドキーを使用して WorkSpaces シンクライアント環境を暗号化する場合は、カスタマーマネージドキーがどのように使用されているかを特定するために、暗号化コンテキストを監査記録やログで使用することもできます。暗号化コンテキストは、AWS CloudTrail または Amazon CloudWatch Logs によって生成されたログの中にも記載されます。
暗号化コンテキストを使用して顧客マネージドキーへのアクセスを制御する
対称カスタマーマネージドキー (CMK) へのアクセスを制御するための条件として、キーポリシーと IAM ポリシー内の暗号化コンテキストを使用することもできます。
次に、特定の暗号化コンテキストのカスタマーマネージドキーへのアクセスを付与するキーポリシーステートメントの例を示します。このポリシーステートメントの条件では、kms:Decrypt
呼び出しに暗号化コンテキストを指定する暗号化コンテキスト制約が必要です。
{
"Sid": "Enable Decrypt to access Thin Client Environment",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"},
"Action": "kms:Decrypt",
"Resource": "*",
"Condition": {
"StringEquals": {"kms:EncryptionContext:aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:environment/environment_ID"}
}
}
Amazon WorkSpaces シンクライアントの暗号化キーのモニタリング
Amazon WorkSpaces シンクライアントリソースで AWS KMS カスタマーマネージドキーを使用すると、 AWS CloudTrail または Amazon CloudWatch Logs を使用してAmazon WorkSpaces シンクライアントが AWS KMS に送信するリクエストを追跡できます。
次の例はDescribeKey
、カスタマーマネージドキーによって暗号化されたデータにアクセスするために Amazon WorkSpaces シンクライアントによって呼び出される KMS オペレーションをモニタリングするための GenerateDataKey
、、Decrypt
、 の AWS CloudTrail イベントです。
次の例では、WorkSpaces シンクライアント環境encryptionContext
の を確認できます。WorkSpaces シンクライアントデバイスには、同様の CloudTrail イベントが記録されます。
- DescribeKey
-
Amazon WorkSpaces シンクライアントは、 DescribeKey
オペレーションを使用して KMS カスタマーマネージドキーを検証します AWS 。
次に、DescribeKey
オペレーションを記録するイベントの例を示します。
{
"eventVersion": "1.09",
"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"
},
"attributes": {
"creationDate": "2024-04-08T13:43:33Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:22Z",
"eventSource": "kms.amazonaws.com",
"eventName": "DescribeKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {"keyId": "arn:aws:kms:eu-west-1: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:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
- GenerateDataKey
-
Amazon WorkSpaces シンクライアントは、GenerateDataKey
オペレーションを使用してデータを暗号化します。
以下のイベント例では、GenerateDataKey
オペレーションを記録しています。
{
"eventVersion": "1.09",
"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"
},
"attributes": {
"creationDate": "2024-04-08T12:21:03Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:03:56Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"numberOfBytes": 32
},
"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:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- GenerateDataKey (by service)
-
Amazon WorkSpaces シンクライアントがデバイス情報GenerateDataKey
を保存する場合、 GenerateDataKey
オペレーションを使用してデータを暗号化します。
GenerateDataKey
オペレーションは、Sid がAmazon WorkSpaces シンクライアントサービスにデータの暗号化と復号を許可する」の KMS キーポリシーステートメントで許可されます。
次のイベント例では、GenerateDataKey オペレーションを記録します。
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AWSService",
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:03:56Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"numberOfBytes": 32
},
"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:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- Decrypt
-
Amazon WorkSpaces シンクライアントは、Decrypt
オペレーションを使用してデータを復号化します。
次に、Decrypt
オペレーションを記録するイベントの例を示します。
{
"eventVersion": "1.09",
"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"
},
"attributes": {
"creationDate": "2024-04-08T13:43:33Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:25Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"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:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- Decrypt (by service)
-
WorkSpaces シンクライアントデバイスが環境またはデバイス情報にアクセスすると、 Decrypt
オペレーションを使用してデータを復号します。Decrypt
オペレーションは、Sid がAmazon WorkSpaces シンクライアントサービスによるデータの暗号化と復号を許可する」の KMS キーポリシーステートメントで許可されます。
次のイベント例では、 を介して承認された Decrypt
オペレーションを記録しますGrant
。
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AWSService",
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:25Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"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:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
詳細はこちら
次のリソースは、保管時のデータ暗号化についての詳細を説明しています。