

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

# Amazon EMR Serverless에 대한 작업 런타임 역할
<a name="security-iam-runtime-role"></a>

사용자를 대신하여 다른 서비스를 직접 호출하는 경우 EMR Serverless 작업 실행에서 수임할 수 있는 IAM 역할 권한을 지정할 수 있습니다. 여기에는 모든 데이터 소스, 대상 및 Amazon Redshift 클러스터 및 DynamoDB 테이블과 같은 기타 리소스에 대한 Amazon S3에 대한 액세스가 포함됩니다. AWS DynamoDB 역할을 생성하는 방법에 대해 자세히 알아보려면 [작업 런타임 역할 생성](getting-started.md#gs-runtime-role) 섹션을 참조하세요.

**샘플 런타임 정책**

다음과 같은 런타임 정책을 작업 런타임 역할에 연결할 수 있습니다. 다음 작업 런타임 정책은 다음을 허용합니다.
+ EMR 샘플이 포함된 Amazon S3 버킷에 대한 읽기 액세스.
+ S3 버킷에 대한 전체 액세스.
+  AWS Glue 데이터 카탈로그에 대한 액세스 생성 및 읽기.

DynamoDB와 같은 다른 AWS 리소스에 대한 액세스를 추가하려면 런타임 역할을 생성할 때 정책에 해당 리소스에 대한 권한을 포함해야 합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ReadAccessForEMRSamples",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::*.elasticmapreduce",
        "arn:aws:s3:::*.elasticmapreduce/*"
      ]
    },
    {
      "Sid": "FullAccessToS3Bucket",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
        "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
      ]
    },
    {
      "Sid": "GlueCreateAndReadDataCatalog",
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase",
        "glue:CreateDatabase",
        "glue:GetDataBases",
        "glue:CreateTable",
        "glue:GetTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTables",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

**역할 권한 전달**

사용자가 승인된 역할만 전달할 수 있도록 사용자 역할에 IAM 권한 정책을 연결할 수 있습니다. 이를 통해 관리자는 특정 작업 런타임 역할을 EMR Serverless 작업에 전달할 수 있는 사용자를 제어할 수 있습니다. 권한 설정에 대한 자세한 내용은 [AWS 사용자에게 서비스에 역할을 전달할 수 있는 권한 부여를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

다음은 EMR Serverless 서비스 위탁자에 작업 런타임 역할을 전달할 수 있도록 허용하는 정책 예제입니다.

```
{
     "Effect": "Allow",
     "Action": "iam:PassRole",
     "Resource": "arn:aws:iam::1234567890:role/JobRuntimeRoleForEMRServerless",
        "Condition": {
                "StringLike": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
}
```

## 런타임 역할과 연결된 관리형 권한 정책
<a name="security-iam-user-access-policies-permissions"></a>

EMR Studio 콘솔을 통해 EMR Serverless에 작업 실행을 제출하면 애플리케이션과 연결할 **런타임 역할**을 선택하는 단계가 있습니다. 콘솔의 각 선택 항목과 관련된 기본 관리 정책이 있으며, 이를 숙지하는 것이 중요합니다. 이러한 세 가지 선택 항목은 다음과 같습니다.

1. **모든 버킷** -이 옵션을 선택하면 모든 버킷에 대한 전체 액세스를 제공하는 [AmazonS3FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FullAccess.html) AWS 관리형 정책을 지정합니다.

1. **특정 버킷** - 선택한 각 버킷의 Amazon 리소스 이름(ARN) 식별자를 지정합니다. 기본 관리형 정책은 포함되어 있지 않습니다.

1. **없음** - 관리형 정책 권한이 포함되지 않습니다.

특정 버킷을 추가하는 것이 좋습니다. 모든 버킷을 선택하는 경우 모든 버킷에 대한 전체 액세스 권한이 설정된다는 점에 유의하세요.