

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

# Menyangkal ModifyInstanceGroup tindakan di Amazon EMR
<a name="emr-cluster-deny-modifyinstancegroup"></a>

[ModifyInstanceGroups](https://docs.aws.amazon.com/emr/latest/APIReference/API_ModifyInstanceGroups.html)Tindakan di Amazon EMR tidak mengharuskan Anda memberikan ID cluster dengan tindakan tersebut. Sebaliknya, Anda dapat hanya menentukan ID grup instans. Untuk alasan ini, langsung tolak kebijakan untuk tindakan ini berdasarkan ID klaster atau tanda klaster mungkin tidak memiliki efek yang dimaksudkan. Pertimbangkan kebijakan contoh berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroups"
    }
  ]
}
```

------

Jika pengguna dengan kebijakan terlampir ini melakukan tindakan `ModifyInstanceGroup` dan menentukan hanya ID grup instans, kebijakan tidak berlaku. Karena tindakan diizinkan pada semua sumber daya lainnya, tindakan tersebut berhasil.

Solusi untuk masalah ini adalah melampirkan pernyataan kebijakan ke identitas yang menggunakan [NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)elemen untuk menolak `ModifyInstanceGroup` tindakan apa pun yang dikeluarkan tanpa ID klaster. Kebijakan contoh berikut menambahkan pernyataan tolak sehingga setiap permintaan `ModifyInstanceGroups` gagal kecuali ID klaster ditentukan. Karena identitas harus menentukan ID klaster dengan tindakan, tolak pernyataan berdasarkan ID klaster karena efektif.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:cluster/j-12345ABCDEFG67"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsSpecificCluster"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Deny",
      "NotResource": "arn:*:elasticmapreduce:*:*:cluster/*",
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsNonCluster"
    }
  ]
}
```

------

Masalah serupa ada saat Anda ingin tolak tindakan `ModifyInstanceGroups` berdasarkan nilai yang terkait dengan tanda klaster. Solusinya serupa. Selain tolak pernyataan yang menentukan nilai tanda, Anda dapat menambahkan pernyataan kebijakan yang menolak tindakan `ModifyInstanceGroup` tanda yang Anda tentukan tidak ada, terlepas dari nilai.

Contoh berikut menunjukkan kebijakan yang, saat dilampirkan ke identitas, menolak identitas tindakan `ModifyInstanceGroups` klaster apapun dengan tanda `department` yang diatur ke `dev`. Pernyataan ini hanya efektif karena pernyataan tolak menggunakan syarat `StringNotLike` untuk menolak tindakan kecuali tanda `department` ada.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowELASTICMAPREDUCEModifyinstancegroups"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department": "dev"
        }
      },
      "Effect": "Deny",
      "Resource": [
        "*"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsDevDepartment"
    },
    {
      "Action": [
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:ResourceTag/department": "?*"
        }
      },
      "Effect": "Deny",
      "Resource": [
        "*"
      ],
      "Sid": "DenyELASTICMAPREDUCEModifyinstancegroupsNoDepartmentTag"
    }
  ]
}
```

------