

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

# Amazon VPC Lattice でのデータ保護
<a name="data-protection"></a>

責任 AWS [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、Amazon VPC Lattice でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。お客様は、このインフラストラクチャでホストされているコンテンツに対する管理を維持する責任があります。このコンテンツには、使用される AWS のサービス のセキュリティ設定と管理タスクが含まれます。データプライバシーの詳細については、「[データプライバシーのよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)」を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」のブログ記事を参照してください。

## 転送中の暗号化
<a name="encryption-transit"></a>

VPC Lattice はコントロールプレーンとデータプレーンからなるフルマネージドサービスです。各プレーンはサービスにおいて異なる目的を担っています。コントロールプレーンには、リソースの作成、読み取り/説明、更新、削除、一覧表示 (CRUDL) に使用される管理 APIs ( `CreateService`や など) が用意されています`UpdateService`。VPC Lattice コントロールプレーンへの通信は、転送中に TLS によって保護されます。データプレーンは、サービス間の相互接続を提供する VPC Lattice Invoke API です。TLS は、HTTPS または TLS を使用するときに VPC Lattice データプレーンへの通信を暗号化します。暗号スイートとプロトコルバージョンでは VPC Lattice が提供するデフォルトが使用され、設定はできません。詳細については、「[VPC Lattice サービスの HTTPS リスナー](https-listeners.md)」を参照してください。

## 保管中の暗号化
<a name="encryption-rest"></a>

デフォルトでは、保管中のデータの暗号化により、機密データの保護に伴う運用上のオーバーヘッドと複雑さの軽減につながります。同時に、安全なアプリケーションを構築して、厳格な暗号化のコンプライアンスと規制要件に対応できます。

**Topics**
+ [Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)](#s3-managed-keys)
+ [AWS KMS (SSE-KMS) に保存されている AWS KMS キーによるサーバー側の暗号化](#kms-managed-keys)

### Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)
<a name="s3-managed-keys"></a>

Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE−S3) を使用すると、各オブジェクトは一意のキーで暗号化されます。追加の保護として、定期的にローテーションするルートキーを使用してキー自体を暗号化します。Amazon S3 のサーバー側の暗号化では、利用できるものの中でも最強のブロック暗号の 1 つである、256 ビットの高度暗号化規格 (AES-256) GCM を使用してデータを暗号化します。AES-GCM より前に暗号化されたオブジェクトについては、これらのオブジェクトを復号するために AES-CBC が引き続きサポートされています。詳細については、「[Amazon S3 マネージド暗号化キーによるサーバー側の暗号化 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)」を参照してください。

VPC Lattice アクセスログの S3-managed暗号化キー (S3-S3) によるサーバー側の暗号化を有効にすると、S3 バケットに保存される前に、各アクセスログファイルが自動的に暗号化されます。詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon S3 に送信されたログ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)」を参照してください。

### AWS KMS (SSE-KMS) に保存されている AWS KMS キーによるサーバー側の暗号化
<a name="kms-managed-keys"></a>

 AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) は SSE-S3 に似ていますが、このサービスの使用には追加の利点と料金がかかります。 AWS KMS キーには、Amazon S3 内のオブジェクトへの不正アクセスに対する保護を強化する個別のアクセス許可があります。SSE-KMS には、 AWS KMS キーがいつ誰によって使用されたかを示す監査証跡も用意されています。詳細については、「[AWS Key Management Service によるサーバー側の暗号化 (SSE-KMS) の使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)」を参照してください。

