

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

# EMR Notebooks의 서비스 역할
<a name="emr-managed-notebooks-service-role"></a>

각 EMR 노트북에는 다른 AWS 리소스에 액세스하고 작업을 수행할 수 있는 권한이 필요합니다. 이 서비스 역할에 연결된 IAM 정책은 노트북이 다른 AWS 서비스와 상호 운용할 수 있는 권한을 제공합니다. 를 사용하여 노트북을 생성할 때 *AWS 서비스 역할을* AWS Management Console지정합니다. 기본 역할인 `EMR_Notebooks_DefaultRole`을 사용하거나 생성하는 역할을 지정할 수 있습니다. 이전에 노트북을 생성하지 않은 경우 기본 역할을 생성하도록 선택할 수 있습니다.
+ 기본 역할 이름은 `EMR_Notebooks_DefaultRole`입니다.
+ `EMR_Notebooks_DefaultRole`에 연결된 기본 관리형 정책은 `AmazonElasticMapReduceEditorsRole` 및 `S3FullAccessPolicy`입니다.

서비스 역할은 다음 신뢰 정책을 사용해야 합니다.

**중요**  
다음 신뢰 정책에는 Amazon EMR에 부여하는 권한을 계정의 특정 리소스로 제한하는 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 글로벌 조건 키가 포함되어 있습니다. 이를 사용하면 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지할 수 있습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticmapreduce.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      }
    }
  ]
}
```

------

`AmazonElasticMapReduceEditorsRole` 버전 1의 콘텐츠는 다음과 같습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateSecurityGroup",
        "ec2:DescribeSecurityGroups",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:DescribeTags",
        "ec2:DescribeInstances",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListSteps"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowEC2Authorizesecuritygroupegress"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "aws:elasticmapreduce:editor-id",
            "aws:elasticmapreduce:job-flow-id"
          ]
        }
      },
      "Sid": "AllowEC2Createtags"
    }
  ]
}
```

------

다음은 `S3FullAccessPolicy`의 콘텐츠입니다. `S3FullAccessPolicy`를 통해 EMR Notebooks의 서비스 역할이 AWS 계정내 객체에서 모든 Amazon S3 작업을 수행할 수 있습니다. EMR Notebooks에 대한 사용자 지정 서비스 역할을 생성하는 경우 서비스 역할에 Amazon S3 권한을 부여해야 합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```

------

노트북 파일을 저장하려는 Amazon S3 위치로 서비스 역할에 대한 읽기 및 쓰기 액세스 범위를 좁힐 수 있습니다. 다음과 같은 Amazon S3의 최소 권한 세트를 사용합니다.

```
"s3:PutObject",
"s3:GetObject",
"s3:GetEncryptionConfiguration",
"s3:ListBucket",
"s3:DeleteObject"
```

Amazon S3 버킷이 암호화된 경우에는 AWS Key Management Service에 대한 다음 권한을 포함해야 합니다.

```
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:DescribeKey"
```

Git 리포지토리를 노트북에 연결하면서 리포지토리에 보안 암호를 생성해야 하는 경우에는 Amazon EMR Notebooks의 서비스 역할에 연결되는 IAM 정책에서 `secretsmanager:GetSecretValue` 권한을 추가해야 합니다. 정책 예제는 다음과 같습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## EMR Notebooks 서비스 역할 권한
<a name="emr-managed-notebooks-service-role-permissions"></a>

이 테이블에는 EMR Notebooks가 서비스 역할을 사용하여 수행하는 작업과 각 작업에 필요한 권한이 나열되어 있습니다.


****  

| 작업 | 권한 | 
| --- | --- | 
| 노트북과 Amazon EMR 클러스터 사이에 보안 네트워크 채널을 설정하고 필요한 정리 작업을 수행합니다. |  <pre>"ec2:CreateNetworkInterface", <br />"ec2:CreateNetworkInterfacePermission", <br />"ec2:DeleteNetworkInterface", <br />"ec2:DeleteNetworkInterfacePermission", <br />"ec2:DescribeNetworkInterfaces", <br />"ec2:ModifyNetworkInterfaceAttribute", <br />"ec2:AuthorizeSecurityGroupEgress", <br />"ec2:AuthorizeSecurityGroupIngress", <br />"ec2:CreateSecurityGroup",<br />"ec2:DescribeSecurityGroups", <br />"ec2:RevokeSecurityGroupEgress",<br />"ec2:DescribeTags",<br />"ec2:DescribeInstances",<br />"ec2:DescribeSubnets",<br />"ec2:DescribeVpcs",<br />"elasticmapreduce:ListInstances", <br />"elasticmapreduce:DescribeCluster", <br />"elasticmapreduce:ListSteps"</pre>  | 
|  AWS Secrets Manager 에 저장된 Git 보안 인증을 사용하여 Git 리포지토리를 노트북에 연결합니다. |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| 보안 네트워크 채널을 설정하는 동안 EMR Notebooks가 생성하는 네트워크 인터페이스 및 기본 보안 그룹에 AWS 태그를 적용합니다. 자세한 내용을 알아보려면 [AWS 리소스에 태깅](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)을 참조하세요. |  <pre>"ec2:CreateTags"</pre>  | 
| 노트북 파일 및 메타데이터에 액세스하거나 Amazon S3에 업로드합니다. | <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre>다음 권한은 암호화된 Amazon S3 버킷을 사용하는 경우에만 필요합니다.<pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre> | 

## AWS 관리형 정책에 대한 EMR Notebooks 업데이트
<a name="notebooks-slr-updates"></a>

2021년 3월 1일 이후 EMR Notebooks의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 변경 | 설명 | Date | 
| --- | --- | --- | 
| AmazonElasticMapReduceEditorsRole - Added permissions | EMR Notebooks에서 `AmazonElasticMapReduceEditorsRole`에 `ec2:describeVPCs` 및 `elastmicmapreduce:ListSteps` 권한을 추가했습니다. | 2023년 2월 8일  | 
| EMR Notebooks에서 변경 추적 시작 | EMR Notebooks가 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다. | 2023년 2월 8일  | 