

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

# 로그 암호화
<a name="jobs-log-encryption"></a>

## 관리형 스토리지를 사용하는 EMR Serverless 로그 암호화
<a name="jobs-log-encryption-managed-storage"></a>

자체 KMS 키를 사용하여 관리형 스토리지에서 로그를 암호화하려면 작업 실행을 제출할 때 `managedPersistenceMonitoringConfiguration` 구성을 사용합니다.

```
{
    "monitoringConfiguration": {
        "managedPersistenceMonitoringConfiguration" : {
            "encryptionKeyArn": "key-arn"
        }
    }
}
```

## Amazon S3 버킷을 사용하는 EMR Serverless 로그 암호화
<a name="jobs-log-encryption-s3-buckets"></a>

자체 KMS 키를 사용하여 Amazon S3 버킷에서 로그를 암호화하려면 작업 실행을 제출할 때 `s3MonitoringConfiguration` 구성을 사용합니다.

```
{
    "monitoringConfiguration": {
        "s3MonitoringConfiguration": {
            "logUri": "s3://amzn-s3-demo-logging-bucket/logs/",
            "encryptionKeyArn": "key-arn"
        }
    }
}
```

## Amazon CloudWatch를 사용하는 EMR Serverless 로그 암호화
<a name="jobs-log-encryption-cw"></a>

자체 KMS 키로 Amazon CloudWatch에서 로그를 암호화하려면 작업 실행을 제출할 때 `cloudWatchLoggingConfiguration` 구성을 사용합니다.

```
{
    "monitoringConfiguration": {
        "cloudWatchLoggingConfiguration": {
            "enabled": true,
            "encryptionKeyArn": "key-arn"
         }
     }
}
```

## 로그 암호화에 필요한 권한
<a name="jobs-log-encryption-permissions"></a>

**Topics**
+ [필요한 사용자 권한](#jobs-log-encryption-permissions-user)
+ [Amazon S3 및 관리형 스토리지에 대한 암호화 키 권한](#jobs-log-encryption-permissions-s3)
+ [Amazon CloudWatch에 대한 암호화 키 권한](#jobs-log-encryption-permissions-cw)

### 필요한 사용자 권한
<a name="jobs-log-encryption-permissions-user"></a>

작업을 제출하거나 로그 또는 애플리케이션 UI를 보는 사용자는 키를 사용할 권한이 있어야 합니다. 사용자, 그룹 또는 역할에 대한 IAM 정책 또는 KMS 키 정책에서 권한을 지정할 수 있습니다. 작업을 제출하는 사용자에게 KMS 키 권한이 없는 경우 EMR Serverless는 작업 실행 제출을 거부합니다.

**예제 키 정책**

다음 키 정책에서는 `kms:GenerateDataKey` 및 `kms:Decrypt`에 대한 권한을 제공합니다.

```
{
    "Effect": "Allow",
    "Principal":{
       "AWS": "arn:aws:iam::111122223333:user/user-name"
     },
     "Action": [
       "kms:GenerateDataKey",       
       "kms:Decrypt"
      ],
     "Resource": "*"
 }
```

**IAM 정책 예제**

다음 IAM 정책은 `kms:GenerateDataKey` 및 `kms:Decrypt`에 대한 권한을 제공합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": [
        "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012"
      ],
      "Sid": "AllowKMSGeneratedatakey"
    }
  ]
}
```

------

Spark 또는 Tez UI를 시작하려면 사용자, 그룹 또는 역할에 다음과 같이 `emr-serverless:GetDashboardForJobRun` API에 액세스할 수 있는 권한을 부여합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-serverless:GetDashboardForJobRun"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowEMRSERVERLESSGetdashboardforjobrun"
    }
  ]
}
```

------

### Amazon S3 및 관리형 스토리지에 대한 암호화 키 권한
<a name="jobs-log-encryption-permissions-s3"></a>

관리형 스토리지 또는 S3 버킷에서 자체 암호화 키로 로그를 암호화하는 경우 다음과 같이 KMS 키 권한을 구성합니다.

`emr-serverless.amazonaws.com` 위탁자는 KMS 키에 대한 정책에 다음 권한이 있어야 합니다.

```
{
    "Effect": "Allow",
    "Principal":{
       "Service": "emr-serverless.amazonaws.com" 
     },
     "Action": [
       "kms:Decrypt",
       "kms:GenerateDataKey"
      ],
     "Resource": "*"
     "Condition": {
       "StringLike": {
         "aws:SourceArn": "arn:aws:emr-serverless:region:aws-account-id:/applications/application-id"
       }
     }
 }
```

보안 모범 사례로 `aws:SourceArn` 조건 키를 KMS 키 정책에 추가하는 것이 좋습니다. IAM 전역 조건 키 `aws:SourceArn`은 EMR Serverless가 애플리케이션 ARN에 대해서만 KMS 키를 사용하도록 하는 데 도움이 됩니다.

작업 런타임 역할에는 IAM 정책에 다음 권한이 있어야 합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": [
        "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012"
      ],
      "Sid": "AllowKMSGeneratedatakey"
    }
  ]
}
```

------

### Amazon CloudWatch에 대한 암호화 키 권한
<a name="jobs-log-encryption-permissions-cw"></a>

KMS 키 ARN을 로그 그룹에 연결하려면 작업 런타임 역할에 대해 다음 IAM 정책을 사용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:AssociateKmsKey"
      ],
      "Resource": [
        "arn:aws:logs:*:123456789012:log-group:my-log-group-name:*"
      ],
      "Sid": "AllowLOGSAssociatekmskey"
    }
  ]
}
```

------

Amazon CloudWatch에 KMS 권한을 부여하도록 KMS 키 정책을 구성합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "key-default-1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ArnLike": {
          "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:*:123456789012:*"
        }
      },
      "Sid": "AllowKMSDecrypt"
    }
  ]
}
```

------