

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

# AWS KMS 키를 사용하여 EventBridge 이벤트 버스 암호화
<a name="eb-encryption-event-bus-cmkey"></a>

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

 이벤트 버스에 대한 고객 관리형 키를 지정하면 EventBridge는 해당 키를 사용하여 다음을 암호화합니다.
+ 이벤트 버스에 저장된 [사용자 지정](eb-putevents.md) 및 [파트너](eb-saas.md) 이벤트입니다.

   AWS 서비스의 이벤트는를 사용하여 암호화됩니다 AWS 소유 키.

  EventBridge는 이벤트 메타데이터를 암호화하지 않습니다. 이벤트 메타데이터에 대한 자세한 내용은 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.
+ 버스의 각 [규칙](eb-rules.md)에 대해:
  + 규칙 [이벤트 패턴](eb-event-patterns.md)입니다.
  + 대상 입력, [입력 트랜스포머](eb-transform-target-input.md) 및 [구성 파라미터](eb-create-rule-wizard.md#eb-create-rule-target)를 포함한 [대상](eb-targets.md) 정보입니다.
+ [이벤트 버스 로깅](eb-event-bus-logs.md)이 활성화된 경우 로그의 `detail` 및 `error` 섹션이 기록됩니다.

이벤트 버스에 대한 고객 관리형 키를 지정하는 경우 이벤트 버스에 대한 Dead Letter Queue(DLQ)를 지정할 수 있습니다. 그런 다음 EventBridge는 암호화 또는 복호화 오류를 생성하는 사용자 지정 또는 파트너 이벤트를 해당 DLQ에 전달합니다. 자세한 내용은 [암호화된 이벤트에 대한 DLQ](eb-encryption-event-bus-dlq.md) 단원을 참조하십시오.

**참고**  
암호화 또는 복호화 오류가 발생할 경우 이벤트가 보존되도록 이벤트 버스에 DLQ를 지정하는 것이 좋습니다.

이벤트 버스 아카이브를 암호화하기 위해 고객 관리형 키를 사용하여를 지정할 수도 있습니다. 자세한 내용은 [아카이브 암호화](encryption-archives.md) 단원을 참조하십시오.

**참고**  
고객 관리형 키를 사용해 암호화된 이벤트 버스에는 스키마 검색이 지원되지 않습니다. 이벤트 버스에서 스키마 검색을 활성화하려면 AWS 소유 키를 사용하도록 선택합니다. 자세한 내용은 [KMS 키 옵션](eb-encryption-at-rest-key-options.md) 단원을 참조하십시오.

## 이벤트 버스 암호화 컨텍스트
<a name="eb-encryption-at-rest-context-bus"></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는 모든 AWS KMS 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 컨텍스트에는 이벤트 버스 ARN을 포함하는 단일 키-값 페어가 포함됩니다.

```
"encryptionContext": {
    "kms:EncryptionContext:aws:events:event-bus:arn": "event-bus-arn"
}
```

## AWS KMS 이벤트 버스에 대한 키 정책
<a name="eb-encryption-key-policy-bus"></a>

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

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

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowEventBridgeToValidateKeyPermission",
      "Effect": "Allow",
      "Principal": {
      "Service": "events.amazonaws.com"
       },
      "Action": [
        "kms:DescribeKey"
        ],
      "Resource": "*"
    },
  {
    "Sid": "AllowEventBridgeToEncryptEvents",
    "Effect": "Allow",
    "Principal": {
      "Service": "events.amazonaws.com"
    },
    "Action": [
      "kms:GenerateDataKey",
      "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
      "StringEquals": {
          "kms:EncryptionContext:aws:events:event-bus:arn": "arn:aws:events:us-east-1:123456789012:event-bus/event-bus-arn",
          "aws:SourceArn": "arn:aws:events:us-east-1:123456789012:event-bus/event-bus-name"
        }
      } 
    }
  ] }
```

------

## AWS KMS 이벤트 버스 작업에 대한 키 권한
<a name="eb-encryption-key-permissions-bus"></a>

고객 관리형 키를 사용하여 암호화된 이벤트 버스를 생성하거나 업데이트하려면 지정된 고객 관리형 키에 대해 다음 권한이 있어야 합니다.
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:ReEncryptFrom`
+ `kms:ReEncryptTo`
+ `kms:DescribeKey`

또한 고객 관리형 키를 사용하여 암호화된 이벤트 버스에서 특정 이벤트 버스 작업을 수행하려면 지정된 고객 관리형 키에 대한 `kms:Decrypt` 권한이 있어야 합니다. 이 작업에는 다음이 포함됩니다.
+ `[DescribeRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeRule.html)`
+ `[DisableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html)`
+ `[EnableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EnableRule.html)`
+ `[ListRules](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRules.html)`
+ `[ListTargetsByRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html)`
+ `[PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)`
+ `[ListRuleNamesByTarget](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRuleNamesByTarget.html)`
+ `[PutTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html)`