

 **Bantu meningkatkan halaman ini ** 

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

Untuk berkontribusi pada panduan pengguna ini, pilih GitHub ** tautan ** Edit halaman ini di yang terletak di panel kanan setiap halaman.

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

# Contoh kebijakan berbasis identitas Amazon EKS
<a name="security-iam-id-based-policy-examples"></a>

Secara default, pengguna dan peran IAM tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon EKS. Mereka juga tidak dapat melakukan tugas menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS API. Administrator IAM harus membuat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna IAM atau grup yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan di tab JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dalam *Panduan Pengguna IAM*.

Saat Anda membuat cluster Amazon EKS, prinsipal [ IAM ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) yang membuat cluster secara otomatis diberikan `system:masters` izin dalam konfigurasi kontrol akses berbasis peran (RBAC) cluster di bidang kontrol Amazon EKS. Prinsip ini tidak muncul dalam konfigurasi yang terlihat, jadi pastikan untuk melacak prinsipal mana yang awalnya membuat cluster. Untuk memberikan prinsipal IAM tambahan kemampuan untuk berinteraksi dengan cluster Anda, edit di `aws-auth ConfigMap` dalam Kubernetes dan buat Kubernetes `rolebinding` atau `clusterrolebinding` dengan nama yang Anda tentukan di. `group` `aws-auth ConfigMap`

Untuk informasi lebih lanjut tentang bekerja dengan ConfigMap, lihat[Berikan akses kepada pengguna dan peran IAM ke API Kubernetes](grant-k8s-access.md).