**Topics**
+ [証明書のプライベートキーの暗号化と復号化](#private-key)
+ [VPC Lattice の暗号化コンテキスト](#encryption-context)
+ [VPC Lattice の暗号化キーをモニタリングする](#monitoring-encryption-keys)

#### 証明書のプライベートキーの暗号化と復号化
<a name="private-key"></a>

ACM 証明書とプライベートキーは、エイリアス **aws/acm** を持つ AWS マネージド KMS キーを使用して暗号化されます。このエイリアスを持つキー ID は、 AWS KMS **AWS マネージドキー**のコンソールで表示できます。

VPC Lattice は ACM リソースに直接アクセスしません。 AWS TLS Connection Manager を使用して、証明書のプライベートキーを保護してアクセスします。ACM 証明書を使用して VPC Lattice サービスを作成すると、VPC Lattice は証明書を AWS TLS 接続マネージャに関連付けます。これは、プレフィックス **aws/acm** を持つマネージドキー AWS KMS に対して AWS で許可を作成することによって行われます。権限はポリシーツールであり、TLS 接続マネージャに暗号化オペレーションでの KMS キーの使用を許可します。この権限により、被付与者のプリンシパル (TLS 接続マネージャ) は指定された権限オペレーションを KMS キーで呼び出し、証明書のプライベートキーを復号化できます。TLS 接続マネージャは証明書と復号化された (プレーンテキストの) プライベートキーを使用して、VPC Lattice サービスのクライアントとの安全な接続 (SSL/TLS セッション) を確立します。証明書と VPC Lattice サービスとの関連付けが解除されると、この許可は廃止されます。

KMS キーへのアクセスを削除する場合は、 または の `update-service` コマンドを使用して、サービスから証明書を置き換え AWS マネジメントコンソール または削除することをお勧めします AWS CLI。

#### VPC Lattice の暗号化コンテキスト
<a name="encryption-context"></a>

[暗号化コンテキスト](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)は、プライベートキーの使用目的に関するコンテキスト情報を含むキーと値のペアのオプションセットです。 は、暗号化コンテキストを暗号化されたデータに AWS KMS バインドし、認証された暗号化をサポートする追加の認証済みデータとして使用します。

TLS キーを VPC Lattice と TLS 接続マネージャで使用すると、VPC Lattice サービスの名前が保管中のキーの暗号化に使用される暗号化コンテキストに含まれます。証明書とプライベートキーが使用されている VPC Lattice サービスを確認するには、次のセクションに示すように CloudTrail ログで暗号化コンテキストを表示するか、ACM コンソールの**関連リソース**タブを確認します。

データを復号化するには、そのリクエストに同じ暗号化コンテキストを含めます。VPC Lattice は、すべての AWS KMS 暗号化オペレーションで同じ暗号化コンテキストを使用します。キーは `aws:vpc-lattice:arn`で、値は VPC Lattice サービスの Amazon リソースネーム (ARN) です。

次の例では、`CreateGrant` のようなオペレーションの出力における暗号化コンテキストを示しています。

```
"encryptionContextEquals": {
    "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
}
```

#### VPC Lattice の暗号化キーをモニタリングする
<a name="monitoring-encryption-keys"></a>

VPC Lattice サービスで AWS マネージドキーを使用する場合、 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)を使用して VPC Lattice が送信するリクエストを追跡できます AWS KMS。

**CreateGrant**  
ACM 証明書を VPC Lattice サービスに追加すると、TLS 接続マネージャが ACM 証明書に関連付けられたプライベートキーを復号できるようにする `CreateGrant` リクエストが自動で送信されます。

`CreateGrant` オペレーションは、**CloudTrail**、イベント**履歴**、**CreateGrant** でイベントとして表示できます。

以下は、 `CreateGrant`オペレーションの CloudTrail イベント履歴のイベントレコードの例です。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "EX_PRINCIPAL_ID",
        "arn": "arn:aws:iam::111122223333:user/Alice",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::111122223333:user/Alice",
                "accountId": "111122223333",
                "userName": "Alice"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-02-06T23:30:50Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "acm.amazonaws.com"
    },
    "eventTime": "2023-02-07T00:07:18Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "acm.amazonaws.com",
    "userAgent": "acm.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "tlsconnectionmanager.amazonaws.com",
        "keyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "operations": [
            "Decrypt"
        ],
        "constraints": {
            "encryptionContextEquals": {
                "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
            }
        },
        "retiringPrincipal": "acm.us-west-2.amazonaws.com"
    },
    "responseElements": {
        "grantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "requestID": "ba178361-8ab6-4bdd-9aa2-0d1a44b2974a",
    "eventID": "8d449963-1120-4d0c-9479-f76de11ce609",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

上記の`CreateGrant`例では、被付与者プリンシパルは TLS Connection Manager であり、暗号化コンテキストには VPC Lattice サービス ARN があります。

**ListGrants**  
KMS キー ID とアカウント ID を使用して `ListGrants` API を呼び出せます。呼び出すと、指定した KMS キーに対するすべての権限のリストが表示されます。詳細については、「[ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)」を参照してください。

で次の`ListGrants`コマンドを使用して AWS CLI 、すべての許可の詳細を表示します。

```
aws kms list-grants —key-id your-kms-key-id
```

以下は出力の例です。

```
{
    "Grants": [
        {
            "Operations": [
                "Decrypt"
            ], 
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", 
            "Name": "IssuedThroughACM", 
            "RetiringPrincipal": "acm.us-west-2.amazonaws.com", 
            "GranteePrincipal": "tlsconnectionmanager.amazonaws.com", 
            "GrantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758", 
            "IssuingAccount": "arn:aws:iam::111122223333:root", 
            "CreationDate": "2023-02-06T23:30:50Z", 
            "Constraints": {
                "encryptionContextEquals": {
                  "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                  "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
                }
            }
        }
    ]
}
```

上記の`ListGrants`例では、被付与者プリンシパルは TLS Connection Manager であり、暗号化コンテキストには VPC Lattice サービス ARN があります。

**Decrypt**  
VPC Lattice は TLS 接続マネージャを使用してプライベートキーを復号化する `Decrypt` オペレーションを呼び出し、VPC Lattice サービスで TLS 接続を提供します。`Decrypt` オペレーションは、**CloudTrail** イベント**履歴 Decrypt でイベント**として表示できます。 ****

以下は、 `Decrypt`オペレーションの CloudTrail イベント履歴のイベントレコードの例です。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "tlsconnectionmanager.amazonaws.com"
    },
    "eventTime": "2023-02-07T00:07:23Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "tlsconnectionmanager.amazonaws.com",
    "userAgent": "tlsconnectionmanager.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "12345126-30d5-4b28-98b9-9153da559963",
    "eventID": "abcde202-ba1a-467c-b4ba-f729d45ae521",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "sharedEventID": "abcde202-ba1a-467c-b4ba-f729d45ae521",
    "eventCategory": "Management"
}
```