

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon VPC Lattice의 데이터 보호
<a name="data-protection"></a>

 AWS [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/) Amazon VPC Lattice의 데이터 보호에 적용됩니다. 이 모델에 설명된 대로 AWS 는 모든를 실행하는 글로벌 인프라를 보호할 책임이 있습니다 AWS 클라우드. 사용자는 인프라에서 호스팅되는 콘텐츠를 관리해야 합니다. 이 콘텐츠에는 사용하는 AWS 서비스 서비스의 보안 구성과 관리 작업이 포함되어 있습니다. 데이터 프라이버시에 대한 자세한 내용은 [데이터 프라이버시 FAQ](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) 리소스(예: `CreateService` 및 )를 생성, 읽기/설명, 업데이트, 삭제 및 나열하는 데 사용되는 관리 APIs를 제공합니다`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 키를 사용한 서버 측 암호화 AWS KMS (SSE-KMS)](#kms-managed-keys)

### Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)
<a name="s3-managed-keys"></a>

Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)를 사용하면 각 객체는 고유한 키로 암호화됩니다. 추가 보호 조치로 정기적으로 교체하는 루트 키로 키 자체를 암호화합니다. Amazon S3 서버 측 암호화는 가장 강력한 블록 암호 중 하나인 256비트 Advanced Encryption Standard(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 암호화 키(SSE-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 키를 사용한 서버 측 암호화 AWS KMS (SSE-KMS)
<a name="kms-managed-keys"></a>

 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS)는 SSE-S3와 유사하지만이 서비스 사용에 따른 추가 이점과 요금이 있습니다. Amazon S3에서 객체에 대한 무단 액세스에 대한 추가 보호를 제공하는 AWS KMS 키에 대한 별도의 권한이 있습니다. 또한 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 키를 사용하여 암호화됩니다. AWS KMS 콘솔의 **AWS 관리형 키에서이 별칭을 사용하여 키** ID를 볼 수 있습니다.

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 세션)을 설정합니다. 인증서가 통합 서비스에서 연결 해제되면 권한 부여가 사용 중지됩니다.

KMS 키에 대한 액세스를 제거하려면 또는의 `update-service` 명령을 사용하여 서비스에서 인증서를 교체 AWS Management Console 하거나 삭제하는 것이 좋습니다 AWS CLI.

#### VPC Lattice의 암호화 컨텍스트
<a name="encryption-context"></a>

[암호화 컨텍스트](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)는 프라이빗 키가 사용될 수 있는 대상에 대한 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.는 암호화 컨텍스트를 암호화된 데이터에 AWS KMS 바인딩하고 이를 인증된 암호화를 지원하기 위한 추가 인증 데이터로 사용합니다.

VPC Lattice와 TLS 연결 관리자에서 TLS 키를 사용하는 경우, 저장된 키를 암호화하는 데 사용되는 암호화 컨텍스트에 VPC Lattice 서비스의 이름이 포함됩니다. 다음 섹션과 같이 CloudTrail 로그의 암호화 컨텍스트를 보거나 ACM 콘솔의 **연결된 리소스** 탭을 확인하여 인증서와 프라이빗 키가 사용되는 VPC Lattice 서비스를 확인할 수 있습니다.

데이터를 해독하기 위해 동일한 암호화 컨텍스트를 요청에 포함시킵니다. 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**  
VPC Lattice 서비스에 ACM 인증서를 추가하면 사용자를 대신하여 TLS 연결 관리자가 ACM 인증서와 연결된 프라이빗 키를 해독할 수 있도록 해달라는 `CreateGrant` 요청이 전송됩니다.

**CloudTrail**, 이벤트 **기록**, **CreateGrant**에서 `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는 VPC Lattice 서비스에서 TLS 연결을 제공하기 위해 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"
}
```