

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya
<a name="emr-iam-roles"></a>

Amazon EMR dan aplikasi seperti Hadoop dan Spark perlu izin untuk mengakses sumber daya AWS lain dan melakukan tindakan ketika mereka dijalankan. Setiap klaster di Amazon EMR harus memiliki *peran layanan* dan peran untuk *profil instans* Amazon EC2. Untuk informasi selengkapnya, lihat [IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dan [Menggunakan profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) di *Panduan Pengguna IAM*. Kebijakan IAM yang terlampir pada peran ini memberikan izin untuk klaster untuk beroperasi dengan layanan AWS lain atas nama pengguna.

Peran tambahan, peran Auto Scaling, diperlukan jika klaster Anda menggunakan penskalaan otomatis di Amazon EMR. Peran AWS layanan untuk EMR Notebooks diperlukan jika Anda menggunakan EMR Notebooks.

Amazon EMR menyediakan peran default dan kebijakan terkelola default yang menentukan izin untuk setiap peran. Kebijakan terkelola dibuat dan dikelola oleh AWS, sehingga kebijakan tersebut diperbarui secara otomatis jika persyaratan layanan berubah. Lihat [AWS kebijakan terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies.html) di *Panduan Pengguna IAM*.

Jika Anda membuat sebuah klaster atau notebook untuk pertama kalinya di akun, peran untuk Amazon EMR belum ada. Setelah membuatnya, Anda dapat melihat peran, kebijakan yang dilampirkan padanya, dan izin yang diizinkan atau ditolak oleh kebijakan di konsol IAM () [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). Anda dapat menentukan peran default untuk Amazon EMR untuk membuat dan menggunakan, Anda dapat membuat peran Anda sendiri dan menentukan mereka secara individual ketika Anda membuat sebuah klaster untuk menyesuaikan izin, dan Anda dapat menentukan peran default untuk digunakan ketika Anda membuat sebuah klaster menggunakan AWS CLI. Untuk informasi selengkapnya, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md).

## Memodifikasi kebijakan berbasis identitas untuk izin dalam melewati peran layanan untuk Amazon EMR
<a name="emr-iam-roles-passrole"></a>

Kebijakan terkelola default izin penuh Amazon EMR menggabungkan konfigurasi `iam:PassRole` keamanan, termasuk yang berikut ini:
+ Izin `iam:PassRole` hanya untuk peran Amazon EMR default tertentu.
+ `iam:PassedToService`kondisi yang memungkinkan Anda untuk menggunakan kebijakan hanya dengan AWS layanan tertentu, seperti `elasticmapreduce.amazonaws.com` dan`ec2.amazonaws.com`.

Anda dapat melihat versi JSON dari kebijakan [Amazon EMRFull AccessPolicy \$1v2 dan [Amazon EMRService Policy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) di konsol IAM. Kami menyarankan Anda membuat cluster baru dengan kebijakan terkelola v2.

## Ringkasan peran layanan
<a name="emr-iam-roles-summary"></a>

Tabel berikut mencantumkan peran layanan IAM yang terkait dengan Amazon EMR untuk referensi cepat.


| Fungsi | Peran default | Deskripsi | Kebijakan terkelola default | 
| --- | --- | --- | --- | 
|  [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md)  |  `EMR_DefaultRole_V2`  |  Memungkinkan Amazon EMR memanggil AWS layanan lain atas nama Anda saat menyediakan sumber daya dan melakukan tindakan tingkat layanan. Peran ini diperlukan untuk semua klaster.  |  `AmazonEMRServicePolicy_v2`  Peran terkait layanan diperlukan untuk meminta Instans Spot. Jika peran ini tidak ada, peran layanan EMR Amazon harus memiliki izin untuk membuatnya atau kesalahan izin terjadi. Jika Anda berencana untuk meminta Instans Spot, Anda harus memperbarui kebijakan ini untuk menyertakan pernyataan yang memungkinkan pembuatan peran terkait layanan ini. Untuk informasi selengkapnya, lihat [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md) dan [Peran terkait layanan untuk permintaan Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests) di Panduan Pengguna *Amazon EC2*.    | 
| [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md) |  `EMR_EC2_DefaultRole`  |  Proses aplikasi yang berjalan di atas ekosistem Hadoop pada instance cluster menggunakan peran ini ketika mereka memanggil layanan lain. AWS Untuk mengakses data di Amazon S3 menggunakan EMRFS, Anda dapat menentukan peran yang berbeda untuk diasumsikan berdasarkan lokasi data di Amazon S3. Misalnya, beberapa tim dapat mengakses "akun penyimpanan" data Amazon S3 tunggal. Untuk informasi selengkapnya, lihat [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md). Peran ini diperlukan untuk semua klaster.  |  `AmazonElasticMapReduceforEC2Role`. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).  | 
| [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md) |  `EMR_AutoScaling_DefaultRole`  |  Mengizinkan tindakan tambahan untuk lingkungan penskalaan dinamis. Diperlukan hanya untuk klaster yang menggunakan penskalaan otomatis di Amazon EMR. Untuk informasi selengkapnya, lihat [Menggunakan penskalaan otomatis dengan kebijakan khusus untuk grup instans di Amazon EMR](emr-automatic-scaling.md).  |  `AmazonElasticMapReduceforAutoScalingRole`. Untuk informasi selengkapnya, lihat [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md).  | 
| [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md) |  `EMR_Notebooks_DefaultRole`  |  Memberikan izin yang dibutuhkan notebook EMR untuk mengakses sumber daya AWS lain dan melakukan tindakan. Diperlukan hanya jika EMR Notebooks digunakan.  |  `AmazonElasticMapReduceEditorsRole`. Untuk informasi selengkapnya, lihat [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md). `S3FullAccessPolicy` juga dilampirkan secara default. Berikut adalah isi dari kebijakan ini.   JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```      | 
| [Peran Terkait Layanan](using-service-linked-roles.md) | `AWSServiceRoleForEMRCleanup` | Amazon EMR secara otomatis menciptakan peran tertaut layanan. Jika layanan untuk Amazon EMR telah kehilangan kemampuan untuk membersihkan sumber daya Amazon EC2, Amazon EMR dapat menggunakan peran ini untuk membersihkan. Jika klaster menggunakan Instans Spot, kebijakan izin yang dilampirkan ke [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md) harus mengizinkan pembuatan peran tertaut layanan. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Amazon EMR](using-service-linked-roles.md). | `AmazonEMRCleanupPolicy` | 

**Topics**
+ [Memodifikasi kebijakan berbasis identitas untuk izin dalam melewati peran layanan untuk Amazon EMR](#emr-iam-roles-passrole)
+ [Ringkasan peran layanan](#emr-iam-roles-summary)
+ [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md)
+ [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md)
+ [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md)
+ [Menggunakan kebijakan berbasis sumber daya untuk akses Amazon EMR ke Glue Data Catalog AWS](emr-iam-roles-glue.md)
+ [Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung](emr-iam-roles-calling.md)
+ [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md)

# Peran layanan IAM yang digunakan oleh Amazon EMR
<a name="emr-iam-service-roles"></a>

Amazon EMR menggunakan peran layanan IAM untuk melakukan tindakan atas nama Anda ketika menyediakan sumber daya klaster, menjalankan aplikasi, menskalakan sumber daya secara dinamis, dan menciptakan dan menjalankan EMR Notebooks. Amazon EMR menggunakan peran berikut ketika berinteraksi dengan layanan AWS lain. Setiap peran memiliki fungsi yang unik di Amazon EMR. Topik di bagian ini menjelaskan fungsi peran dan menyediakan peran default dan kebijakan izin untuk setiap peran.

Jika Anda memiliki kode aplikasi di klaster yang memanggil AWS layanan secara langsung, Anda mungkin perlu menggunakan SDK untuk menentukan peran. Untuk informasi selengkapnya, lihat [Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung](emr-iam-roles-calling.md).

**Topics**
+ [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md)
+ [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md)
+ [Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)](emr-iam-role-automatic-scaling.md)
+ [Peran layanan untuk EMR Notebooks](emr-managed-notebooks-service-role.md)
+ [Menggunakan peran terkait layanan untuk Amazon EMR](using-service-linked-roles.md)

# Peran layanan untuk Amazon EMR (peran EMR)
<a name="emr-iam-role"></a>

Peran Amazon EMR mendefinisikan tindakan yang diizinkan untuk Amazon EMR saat menyediakan sumber daya dan melakukan tugas tingkat layanan yang tidak dilakukan dalam konteks instans Amazon EC2 yang berjalan dalam klaster. Misalnya, peran layanan yang digunakan untuk menyediakan instans EC2 ketika sebuah klaster meluncur.
+ Nama peran default adalah `EMR_DefaultRole_V2`.
+ Amazon EMR melingkupi kebijakn terkelola default yang terlampir pada `EMR_DefaultRole_V2` adalah `AmazonEMRServicePolicy_v2`. Kebijakan v2 ini menggantikan kebijakan terkelola default yang tidak digunakan lagi. `AmazonElasticMapReduceRole`

`AmazonEMRServicePolicy_v2`bergantung pada akses terbatas ke sumber daya yang disediakan atau digunakan Amazon EMR. Bila menggunakan kebijakan ini, Anda harus melewati tanda pengguna `for-use-with-amazon-emr-managed-policies = true` saat menyediakan klaster. Amazon EMR akan secara otomatis menyebarkan tag tersebut. Selain itu, Anda mungkin perlu secara manual menambahkan tanda pengguna untuk tipe sumber daya tertentu, seperti grup keamanan EC2 yang tidak dibuat oleh Amazon EMR. Lihat [Penandaan sumber daya untuk menggunakan kebijakan terkelola](emr-managed-iam-policies.md#manually-tagged-resources).

**penting**  
Amazon EMR menggunakan peran layanan EMR Amazon ini dan `AWSServiceRoleForEMRCleanup` peran untuk membersihkan sumber daya cluster di akun Anda yang tidak lagi Anda gunakan, seperti instans Amazon EC2. Anda harus menyertakan tindakan agar kebijakan peran menghapus atau menghentikan sumber daya. Jika tidak, Amazon EMR tidak dapat melakukan tindakan pembersihan ini, dan Anda mungkin dikenakan biaya untuk sumber daya yang tidak digunakan yang tetap ada di klaster.

Berikut ini menunjukkan isi arus `AmazonEMRServicePolicy_v2` kebijakan. Anda juga dapat melihat konten kebijakan [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)terkelola saat ini di konsol IAM.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateInTaggedNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateWithEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateFleet",
        "ec2:RunInstances",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplate"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedInstancesAndVolumes",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ResourcesToLaunchEC2",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*::image/ami-*",
        "arn:aws:ec2:*:*:key-pair/*",
        "arn:aws:ec2:*:*:capacity-reservation/*",
        "arn:aws:ec2:*:*:placement-group/pg-*",
        "arn:aws:ec2:*:*:fleet/*",
        "arn:aws:ec2:*:*:dedicated-host/*",
        "arn:aws:resource-groups:*:*:group/*"
      ]
    },
    {
      "Sid": "ManageEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteNetworkInterface",
        "ec2:ModifyInstanceAttribute",
        "ec2:TerminateInstances"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ManageTagsOnEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateNetworkInterfaceNeededForPrivateSubnet",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateTaggedEMRResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": [
            "RunInstances",
            "CreateFleet",
            "CreateLaunchTemplate",
            "CreateNetworkInterface"
          ]
        }
      }
    },
    {
      "Sid": "TagPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "ListActionsForEC2Resources",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeCapacityReservations",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceTypeOfferings",
        "ec2:DescribeLaunchTemplates",
        "ec2:DescribeNetworkAcls",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribePlacementGroups",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumeStatus",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "CreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateDefaultSecurityGroupInVPCWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "ec2:CreateAction": "CreateSecurityGroup"
        }
      }
    },
    {
      "Sid": "ManageSecurityGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreatePlacementGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "DeletePlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:DeletePlacementGroup"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScaling",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ResourceGroupsForCapacityReservations",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScalingCloudWatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": [
        "arn:aws:cloudwatch:*:*:alarm:*_EMR_Auto_Scaling"
      ]
    },
    {
      "Sid": "PassRoleForAutoScaling",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_AutoScaling_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "application-autoscaling.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_EC2_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "CreateAndModifyEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:ModifyVpcEndpoint",
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*",
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    },
    {
      "Sid": "TagEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": "CreateVpcEndpoint",
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [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)dan kunci kondisi [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)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      }
    }
  ]
}
```