**Topics**
+ [Praktik terbaik kebijakan](#security-iam-service-with-iam-policy-best-practices)
+ [Menggunakan konsol Amazon EKS](#security-iam-id-based-policy-examples-console)
+ [Izinkan pengguna IAM untuk melihat izin mereka sendiri](#security-iam-id-based-policy-examples-view-own-permissions)
+ [Buat cluster Kubernetes di AWS Cloud](#policy-create-cluster)
+ [Membuat cluster Kubernetes lokal di Pos Terdepan](#policy-create-local-cluster)
+ [Perbarui klaster Kubernetes](#policy-example1)
+ [Buat daftar atau deskripsikan semua klaster](#policy-example2)
+ [Membatalkan pembaruan cluster (rollback)](#policy-cancel-update)

## Praktik terbaik kebijakan
<a name="security-iam-service-with-iam-policy-best-practices"></a>

Identity-based kebijakan menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon EKS di akun Anda. Tindakan ini dapat menimbulkan biaya untuk AWS akun Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+  **Memulai kebijakan AWS terkelola dan beralih ke izin hak istimewa terendah ** — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan terkel * AWS ola * yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di AWS akun Anda. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+  **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+  **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan kondisi untuk memberikan akses ke tindakan layanan jika digunakan melalui AWS layanan tertentu, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+  **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+  **Memerlukan otentikasi multi-faktor (MFA) ** — Jika Anda memiliki skenario yang memerlukan pengguna IAM atau pengguna root di AWS akun Anda, aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat MFA-protected Meng [ konfigurasi akses API ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) di Panduan * * Pengguna IAM.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Menggunakan konsol Amazon EKS
<a name="security-iam-id-based-policy-examples-console"></a>

Untuk mengakses konsol Amazon EKS, prinsipal [ IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal), harus memiliki seperangkat izin minimum. Izin ini memungkinkan kepala sekolah untuk membuat daftar dan melihat detail tentang sumber daya Amazon EKS di AWS akun Anda. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksudkan untuk kepala sekolah dengan kebijakan tersebut yang dilampirkan padanya.

Untuk memastikan bahwa kepala sekolah IAM Anda masih dapat menggunakan konsol Amazon EKS, buat kebijakan dengan nama unik Anda sendiri, seperti. `AmazonEKSAdminPolicy` Lampirkan kebijakan ke kepala sekolah. Untuk informasi lebih lanjut, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dalam *Panduan Pengguna IAM*.

**penting**  
Kebijakan contoh berikut memungkinkan kepala sekolah untuk melihat informasi pada ** tab ** Konfigurasi di konsol. Untuk melihat informasi pada ** tab I ** khtisar ** dan Sumber ** Daya di Konsol Manajemen AWS, kepala sekolah juga memerlukan izin Kubernetes. Untuk informasi selengkapnya, lihat [Izin yang diperlukan](view-kubernetes-resources.md#view-kubernetes-resources-permissions).

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "eks.amazonaws.com"
                }
            }
        }
    ]
}
```

Anda tidak perlu mengizinkan izin konsol minimum untuk kepala sekolah yang melakukan panggilan hanya ke AWS CLI atau API. AWS Sebagai gantinya, izinkan akses hanya ke tindakan yang cocok dengan operasi API yang Anda coba lakukan.

## Izinkan pengguna IAM untuk melihat izin mereka sendiri
<a name="security-iam-id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau secara terprogram menggunakan AWS CLI atau API. AWS 

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Buat cluster Kubernetes di AWS Cloud
<a name="policy-create-cluster"></a>

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk membuat cluster Amazon EKS bernama {{my-cluster}} di Wil {{us-west-2}} AWS ayah. Anda dapat mengganti AWS Wilayah dengan AWS Wilayah tempat Anda ingin membuat cluster. Jika Anda melihat peringatan yang mengatakan T ** indakan dalam kebijakan Anda tidak mendukung izin tingkat sumber daya dan mengharuskan Anda memilih `All resources` ** di dalam Konsol Manajemen AWS, tindakan tersebut dapat diabaikan dengan aman. Jika akun Anda sudah memiliki {{AWSServiceRoleForAmazonEKS}} peran tersebut, Anda dapat menghapus `iam:CreateServiceLinkedRole` tindakan tersebut dari kebijakan. Jika Anda pernah membuat cluster Amazon EKS di akun Anda maka peran ini sudah ada, kecuali jika Anda menghapusnya.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "eks:CreateCluster",
            "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "iam:AWSServiceName": "eks"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/cluster-role-name"
        }
    ]
}
```

## Membuat cluster Kubernetes lokal di Pos Terdepan
<a name="policy-create-local-cluster"></a>

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk membuat cluster lokal Amazon EKS yang diberi nama {{my-cluster}} di Pos Terdepan di Wil {{us-west-2}} AWS ayah. Anda dapat mengganti AWS Wilayah dengan AWS Wilayah tempat Anda ingin membuat cluster. Jika Anda melihat peringatan yang mengatakan T ** indakan dalam kebijakan Anda tidak mendukung izin tingkat sumber daya dan mengharuskan Anda memilih `All resources` ** di dalam Konsol Manajemen AWS, tindakan tersebut dapat diabaikan dengan aman. Jika akun Anda sudah memiliki `AWSServiceRoleForAmazonEKSLocalOutpost` peran tersebut, Anda dapat menghapus `iam:CreateServiceLinkedRole` tindakan tersebut dari kebijakan. Jika Anda pernah membuat cluster lokal Amazon EKS di Outpost di akun Anda, maka peran ini sudah ada, kecuali jika Anda menghapusnya.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "eks:CreateCluster",
            "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster"
        },
        {
            "Action": [
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "iam:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/outposts.eks-local.amazonaws.com/AWSServiceRoleForAmazonEKSLocalOutpost"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole",
                "iam:ListAttachedRolePolicies"
            ],
            "Resource": "arn:aws:iam::111122223333:role/cluster-role-name"
        },
        {
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:TagInstanceProfile",
                "iam:AddRoleToInstanceProfile",
                "iam:GetInstanceProfile",
                "iam:DeleteInstanceProfile",
                "iam:RemoveRoleFromInstanceProfile"
            ],
            "Resource": "arn:aws:iam::*:instance-profile/eks-local-*",
            "Effect": "Allow"
        }
    ]
}
```

## Perbarui klaster Kubernetes
<a name="policy-example1"></a>

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk memperbarui cluster bernama {{my-cluster}} di Wilayah us-west-2 AWS .

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "eks:UpdateClusterVersion",
            "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster"
        }
    ]
}
```

## Buat daftar atau deskripsikan semua klaster
<a name="policy-example2"></a>

Kebijakan contoh ini mencakup izin minimum yang diperlukan untuk membuat daftar dan menjelaskan semua cluster di akun Anda. Prinsi [ pal IAM ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) harus dapat membuat daftar dan menggambarkan cluster untuk menggunakan perintah `update-kubeconfig` AWS CLI.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:DescribeCluster",
                "eks:ListClusters"
            ],
            "Resource": "*"
        }
    ]
}
```

## Membatalkan pembaruan cluster (rollback)
<a name="policy-cancel-update"></a>

Untuk mengizinkan pengguna membatalkan operasi rollback yang sedang berlangsung, berikan tindakan tersebut`eks:CancelUpdate`. Anda dapat mencakupan ini menggunakan ARN sumber daya atau kondisi berbasis tag.

 **Sumber daya ARN-based: ** 

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "eks:CancelUpdate",
    "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster"
  }]
}
```

 **Tag-based:** 

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "eks:CancelUpdate",
    "Resource": "*",
    "Condition": {
      "StringEquals": {
        "aws:ResourceTag/environment": "development"
      }
    }
  }]
}
```

Untuk informasi selengkapnya tentang proses rollback cluster penuh, lihat[Kembalikan cluster ke versi Kubernetes sebelumnya](rollback-cluster.md).