

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 加密日誌
<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>

提交任務或檢視日誌或應用程式 UIs 的使用者必須具有使用金鑰的許可。您可以在 KMS 金鑰政策或使用者、群組或角色的 IAM 政策中指定許可。如果提交任務的使用者缺少 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 金鑰許可，如下所示。

在 KMS 金鑰的政策中，`emr-serverless.amazonaws.com`委託人必須具有下列許可：

```
{
    "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"
    }
  ]
}
```

------

設定 KMS 金鑰政策，將 KMS 許可授予 Amazon CloudWatch：

------
#### [ 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"
    }
  ]
}
```

------