------

# Peran layanan untuk instans EC2 klaster (profil instans EC2)
<a name="emr-iam-role-for-ec2"></a>

Peran layanan untuk instans EC2 klaster (juga disebut profil instans EC2 untuk Amazon EMR) adalah tipe khusus dari peran layanan yang ditugaskan untuk setiap instans EC2 di sebuah klaster Amazon EMR ketika instans meluncur. Proses aplikasi yang berjalan di atas ekosistem Hadoop menganggap peran ini untuk izin untuk berinteraksi dengan layanan AWS lain.

Untuk informasi lebih lanjut tentang peran layanan untuk instans EC2, lihat [Menggunakan IAM role untuk memberikan izin pada aplikasi yang berjalan di instans Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) di *Panduan Pengguna IAM*.

**penting**  
Peran layanan default untuk instans EC2 klaster dan kebijakan terkelola AWS default terkait, `AmazonElasticMapReduceforEC2Role` berada di jalur menuju penghentian, tanpa kebijakan terkelola pengganti yang disediakan. AWS Anda harus membuat dan menentukan profil instans untuk mengganti peran dan kebijakan default yang tidak lagi digunakan.

## Peran default dan kebijakan terkelola
<a name="emr-ec2-role-default"></a>
+ Nama peran default adalah `EMR_EC2_DefaultRole`.
+ Kebijakan terkelola `EMR_EC2_DefaultRole` default`AmazonElasticMapReduceforEC2Role`,, mendekati akhir dukungan. Alih-alih menggunakan kebijakan terkelola default untuk profil instans EC2, terapkan kebijakan berbasis sumber daya ke bucket S3 dan sumber daya lain yang dibutuhkan Amazon EMR, atau gunakan kebijakan yang dikelola pelanggan Anda sendiri dengan peran IAM sebagai profil instans. Untuk informasi selengkapnya, lihat [Membuat peran layanan untuk instans EC2 klaster dengan izin hak istimewa paling sedikit](#emr-ec2-role-least-privilege).

Berikut ini menunjukkan isi dari versi 3 dari `AmazonElasticMapReduceforEC2Role`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Action": [
        "cloudwatch:*",
        "dynamodb:*",
        "ec2:Describe*",
        "elasticmapreduce:Describe*",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListSteps",
        "kinesis:CreateStream",
        "kinesis:DeleteStream",
        "kinesis:DescribeStream",
        "kinesis:GetRecords",
        "kinesis:GetShardIterator",
        "kinesis:MergeShards",
        "kinesis:PutRecord",
        "kinesis:SplitShard",
        "rds:Describe*",
        "s3:*",
        "sdb:*",
        "sns:*",
        "sqs:*",
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Sid": "AllowCLOUDWATCH"
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole"
    }
  ]
}
```

------

## Membuat peran layanan untuk instans EC2 klaster dengan izin hak istimewa paling sedikit
<a name="emr-ec2-role-least-privilege"></a>

Sebagai praktik terbaik, kami sangat menyarankan agar Anda membuat peran layanan untuk instans EC2 klaster dan kebijakan izin yang memiliki izin minimum untuk AWS layanan lain yang diperlukan oleh aplikasi Anda.

Kebijakan terkelola default, `AmazonElasticMapReduceforEC2Role`, menyediakan izin yang membuatnya mudah untuk meluncurkan klaster awal. Namun, `AmazonElasticMapReduceforEC2Role` berada di jalur menuju penghentian dan Amazon EMR tidak akan memberikan kebijakan default AWS terkelola pengganti untuk peran yang tidak digunakan lagi. Untuk meluncurkan klaster awal, Anda perlu menyediakan pelanggan terkelola berbasis sumber daya atau kebijakan berbasis ID.

Pernyataan kebijakan berikut memberikan contoh izin yang diperlukan untuk fitur yang berbeda dari Amazon EMR. Kami merekomendasikan Anda menggunakan izin ini untuk membuat kebijakan izin yang membatasi akses ke fitur dan sumber daya yang hanya diperlukan klaster Anda. Semua contoh pernyataan kebijakan menggunakan *us-west-2* Region dan ID AWS *123456789012* akun fiksi. Ganti ini agar sesuai untuk klaster Anda.

Untuk informasi selengkapnya tentang pembuatan dan penentuan peran kustom, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md).

**catatan**  
Jika Anda membuat peran EMR kustom untuk EC2, ikuti alur kerja basic, yang secara otomatis membuat profil instans dengan nama yang sama. Amazon EC2 mengizinkan Anda untuk membuat profil instans dan peran dengan nama yang berbeda, tetapi Amazon EMR tidak support konfigurasi ini, dan itu menghasilkan kesalahan "profil instans tidak valid" ketika Anda membuat klaster. 

### Membaca dan menulis data ke Amazon S3 menggunakan EMRFS
<a name="emr-ec2-role-EMRFS"></a>

Ketika aplikasi yang berjalan di data referensi klaster Amazon EMR menggunakan format `s3://mydata`, Amazon EMR menggunakan profil instans EC2 untuk membuat permintaan. Klaster biasanya membaca dan menulis data ke Amazon S3 dengan cara ini, dan Amazon EMR menggunakan izin yang terlampir pada peran layanan untuk instans EC2 klaster secara default. Untuk informasi selengkapnya, lihat [Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3](emr-emrfs-iam-roles.md).

Karena IAM role untuk EMRFS akan mundur ke izin yang terlampir pada peran layanan untuk instans EC2 klaster, sebagai praktik terbaik, kami rekomendasikan Anda menggunakan IAM role untuk EMRFS, dan membatasi izin EMRFS dan Amazon S3 yang terlampir pada peran layanan untuk instans EC2 klaster.

