

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

# AWS KMS 키를 사용하여 EventBridge 파이프 데이터 암호화
<a name="eb-encryption-pipes-cmkey"></a>

EventBridge가 기본값인 AWS 소유 키 를 사용하는 대신 고객 관리형 키를 사용하여, 저장된 파이프 데이터를 암호화하도록 지정할 수 있습니다. 파이프를 생성하거나 업데이트할 때 고객 관리형 키를 지정할 수 있습니다. 키 유형에 대한 자세한 내용은 [KMS 키 옵션](eb-encryption-at-rest-key-options.md) 섹션을 참조하세요.

EventBridge가 저장 시에 암호하하는 파이프 데이터는 다음을 포함합니다.
+ [이벤트 패턴](eb-event-patterns.md)
+ [입력 변환기](eb-pipes-input-transformation.md)

파이프를 통해 흐르는 이벤트는 절대 저장되지 않습니다.

## EventBridge Pipes 암호화 컨텍스트
<a name="eb-encryption-at-rest-context-pipes"></a>

[암호화 컨텍스트](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)는 보안되지 않은 임의의 데이터를 포함하는 키-값 페어 세트입니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하는 경우 AWS KMS 는 암호화된 데이터에 암호화 컨텍스트를 암호 방식으로 바인딩합니다. 따라서 동일한 암호화 컨텍스트로 전달해야 이 데이터를 해독할 수 있습니다.

정책 및 권한 부여에서 암호화 컨텍스트를 권한 부여 조건으로 사용할 수도 있습니다.

고객 관리형 키를 사용하여 EventBridge 리소스를 보호하는 경우 암호화 컨텍스트를 사용하여 감사 레코드 및 로그 KMS key 에서의 사용을 식별할 수 있습니다. 또한 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 및 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 같은 로그에서 일반 텍스트에 나타나기도 합니다.

EventBridge Pipes의 경우, EventBridge는 모든 AWS KMS 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 컨텍스트에는 파이프 ARN을 포함하는 단일 키-값 페어가 포함됩니다.

```
"encryptionContext": {
    "kms:EncryptionContext:aws:pipes:arn": "pipe-arn"
}
```

벤딩 로그의 경우, EventBridge는 다음의 암호화 컨텍스트를 사용합니다.

```
"encryptionContext": {
    "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
}
```

## AWS KMS EventBridge 파이프에 대한 키 정책
<a name="eb-encryption-key-policy-pipe"></a>