Sampel pernyataan di bawah ini menunjukkan izin yang diperlukan EMRFS untuk membuat permintaan ke Amazon S3.
+ *my-data-bucket-in-s3-for-emrfs-reads-and-writes*menentukan bucket di Amazon S3 tempat cluster membaca dan menulis data dan semua sub-folder yang digunakan. */\$1* Menambahkan hanya bucket dan folder yang dibutuhkan aplikasi Anda.
+ Pernyataan kebijakan yang mengizinkan `dynamodb` tindakan hanya diperlukan jika tampilan konsisten EMRFS diaktifkan. *EmrFSMetadata*menentukan folder default untuk tampilan konsisten EMRFS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:DeleteObject",
        "s3:GetBucketVersioning",
        "s3:GetObject",
        "s3:GetObjectTagging",
        "s3:GetObjectVersion",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts",
        "s3:PutBucketVersioning",
        "s3:PutObject",
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes",
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes/*"
      ],
      "Sid": "AllowS3Abortmultipartupload"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:CreateTable",
        "dynamodb:BatchGetItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PutItem",
        "dynamodb:DescribeTable",
        "dynamodb:DeleteItem",
        "dynamodb:GetItem",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteTable",
        "dynamodb:UpdateTable"
      ],
      "Resource": [
        "arn:aws:dynamodb:*:123456789012:table/EmrFSMetadata"
      ],
      "Sid": "AllowDYNAMODBCreatetable"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData",
        "dynamodb:ListTables",
        "s3:ListBucket"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHPutmetricdata"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sqs:GetQueueUrl",
        "sqs:ReceiveMessage",
        "sqs:DeleteQueue",
        "sqs:SendMessage",
        "sqs:CreateQueue"
      ],
      "Resource": [
        "arn:aws:sqs:*:123456789012:EMRFS-Inconsistency-*"
      ],
      "Sid": "AllowSQSGetqueueurl"
    }
  ]
}
```

------

### Mengarsipkan log file ke Amazon S3
<a name="emr-ec2-role-s3-logs"></a>

Pernyataan kebijakan berikut mengizinkan klaster Amazon EMR untuk log file arsip ke lokasi Amazon S3 yang ditentukan. Dalam contoh di bawah ini, ketika cluster *s3://MyLoggingBucket/MyEMRClusterLogs* dibuat, ditentukan menggunakan **lokasi folder Log S3** di konsol, menggunakan `--log-uri` opsi dari AWS CLI, atau menggunakan `LogUri` parameter dalam `RunJobFlow` perintah. Untuk informasi selengkapnya, lihat [Arsipkan berkas log ke Amazon S3](emr-plan-debugging.md#emr-plan-debugging-logs-archive).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::MyLoggingBucket/MyEMRClusterLogs/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

### Menggunakan Katalog Data AWS Glue
<a name="emr-ec2-role-glue"></a>

Pernyataan kebijakan berikut memungkinkan tindakan yang diperlukan jika Anda menggunakan Katalog Data AWS Glue sebagai metastore untuk aplikasi. *Untuk informasi selengkapnya, lihat [Menggunakan Katalog Data AWS Glue sebagai metastore untuk Spark SQL](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-glue.html), Menggunakan [Katalog Data AWS Glue sebagai metastore untuk Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html), dan Menggunakan [Presto dengan AWS Katalog Data Glue di](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-glue.html) Panduan Rilis Amazon EMR.*

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowGLUECreatedatabase"
    }
  ]
}
```

------

# Peran layanan untuk penskalaan otomatis di Amazon EMR (peran Auto Scaling)
<a name="emr-iam-role-automatic-scaling"></a>

Peran Auto Scaling untuk Amazon EMR menjalankan fungsi yang sama seperti peran layanan, tetapi memungkinkan tindakan tambahan untuk lingkungan penskalaan dinamis.
+ Nama peran default adalah `EMR_AutoScaling_DefaultRole`.
+ Kebijakan terkelola default yang terlampir pada `EMR_AutoScaling_DefaultRole` adalah `AmazonElasticMapReduceforAutoScalingRole`.

Isi dari versi 1 dari `AmazonElasticMapReduceforAutoScalingRole` ditunjukkan di bawah ini.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "cloudwatch:DescribeAlarms",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHDescribealarms"
    }
  ]
}
```

------

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [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)dan kunci kondisi [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)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/ApplicationAutoScalingEMRRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:application-autoscaling:*:123456789012:scalable-target/*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

# Peran layanan untuk EMR Notebooks
<a name="emr-managed-notebooks-service-role"></a>

Setiap notebook EMR memerlukan izin untuk mengakses AWS sumber daya lain dan melakukan tindakan. Kebijakan IAM yang dilampirkan pada peran layanan ini memberikan izin bagi notebook untuk berinteraksi dengan layanan lain. AWS Saat Anda membuat buku catatan menggunakan Konsol Manajemen AWS, Anda menentukan *peran AWS layanan*. Anda dapat menggunakan peran default, `EMR_Notebooks_DefaultRole`, atau tentukan peran yang Anda buat. Jika notebook belum dibuat sebelumnya, Anda dapat memilih untuk membuat peran default.
+ Nama peran default adalah `EMR_Notebooks_DefaultRole`.
+ Kebijakan terkelola default yang dilampirkan `EMR_Notebooks_DefaultRole` adalah `AmazonElasticMapReduceEditorsRole` dan`S3FullAccessPolicy`.

Peran layanan Anda harus menggunakan kebijakan kepercayaan berikut.

**penting**  
Kebijakan kepercayaan berikut mencakup [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)dan kunci kondisi [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)global, yang membatasi izin yang Anda berikan EMR Amazon ke sumber daya tertentu di akun Anda. Menggunakannya dapat melindungi Anda [dari masalah wakil yang membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

Isi dari versi 1 `AmazonElasticMapReduceEditorsRole` adalah sebagai berikut.

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

------

Berikut ini adalah isi dari`S3FullAccessPolicy`. `S3FullAccessPolicy`Ini memungkinkan peran layanan Anda untuk EMR Notebooks untuk melakukan semua tindakan Amazon S3 pada objek di Anda. Akun AWS Saat Anda membuat peran layanan kustom untuk EMR Notebooks, Anda harus memberikan izin Amazon S3 peran layanan Anda.

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

****  

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

------

Anda dapat mencatat akses baca dan tulis untuk peran layanan Anda ke lokasi Amazon S3 tempat Anda ingin menyimpan file notebook. Gunakan set minimum izin Amazon S3 berikut.

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

Jika bucket Amazon S3 Anda dienkripsi, Anda harus menyertakan izin berikut untuk. AWS Key Management Service

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

Saat Anda menautkan repositori Git ke buku catatan Anda dan perlu membuat rahasia untuk repositori, Anda harus menambahkan `secretsmanager:GetSecretValue` izin dalam kebijakan IAM yang dilampirkan ke peran layanan untuk notebook Amazon EMR. Kebijakan contoh ditunjukkan di bawah ini: 

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

****  

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

------

## Izin peran layanan EMR Notebooks
<a name="emr-managed-notebooks-service-role-permissions"></a>

Tabel ini mencantumkan tindakan yang dilakukan EMR Notebooks menggunakan peran layanan, bersama dengan izin yang diperlukan untuk setiap tindakan.


****  

| Tindakan | Izin | 
| --- | --- | 
| Buat saluran jaringan aman antara notebook dan kluster EMR Amazon, dan lakukan tindakan pembersihan yang diperlukan. |  <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>  | 
| Gunakan kredensyal Git yang disimpan AWS Secrets Manager untuk menautkan repositori Git ke buku catatan. |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| Terapkan AWS tag ke antarmuka jaringan dan grup keamanan default yang dibuat EMR Notebooks saat menyiapkan saluran jaringan aman. Untuk informasi lebih lanjut, lihat [Menandai sumber daya AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). |  <pre>"ec2:CreateTags"</pre>  | 
| Mengakses atau mengunggah file notebook dan metadata ke Amazon S3. |  <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre> Izin berikut hanya diperlukan jika Anda menggunakan bucket Amazon S3 terenkripsi. <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 

## EMR Notebooks memperbarui kebijakan terkelola AWS
<a name="notebooks-slr-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk EMR Notebooks sejak 1 Maret 2021.


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
| AmazonElasticMapReduceEditorsRole - Added permissions | EMR Notebooks `ec2:describeVPCs` ditambahkan `elastmicmapreduce:ListSteps` dan izin untuk. `AmazonElasticMapReduceEditorsRole`  | Februari 8, 2023  | 
| EMR Notebooks mulai melacak perubahan  |  EMR Notebooks mulai melacak perubahan untuk AWS kebijakan terkelolanya.  | Februari 8, 2023  | 

# Menggunakan peran terkait layanan untuk Amazon EMR
<a name="using-service-linked-roles"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

**Topics**
+ [Menggunakan peran terkait layanan untuk Amazon EMR untuk pembersihan](using-service-linked-roles-cleanup.md)
+ [Menggunakan peran terkait layanan dengan Amazon EMR untuk pencatatan tertulis](using-service-linked-roles-wal.md)

Untuk informasi tentang layanan lain yang mendukung peran terkait layanan, silakan lihat [layanan AWS yang bisa digunakan dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dan carilah layanan yang memiliki opsi **Ya** di kolom **Peran terkait layanan**. Pilih **Ya** dengan sebuah tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

# Menggunakan peran terkait layanan untuk Amazon EMR untuk pembersihan
<a name="using-service-linked-roles-cleanup"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

Peran terkait layanan bekerja sama dengan peran layanan EMR Amazon dan profil instans Amazon EC2 untuk Amazon EMR. Untuk informasi selengkapnya tentang peran layanan dan profil instans, lihat [Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya](emr-iam-roles.md).

Peran terkait layanan membuat pengaturan EMR Amazon lebih mudah karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Amazon EMR mendefinisikan izin peran terkait layanannya, dan kecuali ditentukan lain, hanya EMR Amazon yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan ini untuk Amazon EMR hanya setelah Anda menghapus sumber daya terkait dan menghentikan semua kluster EMR di akun. Ini melindungi sumber daya EMR Amazon Anda sehingga Anda tidak dapat secara tidak sengaja menghapus izin untuk mengakses sumber daya.

## Menggunakan peran terkait layanan untuk pembersihan
<a name="using-service-linked-roles-permissions-cleanup"></a>

Amazon EMR menggunakan peran berbasis layanan untuk memberikan izin EMR Amazon **AWSServiceRoleForEMRCleanup**untuk menghentikan dan menghapus sumber daya Amazon EC2 atas nama Anda jika peran terkait layanan Amazon EMR kehilangan kemampuan itu. Amazon EMR membuat peran terkait layanan secara otomatis selama pembuatan klaster jika belum ada.

Peran AWSService RoleFor EMRCleanup terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `elasticmapreduce.amazonaws.com`

Kebijakan izin peran AWSService RoleFor EMRCleanup tertaut layanan memungkinkan Amazon EMR menyelesaikan tindakan berikut pada sumber daya yang ditentukan:
+ Tindakan: `DescribeInstances` pada `ec2`
+ Tindakan: `DescribeLaunchTemplates` pada `ec2`
+ Tindakan: `DeleteLaunchTemplate` pada `ec2`
+ Tindakan: `DescribeSpotInstanceRequests` pada `ec2`
+ Tindakan: `ModifyInstanceAttribute` pada `ec2`
+ Tindakan: `TerminateInstances` pada `ec2`
+ Tindakan: `CancelSpotInstanceRequests` pada `ec2`
+ Tindakan: `DeleteNetworkInterface` pada `ec2`
+ Tindakan: `DescribeInstanceAttribute` pada `ec2`
+ Tindakan: `DescribeVolumeStatus` pada `ec2`
+ Tindakan: `DescribeVolumes` pada `ec2`
+ Tindakan: `DetachVolume` pada `ec2`
+ Tindakan: `DeleteVolume` pada `ec2`
+ Tindakan: `DescribePlacementGroups` pada `ec2`
+ Tindakan: `DeletePlacementGroup` pada `ec2`

Anda harus mengonfigurasikan izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, menyunting, atau menghapus peran tertaut layanan.

## Membuat peran tertaut layanan untuk Amazon EMR
<a name="create-service-linked-role"></a>

Anda tidak perlu membuat AWSService RoleFor EMRCleanup peran secara manual. Saat Anda meluncurkan klaster, baik untuk pertama kalinya atau saat peran AWSService RoleFor EMRCleanup terkait layanan tidak ada, Amazon EMR membuat peran terkait AWSService RoleFor EMRCleanup layanan untuk Anda. Anda harus memiliki izin untuk membuat peran terkait layanan. Untuk pernyataan contoh yang menambahkan kemampuan ini ke kebijakan izin entitas IAM (seperti pengguna, grup, atau peran): 

Tambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu membuat peran terkait layanan.

```
{
             "Sid": "ElasticMapReduceServiceLinkedRole",
             "Effect": "Allow",
             "Action": "iam:CreateServiceLinkedRole",
             "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
             "Condition": {
                 "StringEquals": {
                     "iam:AWSServiceName": [
                         "elasticmapreduce.amazonaws.com",
                         "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
                     ]
                 }
             }
 }
```

**penting**  
Jika Anda menggunakan Amazon EMR sebelum 24 Oktober 2017, ketika peran yang ditautkan layanan tidak didukung, maka Amazon EMR membuat peran yang ditautkan layanan di akun Anda. AWSService RoleFor EMRCleanup Untuk informasi lebih lanjut, lihat [Peran baru yang muncul di akun IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

## Menyunting peran tertaut layanan untuk Amazon EMR
<a name="edit-service-linked-role"></a>

Amazon EMR tidak memungkinkan Anda mengedit peran terkait AWSService RoleFor EMRCleanup layanan. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran terkait layanan karena berbagai entitas mungkin mereferensikan peran terkait layanan. Namun, Anda dapat mengedit deskripsi peran terkait layanan menggunakan IAM.

### Menyunting deskripsi peran terkait layanan (konsol IAM)
<a name="edit-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menyunting deskripsi peran terkait layanan.

**Untuk menyunting deskripsi peran terkait layanan (konsol IAM)**

1. Di panel navigasi konsol IAM, pilih **Peran**.

1. Memilih nama peran yang akan dimodifikasi.

1. Ke sebelah kanan **Deskripsi peran**memilih **Sunting**. 

1. Memasukkan Deskripsi baru di kotak, dan memilih **Simpan perubahan**.

### Mengedit Deskripsi peran tertaut layanan (IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk mengedit deskripsi peran terkait layanan.

**Untuk mengubah Deskripsi peran tertaut layanan (CLI)**

1. (Opsional) Untuk melihat Deskripsi peran saat ini, gunakan perintah-perintah berikut:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Gunakan nama peran, bukan ARN, untuk merujuk ke peran dengan perintah CLI. Misalnya, jika peran memiliki ARN berikut: `arn:aws:iam::123456789012:role/myrole`, referensi Anda ke peran sebagai **myrole**.

1. Untuk memperbarui Deskripsi peran tertaut layanan, gunakan perintah berikut:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Menyunting Deskripsi peran tertaut layanan (API IAM)
<a name="edit-service-linked-role-iam-api"></a>

Anda dapat menggunakan IAM API untuk menyunting deskripsi peran terkait layanan.

**Untuk mengubah deskripsi peran terkait layanan (API)**

1. (Opsional) Untuk melihat deskripsi peran saat ini, gunakan perintah berikut:

   API IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Untuk memperbarui deskripsi dari sebuah peran, gunakan perintah berikut: 

   API IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Menghapus peran tertaut layanan untuk Amazon EMR
<a name="delete-service-linked-role"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, sebaiknya hapus peran terkait layanan tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan dan tidak dipantau atau dipelihara secara aktif. Namun, Anda harus membersihkan peran tertaut layanan sebelum dapat menghapusnya.

### Membersihkan peran terkait layanan
<a name="service-linked-role-review-before-delete"></a>

Sebelum Anda dapat menggunakan IAM untuk menghapus peran terkait layanan, Anda harus terlebih dahulu mengonfirmasi bahwa peran terkait layanan tidak memiliki sesi aktif dan menghapus sumber daya apa pun yang digunakan oleh peran terkait layanan.

**Untuk memastikan peran terkait layanan memiliki sesi aktif di konsol IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih nama (bukan kotak centang) peran AWSService RoleFor EMRCleanup terkait layanan.

1. Pada halaman **Ringkasan** untuk peran terkait layanan yang dipilih, pilih **Access** Advisor.

1. Di tab **Penasihat Akses**, ‍tinjau aktivitas terbaru untuk peran tertaut layanan.
**catatan**  
Jika Anda tidak yakin apakah Amazon EMR menggunakan AWSService RoleFor EMRCleanup peran terkait layanan, Anda dapat mencoba menghapus peran terkait layanan. Jika layanan menggunakan peran terkait layanan, penghapusan gagal dan Anda dapat melihat Wilayah tempat peran terkait layanan digunakan. Jika peran terkait layanan sedang digunakan, Anda harus menunggu sesi berakhir sebelum Anda dapat menghapus peran terkait layanan. Anda tidak dapat mencabut sesi untuk peran terkait layanan. 

**Untuk menghapus sumber daya EMR Amazon yang digunakan oleh AWSService RoleFor EMRCleanup**
+ Akhiri semua grup di akun Anda. Untuk informasi selengkapnya, lihat [Mengakhiri klaster EMR Amazon di status awal, berjalan, atau menunggu](UsingEMR_TerminateJobFlow.md).

### Menghapus peran tertaut layanan (Konsol IAM)
<a name="delete-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menghapus sebuah peran terkait layanan.

**Untuk menghapus peran terkait layanan (konsol)**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih kotak centang di sebelah AWSService RoleForEMRCleanup, bukan nama atau baris itu sendiri. 

1. Untuk **Tindakan peran** di bagian atas halaman, pilih **Hapus peran**.

1. Di kotak dialog konfirmasi, tinjau data layanan yang terakhir diakses, yang menunjukkan kapan masing-masing peran yang dipilih terakhir mengakses AWS layanan. Ini membantu Anda mengonfirmasi aktif tidaknya peran tersebut saat ini. Untuk melanjutkan, pilih **Ya, Hapus**.

1. Perhatikan notifikasi konsol IAM untuk memantau kemajuan penghapusan peran terkait layanan. Karena penghapusan peran tertaut layanan IAM bersifat asinkron, setelah Anda mengirimkan peran terkait layanan untuk penghapusan, tugas penghapusan dapat berhasil atau gagal. Jika tugas tersebut gagal, Anda dapat memilih **Lihat detail** atau **Lihat Sumber Daya** dari notifikasi untuk mempelajari alasan penghapusan gagal. Jika penghapusan gagal karena ada sumber daya di layanan yang digunakan oleh peran tersebut, maka alasan kegagalan tersebut mencakup daftar sumber daya.

### Menghapus peran tertaut layanan (IAM CLI)
<a name="delete-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk menghapus peran terkait layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran tertaut layanan (CLI)**

1. Untuk memeriksa status tugas penghapusan, Anda harus menangkap `deletion-task-id` dari tanggapan. Ketik perintah berikut dan kirim permintaan penghapusan peran tertaut layanan:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRCleanup
   ```

1. Ketik perintah berikut untuk memeriksa status tugas penghapusan:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   Status tugas penghapusan adalah `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

### Menghapus peran terkait layanan (IAM API)
<a name="delete-service-linked-role-iam-api"></a>

Anda dapat menggunakan API IAM untuk menghapus peran tertaut layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran terkait layanan (API)**

1. Untuk mengirimkan permintaan penghapusan peran terkait layanan, hubungi. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) Dalam permintaan, tentukan nama AWSService RoleFor EMRCleanup peran.

   Untuk memeriksa status tugas penghapusan, Anda harus menangkap `DeletionTaskId` dari tanggapan.

1. Untuk memeriksa status penghapusan, panggil [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). Di permintaan tersebut, tentukan `DeletionTaskId`.

   Status tugas penghapusan dapat berupa `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

## Wilayah yang Didukung untuk AWSService RoleFor EMRCleanup
<a name="emr-slr-regions"></a>

Amazon EMR mendukung penggunaan peran AWSService RoleFor EMRCleanup terkait layanan di Wilayah berikut.


****  

| Nama wilayah | Identitas wilayah | Support di Amazon EMR | 
| --- | --- | --- | 
| US East (N. Virginia) | us-east-1 | Ya | 
| US East (Ohio) | us-east-2 | Ya | 
| US West (N. California) | us-west-1 | Ya | 
| US West (Oregon) | us-west-2 | Ya | 
| Asia Pacific (Mumbai) | ap-south-1 | Ya | 
| Asia Pacific (Osaka) | ap-northeast-3 | Ya | 
| Asia Pacific (Seoul) | ap-northeast-2 | Ya | 
| Asia Pacific (Singapore) | ap-southeast-1 | Ya | 
| Asia Pacific (Sydney) | ap-southeast-2 | Ya | 
| Asia Pacific (Tokyo) | ap-northeast-1 | Ya | 
| Canada (Central) | ca-sentral-1 | Ya | 
| Eropa (Frankfurt) | eu-central-1 | Ya | 
| Eropa (Irlandia) | eu-west-1 | Ya | 
| Eropa (London) | eu-west-2 | Ya | 
| Europe (Paris) | eu-west-3 | Ya | 
| South America (São Paulo) | sa-east-1 | Ya | 

# Menggunakan peran terkait layanan dengan Amazon EMR untuk pencatatan tertulis
<a name="using-service-linked-roles-wal"></a>

[Amazon EMR menggunakan peran terkait layanan AWS Identity and Access Management (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran tertaut layanan adalah tipe IAM role unik yang ditautkan langsung ke Amazon EMR. Peran terkait layanan telah ditentukan sebelumnya oleh Amazon EMR dan mencakup semua izin yang diperlukan layanan untuk memanggil layanan lain atas nama Anda. AWS 

Peran terkait layanan bekerja sama dengan peran layanan EMR Amazon dan profil instans Amazon EC2 untuk Amazon EMR. Untuk informasi selengkapnya tentang peran layanan dan profil instans, lihat [Konfigurasikan peran layanan IAM untuk izin AWS EMR Amazon ke layanan dan sumber daya](emr-iam-roles.md).

Peran terkait layanan membuat pengaturan EMR Amazon lebih mudah karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Amazon EMR mendefinisikan izin peran terkait layanannya, dan kecuali ditentukan lain, hanya EMR Amazon yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan ini untuk Amazon EMR hanya setelah Anda menghapus sumber daya terkait dan menghentikan semua kluster EMR di akun. Ini melindungi sumber daya EMR Amazon Anda sehingga Anda tidak dapat secara tidak sengaja menghapus izin untuk mengakses sumber daya.

## Izin peran terkait layanan untuk logging penulisan ke depan (WAL)
<a name="using-service-linked-roles-permissions-wal"></a>

Amazon EMR menggunakan peran terkait layanan **AWSServiceRoleForEMRWAL** untuk mengambil status klaster. 

Peran terkait layanan AWSService RoleFor EMRWAL mempercayai layanan berikut untuk mengambil peran:
+ `emrwal.amazonaws.com`

Kebijakan [`EMRDescribeClusterPolicyForEMRWAL`](EMRDescribeClusterPolicyForEMRWAL.md)izin untuk peran terkait layanan memungkinkan Amazon EMR menyelesaikan tindakan berikut pada sumber daya yang ditentukan:
+ Tindakan: `DescribeCluster` pada `*`

Anda harus mengonfigurasi izin untuk mengizinkan entitas IAM (dalam hal ini, Amazon EMR WAL) untuk membuat, mengedit, atau menghapus peran terkait layanan. Tambahkan pernyataan berikut sesuai kebutuhan ke kebijakan izin untuk profil instans Anda:

## CreateServiceLinkedRole
<a name="iam-create-wal"></a>

**Untuk memungkinkan entitas IAM membuat peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu membuat peran tertaut layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## UpdateRoleDescription
<a name="iam-update-wal"></a>

**Untuk mengizinkan entitas IAM mengedit deskripsi peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu mengedit Deskripsi peran tertaut layanan.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## DeleteServiceLinkedRole
<a name="iam-delete-wal"></a>

**Untuk mengizinkan entitas IAM menghapus peran terkait layanan AWSService RoleFor EMRWAL**

Menambahkan pernyataan berikut ke kebijakan izin untuk entitas IAM yang perlu menghapus peran tertaut layanan:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## Membuat peran tertaut layanan untuk Amazon EMR
<a name="create-service-linked-role-wal"></a>

Anda tidak perlu membuat peran AWSService RoleFor EMRWAL secara manual. Amazon EMR membuat peran terkait layanan ini secara otomatis saat Anda membuat ruang kerja WAL dengan EMRWAL CLI atau dari AWS CloudFormation, atau HBase akan membuat peran terkait layanan saat Anda mengonfigurasi ruang kerja untuk Amazon EMR WAL dan peran terkait layanan belum ada. Anda harus memiliki izin untuk membuat peran terkait layanan. Misalnya pernyataan yang menambahkan kemampuan ini ke kebijakan izin entitas IAM (seperti pengguna, grup, atau peran), lihat bagian sebelumnya,. [Izin peran terkait layanan untuk logging penulisan ke depan (WAL)](#using-service-linked-roles-permissions-wal)

## Menyunting peran tertaut layanan untuk Amazon EMR
<a name="edit-service-linked-role-wal"></a>

Amazon EMR tidak memungkinkan Anda mengedit peran terkait layanan AWSService RoleFor EMRWAL. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran terkait layanan karena berbagai entitas mungkin mereferensikan peran terkait layanan. Namun, Anda dapat mengedit deskripsi peran terkait layanan menggunakan IAM.

### Menyunting deskripsi peran terkait layanan (konsol IAM)
<a name="edit-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menyunting deskripsi peran terkait layanan.

**Untuk menyunting deskripsi peran terkait layanan (konsol IAM)**

1. Di panel navigasi konsol IAM, pilih **Peran**.

1. Memilih nama peran yang akan dimodifikasi.

1. Ke sebelah kanan **Deskripsi peran**memilih **Sunting**. 

1. Memasukkan Deskripsi baru di kotak, dan memilih **Simpan perubahan**.

### Mengedit Deskripsi peran tertaut layanan (IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk mengedit deskripsi peran terkait layanan.

**Untuk mengubah Deskripsi peran tertaut layanan (CLI)**

1. (Opsional) Untuk melihat Deskripsi peran saat ini, gunakan perintah-perintah berikut:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Gunakan nama peran, bukan ARN, untuk merujuk ke peran dengan perintah CLI. Misalnya, jika peran memiliki ARN berikut: `arn:aws:iam::123456789012:role/myrole`, referensi Anda ke peran sebagai **myrole**.

1. Untuk memperbarui Deskripsi peran tertaut layanan, gunakan perintah berikut:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Menyunting Deskripsi peran tertaut layanan (API IAM)
<a name="edit-service-linked-role-iam-api"></a>

Anda dapat menggunakan IAM API untuk menyunting deskripsi peran terkait layanan.

**Untuk mengubah deskripsi peran terkait layanan (API)**

1. (Opsional) Untuk melihat deskripsi peran saat ini, gunakan perintah berikut:

   API IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Untuk memperbarui deskripsi dari sebuah peran, gunakan perintah berikut: 

   API IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Menghapus peran tertaut layanan untuk Amazon EMR
<a name="delete-service-linked-role-wal"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, sebaiknya hapus peran terkait layanan tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan dan tidak dipantau atau dipelihara secara aktif. Namun, Anda harus membersihkan peran terkait layanan sebelum dapat menghapusnya.

**catatan**  
Operasi logging write-ahead tidak terpengaruh jika Anda menghapus peran AWSService RoleFor EMRWAL, tetapi Amazon EMR tidak akan otomatis menghapus log yang dibuatnya setelah kluster EMR Anda berakhir. Oleh karena itu, Anda harus menghapus log Amazon EMR WAL secara manual jika Anda menghapus peran terkait layanan.

### Membersihkan peran terkait layanan
<a name="service-linked-role-review-before-delete"></a>

Sebelum dapat menggunakan IAM untuk menghapus peran tertaut layanan, Anda harus mengonfirmasi terlebih dahulu bahwa peran tersebut tidak memiliki sesi aktif dan menghapus sumber daya yang digunakan oleh peran tersebut.

**Untuk memeriksa apakah peran terkait layanan memiliki sesi aktif di konsol IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih nama (bukan kotak centang) dari peran AWSService RoleFor EMRWAL.

1. Di halaman **Ringkasan** untuk peran yang dipilihmemilih **Penasihat Akses**.

1. Di tab **Penasihat Akses**, tinjau aktivitas terbaru untuk peran tertaut layanan.
**catatan**  
Jika Anda tidak yakin apakah Amazon EMR menggunakan AWSService RoleFor peran EMRWAL, Anda dapat mencoba menghapus peran terkait layanan. Jika layanan menggunakan peran, penghapusan gagal dan Anda dapat melihat Wilayah tempat peran terkait layanan digunakan. Jika peran terkait layanan sedang digunakan, Anda harus menunggu sesi berakhir sebelum Anda dapat menghapus peran terkait layanan. Anda tidak dapat mencabut sesi untuk peran terkait layanan. 

**Untuk menghapus sumber daya EMR Amazon yang digunakan oleh EMRWAL AWSService RoleFor**
+ Akhiri semua grup di akun Anda. Untuk informasi selengkapnya, lihat [Mengakhiri klaster EMR Amazon di status awal, berjalan, atau menunggu](UsingEMR_TerminateJobFlow.md).

### Menghapus peran tertaut layanan (Konsol IAM)
<a name="delete-service-linked-role-iam-console"></a>

Anda dapat menggunakan konsol IAM untuk menghapus sebuah peran terkait layanan.

**Untuk menghapus peran terkait layanan (konsol)**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pilih kotak centang di sebelah AWSService RoleFor EMRWAL, bukan nama atau baris itu sendiri. 

1. Untuk **Tindakan peran** di bagian atas halaman, pilih **Hapus peran**.

1. Di kotak dialog konfirmasi, tinjau data layanan yang terakhir diakses, yang menunjukkan kapan masing-masing peran yang dipilih terakhir mengakses AWS layanan. Ini membantu Anda mengonfirmasi aktif tidaknya peran tersebut saat ini. Untuk melanjutkan, pilih **Ya, Hapus**.

1. Perhatikan notifikasi konsol IAM untuk memantau kemajuan penghapusan peran tertaut layanan. Karena penghapusan peran terkait layanan IAM bersifat asinkron, setelah Anda mengirimkan peran tersebut untuk penghapusan, tugas penghapusan dapat berhasil atau gagal. Jika tugas tersebut gagal, Anda dapat memilih **Lihat detail** atau **Lihat Sumber Daya** dari notifikasi untuk mempelajari alasan penghapusan gagal. Jika penghapusan gagal karena ada sumber daya di layanan yang digunakan oleh peran tersebut, maka alasan kegagalan tersebut mencakup daftar sumber daya.

### Menghapus peran tertaut layanan (IAM CLI)
<a name="delete-service-linked-role-iam-cli"></a>

Anda dapat menggunakan perintah IAM dari AWS Command Line Interface untuk menghapus peran terkait layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran tertaut layanan (CLI)**

1. Untuk memeriksa status tugas penghapusan, Anda harus menangkap `deletion-task-id` dari tanggapan. Ketik perintah berikut dan kirim permintaan penghapusan peran tertaut layanan:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRWAL
   ```

1. Ketik perintah berikut untuk memeriksa status tugas penghapusan:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   Status tugas penghapusan adalah `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

### Menghapus peran terkait layanan (IAM API)
<a name="delete-service-linked-role-iam-api"></a>

Anda dapat menggunakan API IAM untuk menghapus peran tertaut layanan. Karena peran tertaut layanan tidak dapat dihapus jika sedang digunakan atau memiliki sumber daya terkait, Anda harus kirim permintaan penghapusan. Permintaan tersebut dapat ditolak jika syarat ini tidak terpenuhi. 

**Untuk menghapus peran terkait layanan (API)**

1. Untuk mengirimkan permintaan penghapusan peran terkait layanan, hubungi. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) Dalam permintaan, tentukan nama peran AWSService RoleFor EMRWAL.

   Untuk memeriksa status tugas penghapusan, Anda harus menangkap `DeletionTaskId` dari tanggapan.

1. Untuk memeriksa status penghapusan, panggil [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). Di permintaan tersebut, tentukan `DeletionTaskId`.

   Status tugas penghapusan dapat berupa `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, atau `FAILED`. Jika penghapusan gagal, panggilan akan mengembalikan alasan kegagalan panggilan agar Anda dapat memecahkan masalah.

## Wilayah yang Didukung untuk AWSService RoleFor EMRWAL
<a name="emr-slr-regions-wal"></a>

Amazon EMR mendukung penggunaan peran terkait layanan AWSService RoleFor EMRWAL di Wilayah berikut.


****  

| Nama wilayah | Identitas wilayah | Support di Amazon EMR | 
| --- | --- | --- | 
| US East (N. Virginia) | us-east-1 | Ya | 
| US East (Ohio) | us-east-2 | Ya | 
| US West (N. California) | us-west-1 | Ya | 
| US West (Oregon) | us-west-2 | Ya | 
| Asia Pacific (Mumbai) | ap-south-1 | Ya | 
| Asia Pacific (Singapore) | ap-southeast-1 | Ya | 
| Asia Pacific (Sydney) | ap-southeast-2 | Ya | 
| Asia Pacific (Tokyo) | ap-northeast-1 | Ya | 
| Eropa (Frankfurt) | eu-central-1 | Ya | 
| Eropa (Irlandia) | eu-west-1 | Ya | 

# Sesuaikan peran IAM dengan Amazon EMR
<a name="emr-iam-roles-custom"></a>

Anda mungkin ingin menyesuaikan peran layanan IAM dan izin untuk membatasi hak sesuai dengan persyaratan keamanan Anda. Untuk menyesuaikan izin, kami merekomendasikan Anda membuat peran dan kebijakan baru. Mulai dengan izin di kebijakan terkelola untuk peran default (misalnya, `AmazonElasticMapReduceforEC2Role` dan `AmazonElasticMapReduceRole`). Kemudian, salin dan tempel konten untuk pernyataan kebijakan baru, modifikasi izin yang sesuai, dan melampirkan kebijakan izin yang sudah diubah untuk peran yang Anda buat. Anda harus memiliki izin IAM yang sesuai untuk bekerja dengan peran dan kebijakan. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md).

Jika Anda membuat peran EMR kustom untuk EC2, ikuti alur kerja basic, yang secara otomatis membuat profil instans dengan nama yang sama. Amazon EC2 mengizinkan Anda untuk membuat profil instans dan peran dengan nama yang berbeda, tetapi Amazon EMR tidak support konfigurasi ini, dan itu menghasilkan kesalahan "profil instans tidak valid" ketika Anda membuat klaster. 

**penting**  
Kebijakan inline tidak diperbarui secara otomatis ketika persyaratan layanan berubah. Jika Anda membuat dan melampirkan kebijakan inline, perhatikan bahwa pembaruan layanan mungkin terjadi yang tiba-tiba menyebabkan kesalahan izin. Untuk informasi lebih lanjut tentang, [Kebijakan Terkelola dan Kebijakan Inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_managed-vs-inline.html) di *Panduan Pengguna IAM* dan [Menentukan IAM role kustom ketika Anda membuat sebuah klaster](#emr-iam-roles-launch-jobflow).

Untuk informasi selengkapnya tentang IAM role, lihat topik berikut di bagian *Panduan Pengguna IAM*:
+  [Membuat peran untuk mendelegasikan izin ke layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 
+  [Memodifikasi peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/modifying-role.html) 
+  [Menghapus peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/deleting-roles.html) 

## Menentukan IAM role kustom ketika Anda membuat sebuah klaster
<a name="emr-iam-roles-launch-jobflow"></a>

Anda menentukan peran layanan untuk Amazon EMR dan peran untuk profil instans Amazon EC2 ketika Anda membuat sebuah klaster. Pengguna yang menciptakan klaster membutuhkan izin untuk mengambil dan menetapkan peran Amazon EMR dan instans EC2. Jika tidak, **akun tidak diizinkan untuk memanggil kesalahan EC2** terjadi. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran](emr-iam-roles-create-permissions.md).

### Gunakan konsol untuk menentukan peran kustom
<a name="emr-iam-roles-launch-console"></a>

Ketika Anda membuat sebuah klaster, Anda dapat menentukan peran layanan kustom untuk Amazon EMR, peran kustom untuk profil instans EC2, dan peran Auto Scaling kustom menggunakan **Opsi lanjutan**. Saat Anda menggunakan **Opsi cepat**, peran layanan default dan peran default untuk profil instans EC2 ditentukan. Untuk informasi selengkapnya, lihat [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md).

------
#### [ Console ]

**Untuk menentukan peran IAM kustom dengan konsol**

Saat membuat klaster dengan konsol, Anda harus menentukan peran layanan khusus untuk Amazon EMR dan peran khusus untuk profil instans EC2. Untuk informasi selengkapnya, lihat [Peran layanan IAM yang digunakan oleh Amazon EMR](emr-iam-service-roles.md).

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. **Di bawah **EMR pada EC2** di panel navigasi kiri, pilih Clusters, lalu pilih **Create cluster**.**

1. Di bawah **Konfigurasi dan izin keamanan**, temukan **peran IAM untuk profil instans** dan **peran Layanan untuk bidang EMR Amazon**. Untuk setiap tipe peran, Anda memilih peran dari daftar. Hanya peran di akun Anda yang memiliki kebijakan kepercayaan yang sesuai untuk tipe peran yang tercantum.

1. Pilih opsi lain yang berlaku untuk cluster Anda. 

1. Untuk meluncurkan klaster Anda, pilih **Buat klaster**.

------

### Gunakan AWS CLI untuk menentukan peran kustom
<a name="emr-iam-roles-launch-cli"></a>

Anda dapat menentukan peran layanan untuk Amazon EMR dan peran layanan untuk instance EC2 cluster secara eksplisit menggunakan opsi dengan perintah dari. `create-cluster` AWS CLI Gunakan opsi `--service-role` untuk menentukan peran layanan. Gunakan argumen `InstanceProfile` dari opsi `--ec2-attributes` untuk menentukan peran untuk profil instans EC2.

Peran Auto Scaling ditentukan menggunakan opsi terpisah, `--auto-scaling-role`. Untuk informasi selengkapnya, lihat [Menggunakan penskalaan otomatis dengan kebijakan khusus untuk grup instans di Amazon EMR](emr-automatic-scaling.md).

**Untuk menentukan peran IAM kustom menggunakan AWS CLI**
+ Perintah berikut menentukan peran layanan kustom*MyCustomServiceRoleForEMR*, dan peran kustom untuk profil instans EC2*MyCustomServiceRoleForClusterEC2Instances*, saat meluncurkan cluster. Contoh ini menggunakan peran Amazon EMR default.
**catatan**  
Karakter lanjutan baris Linux (\$1) disertakan untuk dibaca. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan caret (^).

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \
  --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\
  KeyName=myKey --instance-type m5.xlarge --instance-count 3
  ```

Anda dapat menggunakan opsi ini untuk menentukan peran default secara eksplisit alih-alih menggunakan opsi `--use-default-roles`. Opsi `--use-default-roles` menentukan peran layanan dan peran untuk profil instans EC2 didefinisikan di file `config` untuk AWS CLI.

Contoh berikut menunjukkan isi `config` file untuk menentukan peran kustom untuk Amazon EMR. AWS CLI Dengan file konfigurasi ini, ketika `--use-default-roles` opsi ditentukan, cluster dibuat menggunakan *MyCustomServiceRoleForEMR* dan*MyCustomServiceRoleForClusterEC2Instances*. Secara default, file `config` menentukan default `service_role` sebagai `AmazonElasticMapReduceRole` dan `instance_profile` default sebagai `EMR_EC2_DefaultRole`.

```
[default]
output = json
region = us-west-1
aws_access_key_id = myAccessKeyID
aws_secret_access_key = mySecretAccessKey
emr =
     service_role = MyCustomServiceRoleForEMR
     instance_profile = MyCustomServiceRoleForClusterEC2Instances
```

# Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3
<a name="emr-emrfs-iam-roles"></a>

**catatan**  
Kemampuan pemetaan peran EMRFS yang dijelaskan di halaman ini telah ditingkatkan dengan diperkenalkannya Hibah Akses Amazon S3 di Amazon EMR 6.15.0. Untuk solusi kontrol akses yang dapat diskalakan untuk data Anda di Amazon S3, sebaiknya [gunakan Hibah Akses S3 dengan](emr-access-grants.md) Amazon EMR.

Ketika aplikasi yang berjalan pada data referensi cluster menggunakan `s3://mydata` format, Amazon EMR menggunakan EMRFS untuk membuat permintaan. [Untuk berinteraksi dengan Amazon S3, EMRFS mengasumsikan kebijakan izin yang dilampirkan ke profil instans Amazon EC2 Anda.](emr-iam-role-for-ec2.md) Profil instans Amazon EC2 yang sama digunakan terlepas dari pengguna atau grup yang menjalankan aplikasi atau lokasi data di Amazon S3. 

Jika Anda memiliki klaster dengan beberapa pengguna yang memerlukan tingkat akses data yang berbeda di Amazon S3 melalui EMRFS, Anda dapat mengatur konfigurasi keamanan dengan peran IAM untuk EMRFS. EMRFS dapat mengambil peran layanan yang berbeda untuk instans EC2 klaster berdasarkan pengguna atau grup yang membuat permintaan, atau berdasarkan lokasi data di Amazon S3. Setiap IAM role untuk EMRFS dapat memiliki izin yang berbeda untuk akses data di Amazon S3. Untuk informasi selengkapnya tentang peran layanan untuk instans EC2 cluster, lihat. [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md)

Menggunakan peran IAM khusus untuk EMRFS didukung di Amazon EMR versi 5.10.0 dan yang lebih baru. Jika Anda menggunakan versi yang lebih lama atau memiliki persyaratan di luar peran IAM untuk EMRFS yang disediakan, Anda dapat membuat penyedia kredensyal kustom sebagai gantinya. Untuk informasi selengkapnya, lihat [Mengotorisasi akses ke data EMRFS di Amazon S3](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-plan-credentialsprovider). 

Ketika Anda menggunakan konfigurasi keamanan untuk menentukan IAM role untuk EMRFS, Anda mengatur pemetaan peran. Setiap pemetaan peran menentukan IAM role yang sesuai dengan pengidentifikasi. Pengidentifikasi ini menentukan dasar untuk akses ke Amazon S3 melalui EMRFS. Pengidentifikasi dapat berupa pengguna, grup, atau prefiks Amazon S3 yang menunjukkan lokasi data. Ketika EMRFS membuat permintaan untuk Amazon S3, jika permintaan cocok dengan dasar untuk akses, EMRFS memiliki instans EC2 klaster menganggap IAM role sesuai untuk permintaan. Izin IAM yang terlampir pada peran yang berlaku bukan izin IAM yang terlampir pada peran layanan untuk instans EC2 klaster.

Para pengguna dan grup di pemetaan peran adalah pengguna Hadoop dan grup yang didefinisikan pada klaster. Pengguna dan grup dilewatkan ke EMRFS di konteks aplikasi yang menggunakannya (misalnya, peniruan pengguna YARN). Prefiks Amazon S3 bisa menjadi penspesifikasi bucket dari kedalaman apapun (misalnya, `s3://amzn-s3-demo-bucket` atau `s3://amzn-s3-demo-bucket/myproject/mydata`). Anda dapat menentukan beberapa pengidentifikasi di pemetaan peran tunggal, tetapi mereka semua harus dari tipe yang sama.

**penting**  
IAM role untuk EMRFS menyediakan isolasi tingkat aplikasi antara pengguna aplikasi. Ini tidak menyediakan isolasi tingkat host antara pengguna pada host. Setiap pengguna dengan akses ke klaster dapat melewati isolasi untuk mengambil salah satu peran.

Ketika aplikasi klaster membuat permintaan untuk Amazon S3 melalui EMRFS, EMRFS mengevaluasi pemetaan peran di urutan top-down yang mereka muncul di konfigurasi keamanan. Jika permintaan yang dibuat melalui EMRFS tidak cocok dengan pengidentifikasi apapun, EMRFS akan kembali menggunakan peran layanan untuk instans EC2 klaster. Untuk alasan ini, kami merekomendasikan bahwa kebijakan yang terlampir pada peran ini membatasi izin untuk Amazon S3. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).

## Konfigurasi peran
<a name="emr-emrfs-iam-roles-role-configuration"></a>

Sebelum Anda mengatur konfigurasi keamanan dengan IAM role untuk EMRFS, rencanakan dan buat kebijakan peran dan izin untuk dilampirkan ke peran. Untuk informasi selengkapnya, lihat [Cara kerja peran untuk instans EC2?](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) di *Panduan Pengguna IAM*. Saat membuat kebijakan izin, sebaiknya Anda memulai dengan kebijakan terkelola yang dilampirkan ke peran EMR Amazon default untuk EC2, lalu mengedit kebijakan ini sesuai dengan kebutuhan Anda. Nama peran default adalah `EMR_EC2_DefaultRole`, dan kebijakan terkelola default untuk mengedit adalah `AmazonElasticMapReduceforEC2Role`. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 klaster (profil instans EC2)](emr-iam-role-for-ec2.md).

### Memperbarui kebijakan kepercayaan untuk mengambil izin peran
<a name="emr-emrfs-iam-role-trust-policy"></a>

Setiap peran yang digunakan EMRFS harus memiliki kebijakan kepercayaan yang memungkinkan peran Amazon EMR klaster untuk EC2 untuk mengambilnya. Demikian pula, peran Amazon EMR cluster untuk EC2 harus memiliki kebijakan kepercayaan yang memungkinkan peran EMRFS untuk mengambilnya.

Kebijakan contoh kepercayaan berikut dilampirkan ke peran untuk EMRFS. Pernyataan tersebut memungkinkan peran EMR Amazon default untuk EC2 untuk mengambil peran tersebut. Misalnya, jika Anda memiliki dua peran EMRFS fiktif, `EMRFSRole_First` dan `EMRFSRole_Second`, pernyataan kebijakan ini ditambahkan ke setiap kebijakan kepercayaan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole",
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

Selain itu, contoh pernyataan kebijakan kepercayaan ditambahkan ke `EMR_EC2_DefaultRole` untuk mengizinkan dua peran EMRFS fiktif untuk mengambilnya.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/EMRFSRole_First",
        "arn:aws:iam::123456789012:role/EMRFSRole_Second"
      ],
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

**Untuk memperbarui kebijakan kepercayaan IAM role**

Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Memilih **Peran**, memasukkan nama peran di **Cari**, dan lalu pilih **Nama peran**.

1. Memilih **Hubungan kepercayaan**, **Sunting hubungan kepercayaan**.

1. Tambahkan pernyataan kepercayaan sesuai dengan **dokumen Kebijakan** sesuai dengan pedoman di atas, lalu pilih **Perbarui kebijakan kepercayaan**.

### Menentukan peran sebagai pengguna kunci
<a name="emr-emrfs-iam-role-key-user"></a>

Jika peran memungkinkan akses ke lokasi di Amazon S3 yang dienkripsi menggunakan AWS KMS key, pastikan peran tersebut ditentukan sebagai pengguna kunci. Ini memberikan izin peran untuk menggunakan kunci KMS. Untuk informasi selengkapnya, lihat [Kebijakan kunci di AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) di *Panduan Developer AWS Key Management Service *.

## Mengatur konfigurasi keamanan dengan IAM role untuk EMRFS
<a name="emr-emrfs-iam-roles-setup"></a>

**penting**  
Jika tidak ada peran IAM untuk EMRFS yang Anda tentukan berlaku, EMRFS kembali ke peran EMR Amazon untuk EC2. Pertimbangkan untuk menyesuaikan peran ini untuk membatasi izin ke Amazon S3 yang sesuai untuk aplikasi Anda dan kemudian menentukan peran kustom ini alih-alih `EMR_EC2_DefaultRole` saat Anda membuat klaster. Untuk informasi lebih lanjut, lihat [Sesuaikan peran IAM dengan Amazon EMR](emr-iam-roles-custom.md) dan [Menentukan IAM role kustom ketika Anda membuat sebuah klaster](emr-iam-roles-custom.md#emr-iam-roles-launch-jobflow).

**Untuk menentukan IAM role untuk permintaan EMRFS ke Amazon S3 menggunakan konsol**

1. Membuat konfigurasi keamanan yang menentukan pemetaan peran:

   1. Di konsol Amazon EMR memilih **Konfigurasi keamanan**, **Buat**.

   1. Ketik **Nama** untuk konfigurasi keamanan. Anda menggunakan nama ini untuk menentukan konfigurasi keamanan ketika Anda membuat sebuah klaster.

   1. Memilih **Gunakan IAM role untuk permintaan EMRFS ke Amazon S3**.

   1. Pilih **IAM role** untuk meminta, dan di bawah **Dasar untuk mengakses** memilih tipe pengidentifikasi (**Pengguna**, **Grup**, atau **prefiks S3**) dari daftar dan memasukkan pengidentifikasi yang sesuai. Jika Anda menggunakan beberapa pengidentifikasi, pisahkan dengan koma dan jangan ada spasi. Untuk informasi lebih lanjut tentang setiap tipe pengidentifikasi, lihat [JSON configuration reference](#emrfs-seccfg-json) berikut ini.

   1. Memilih **Menambah peran** untuk mengatur pemetaan peran tambahan seperti yang dijelaskan di langkah sebelumnya.

   1. Mengatur opsi konfigurasi keamanan lain yang sesuai dan memilih **Buat**. Untuk informasi selengkapnya, lihat [Buat konfigurasi keamanan dengan konsol EMR Amazon atau dengan AWS CLI](emr-create-security-configuration.md).

1. Tentukan konfigurasi keamanan yang Anda buat di atas saat Anda membuat sebuah klaster. Untuk informasi selengkapnya, lihat [Menentukan konfigurasi keamanan untuk klaster EMR Amazon](emr-specify-security-configuration.md).

**Untuk menentukan peran IAM untuk permintaan EMRFS ke Amazon S3 menggunakan AWS CLI**

1. Penggunaan perintah `aws emr create-security-configuration`, menentukan nama untuk konfigurasi keamanan, dan detail konfigurasi keamanan dalam format JSON.

   Contoh perintah yang ditunjukkan di bawah ini menciptakan konfigurasi keamanan dengan nama `EMRFS_Roles_Security_Configuration`. Hal ini didasarkan pada struktur JSON di file `MyEmrfsSecConfig.json`, yang disimpan di direktori yang sama dimana perintah dijalankan.

   ```
   aws emr create-security-configuration --name EMRFS_Roles_Security_Configuration --security-configuration file://MyEmrFsSecConfig.json.
   ```

   Gunakan pedoman berikut untuk struktur file `MyEmrFsSecConfig.json`. Anda dapat menentukan struktur ini bersama dengan struktur untuk opsi konfigurasi keamanan lainnya. Untuk informasi selengkapnya, lihat [Buat konfigurasi keamanan dengan konsol EMR Amazon atau dengan AWS CLI](emr-create-security-configuration.md).

   Berikut ini adalah contoh potongan JSON untuk menentukan IAM role kustom untuk EMRFS di konfigurasi keamanan. Ini menunjukkan pemetaan peran untuk tiga tipe pengidentifikasi yang berbeda, diikuti dengan referensi parameter. 

   ```
   {
     "AuthorizationConfiguration": {
       "EmrFsConfiguration": {
         "RoleMappings": [{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1",
           "IdentifierType": "User",
           "Identifiers": [ "user1" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_demo_s3_buckets",
           "IdentifierType": "Prefix",
           "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup",
           "IdentifierType": "Group",
           "Identifiers": [ "AdminGroup" ]
         }]
       }
     }
   }
   ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html)

1. Menggunakan perintah `aws emr create-cluster` untuk membuat sebuah klaster dan menentukan konfigurasi keamanan yang Anda buat di langkah sebelumnya. 

   Contoh berikut membuat klaster dengan memasang aplikasi Hadoop inti default. Cluster menggunakan konfigurasi keamanan yang dibuat di atas sebagai `EMRFS_Roles_Security_Configuration` dan juga menggunakan peran EMR Amazon khusus untuk EC2`EC2_Role_EMR_Restrict_S3`, yang ditentukan menggunakan `InstanceProfile` argumen parameter. `--ec2-attributes`
**catatan**  
Karakter lanjutan baris Linux (\$1) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

   ```
   aws emr create-cluster --name MyEmrFsS3RolesCluster \
   --release-label emr-7.12.0 --ec2-attributes InstanceProfile=EC2_Role_EMR_Restrict_S3,KeyName=MyKey \
   --instance-type m5.xlarge --instance-count 3 \
   --security-configuration EMRFS_Roles_Security_Configuration
   ```

# Menggunakan kebijakan berbasis sumber daya untuk akses Amazon EMR ke Glue Data Catalog AWS
<a name="emr-iam-roles-glue"></a>

Jika Anda menggunakan AWS Glue bersama dengan Hive, Spark, atau Presto di Amazon EMR AWS , Glue mendukung kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya Katalog Data. Sumber daya ini termasuk database, tabel, koneksi, dan fungsi yang ditetapkan pengguna. Untuk informasi lebih lanjut, lihat [AWS Kebijakan sumber daya Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) di *AWS Panduan Developer Glue*.

Saat menggunakan kebijakan berbasis sumber daya untuk membatasi akses ke Glue AWS dari dalam Amazon EMR, prinsip yang Anda tentukan dalam kebijakan izin harus berupa ARN peran yang terkait dengan profil instans EC2 yang ditentukan saat kluster dibuat. Misalnya, untuk kebijakan berbasis sumber daya yang dilampirkan ke katalog, Anda dapat menentukan peran ARN untuk peran layanan default untuk instance EC2 klaster, *EMR\$1EC2\$1DefaultRole* seperti`Principal`, menggunakan format yang ditampilkan dalam contoh berikut:

```
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
```

*acct-id*Bisa berbeda dari ID akun AWS Glue. Hal ini memungkinkan akses dari cluster EMR di account yang berbeda. Anda dapat menentukan beberapa kepala sekolah, masing-masing dari akun yang berbeda.

# Gunakan peran IAM dengan aplikasi yang memanggil AWS layanan secara langsung
<a name="emr-iam-roles-calling"></a>

Aplikasi yang berjalan pada instans EC2 dari sebuah cluster dapat menggunakan profil instans EC2 untuk mendapatkan kredensyal keamanan sementara saat memanggil layanan. AWS 

Versi Hadoop tersedia dengan Amazon EMR rilis 2.3.0 dan versi terbaru telah diperbarui untuk memanfaatkan IAM role. Jika aplikasi Anda berjalan ketat di atas arsitektur Hadoop, dan tidak langsung memanggil layanan apa pun AWS, itu harus bekerja dengan peran IAM tanpa modifikasi.

Jika aplikasi Anda memanggil layanan secara AWS langsung, Anda perlu memperbaruinya untuk memanfaatkan peran IAM. Ini berarti bahwa alih-alih mendapatkan kredensial akun dari `/etc/hadoop/conf/core-site.xml` di instans EC2 di klaster, aplikasi Anda menggunakan SDK untuk mengakses sumber daya yang menggunakan IAM role, atau memanggil metadata instans EC2 untuk mendapatkan kredensial sementara.

**Untuk mengakses AWS sumber daya dengan peran IAM menggunakan SDK**
+ Topik berikut menunjukkan cara menggunakan beberapa AWS SDKs untuk mengakses kredensyal sementara menggunakan peran IAM. Setiap topik dimulai dengan versi aplikasi yang tidak menggunakan IAM role dan membawa Anda melalui proses mengubah aplikasi untuk menggunakan IAM role. 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for Java ](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) di *AWS SDK untuk Java Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for .NET ](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-roles.html) di *AWS SDK untuk .NET Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for PHP ](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/php-dg-roles.html) di *AWS SDK untuk PHP Panduan Developer* 
  +  [Menggunakan IAM role untuk instans Amazon EC2 dengan SDK for Ruby ](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/ruby-dg-roles.html) di *AWS SDK untuk Ruby Panduan Developer* 

**Untuk mendapatkan kredensial sementara dari metadata instans EC2**
+ Panggil URL berikut dari instans EC2 yang berjalan dengan peran IAM yang ditentukan, yang mengembalikan kredensyal keamanan sementara terkait (,AccessKeyId, SecretAccessKey SessionToken, dan Kedaluwarsa). Contoh berikut menggunakan profil instans default untuk Amazon EMR, `EMR_EC2_DefaultRole`. 

  ```
  GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole
  ```

Untuk informasi selengkapnya tentang menulis aplikasi yang menggunakan peran IAM, lihat [Memberikan aplikasi yang berjalan di instans Amazon EC2 akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html) ke sumber daya. AWS 

Untuk informasi lebih lanjut tentang kredensial keamanan sementara, lihat [Menggunakan kredensial keamanan sementara](https://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html) di panduan *Menggunakan Kredensial Keamanan Sementara*. 

# Mengizinkan pengguna dan grup untuk membuat dan memodifikasi peran
<a name="emr-iam-roles-create-permissions"></a>

Utama IAM (pengguna dan grup) yang membuat, memodifikasi, dan menentukan peran untuk sebuah klaster, termasuk peran default, harus diizinkan untuk melakukan tindakan berikut. Untuk detail tentang setiap tindakan, lihat [Tindakan](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html) di *Referensi API IAM*.
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:CreateInstanceProfile`
+ `iam:AddRoleToInstanceProfile`
+ `iam:ListRoles`
+ `iam:GetPolicy`
+ `iam:GetInstanceProfile`
+ `iam:GetPolicyVersion`
+ `iam:AttachRolePolicy`
+ `iam:PassRole`

Izin `iam:PassRole` mengizinkan pembuatan klaster. Izin yang tersisa mengizinkan pembuatan peran default.

Untuk informasi tentang menetapkan izin ke pengguna, lihat [Mengubah izin untuk pengguna di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) *IAM*.