다음 예제 키 정책은 파이프에 필요한 권한을 제공합니다.
+ `kms:DescribeKey`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`

보안 모범 사례로, EventBridge가 지정된 리소스 또는 계정에 대해서만 키를 사용하도록 하려면 키 정책에 조건 AWS KMS 키를 포함하는 것이 좋습니다. 자세한 내용은 [보안 고려 사항](eb-encryption-key-policy.md#eb-encryption-event-bus-confused-deputy) 단원을 참조하십시오.

------
#### [ JSON ]

****  

```
{
  "Id": "CMKKeyPolicy",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::123456789012:role/pipe-execution-role"
      },
      "Action": [
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::123456789012:role/pipe-execution-rolee"
      },
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
        "kms:EncryptionContext:aws:pipe:arn": "arn:aws:pipes:us-east-1:123456789012:pipe/pipe-name"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:pipe:arn"
          ]
        }
      }
    }
  ]
}
```

------

### 실행 데이터가 포함된 파이프 로그에 대한 권한
<a name="eb-encryption-key-policy-pipe-logs"></a>

실행 데이터를 포함하도록 파이프 로깅을 구성한 경우, 로깅 서비스에 대한 다음 권한이 키 정책에 포함되어야 합니다.
+ `kms:Decrypt`
+ `kms:GenerateDataKey`

자세한 내용은 [EventBridge 파이프 로그에 실행 데이터 포함](eb-pipes-logs.md#eb-pipes-logs-execution-data) 단원을 참조하십시오.

다음 예제 키 정책은 파이프 로깅에 필요한 권한을 제공합니다.

```
{
  "Sid": "Enable log service encryption",
  "Effect": "Allow",
  "Principal": {
    "Service": "delivery.logs.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
}
```

또한 파이프 실행 역할에는 `kms:GenerateDataKey` 권한도 필요합니다.

```
{
  "Sid": "Enable log service encryption",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::account:role/pipe-execution-role"
  },
  "Action": [
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
}
```

파이프 실행 역할에는 다음도 포함되어야 합니다.

```
"Action": [
    "kms:GenerateDataKey"
  ],
  "Resource": "key-arn",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
```

# EventBridge Pipes에서 암호화 구성
<a name="eb-encryption-pipe-cmkey-configure"></a>

파이프를 생성하거나 업데이트할 때 사용할 EventBridge의 KMS 키를 지정할 수 있습니다.

## 파이프를 생성할 때 암호화에 사용되는 AWS KMS 키 지정
<a name="eb-encryption-pipe-cmkey-create"></a>

암호화에 사용되는 AWS KMS 키를 선택하는 것은 파이프를 생성하는 옵션입니다. 기본값은 EventBridge에서 AWS 소유 키 제공하는를 사용하는 것입니다.

**파이프를 생성할 때 암호화를 위한 고객 관리형 키 지정(콘솔)**
+ 다음 지침들을 따릅니다.

  [파이프 생성](eb-pipes-create.md).

**파이프를 생성할 때 암호화를 위한 고객 관리형 키 지정(CLI)**
+ `[create-pipe](https://docs.aws.amazon.com/cli/latest/reference/pipes/create-pipe.html)`를 직접 호출할 때 `kms-key-identifier` 옵션을 사용하여 이벤트 버스를 암호화하는 데 사용할 EventBridge의 고객 관리형 키를 지정합니다.

## EventBridge 파이프에서 암호화에 사용되는 AWS KMS 키 업데이트
<a name="eb-encryption-pipe-cmkey-update"></a>

기존 파이프에서 저장 시 암호화에 사용되는 AWS KMS 키를 업데이트할 수 있습니다. 여기에는 다음이 포함됩니다.
+ 를 기본 키에서 고객 관리형 키 AWS 소유 키 로 변경합니다.
+ 고객 관리형 키에서 기본값으로 변경 AWS 소유 키
+ 한 고객 관리형 키에서 다른 고객 관리형 키로 변경합니다.

다른 AWS KMS 키를 사용하도록 파이프를 업데이트하면 EventBridge는 파이프에 저장된 모든 데이터를 복호화한 다음 새 키를 사용하여 암호화합니다.

**파이프에서 암호화에 사용되는 KMS 키 업데이트(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 탐색 창에서 **파이프**를 선택합니다.

1. 업데이트할 파이프를 선택합니다.

1. 파이프 버스 세부 정보 페이지에서 **암호화** 탭을 선택합니다.

1. 파이프에 저장된 데이터를 암호화할 때 사용할 EventBridge의 KMS 키를 선택합니다.
   + EventBridge에 **사용을 AWS 소유 키** 선택하여를 사용하여 데이터를 암호화합니다 AWS 소유 키.

     이는 EventBridge가 여러 AWS 계정에서 사용하기 위해 소유하고 관리하는 KMS 키 AWS 소유 키 입니다. 일반적으로 리소스를 보호하는 암호화 키를 감사하거나 제어해야 하는 경우가 아니면 AWS 소유 키 를 선택하는 것이 좋습니다.

     기본값입니다.
   + EventBridge에 **고객 관리형 키 사용**을 선택하여 지정하거나 생성한 고객 관리형 키를 사용하여 데이터를 암호화합니다.

     고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. 이러한 KMS 키를 완전히 제어할 수 있습니다.

     1. 기존 고객 관리형 키를 지정하거나 **새 KMS 키 생성**을 선택합니다.

       EventBridge는 키 상태뿐만 아니라, 지정된 고객 관리형 키와 연결된 모든 키 별칭도 표시합니다.

**파이프에서 암호화에 사용되는 KMS 키 업데이트(CLI)**
+ `[update-pipe](https://docs.aws.amazon.com/cli/latest/reference/pipes/update-pipe.html)`를 직접 호출할 때 `kms-key-identifier` 옵션을 사용하여 파이프 데이터를 암호화하는 데 사용할 EventBridge의 고객 관리형 키를 지정합니다.