

 **Bantu tingkatkan 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 **Edit halaman ini pada GitHub** tautan 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.

# Mengaitkan kebijakan akses dengan entri akses
<a name="access-policies"></a>

*Anda dapat menetapkan satu atau beberapa kebijakan akses untuk *mengakses jenis entri*.* `STANDARD` Amazon EKS secara otomatis memberikan jenis entri akses lainnya izin yang diperlukan agar berfungsi dengan baik di klaster Anda. Kebijakan akses Amazon EKS mencakup izin Kubernetes, bukan izin IAM. Sebelum mengaitkan kebijakan akses ke entri akses, pastikan Anda sudah terbiasa dengan izin Kubernetes yang disertakan dalam setiap kebijakan akses. Untuk informasi selengkapnya, lihat [Tinjau izin kebijakan akses](access-policy-permissions.md). Jika tidak ada kebijakan akses yang memenuhi persyaratan Anda, maka jangan kaitkan kebijakan akses ke entri akses. Sebagai gantinya, tentukan satu atau beberapa *nama grup* untuk entri akses dan buat serta kelola objek kontrol akses berbasis peran Kubernetes. Untuk informasi selengkapnya, lihat [Buat entri akses](creating-access-entries.md).
+ Entri akses yang ada. Untuk membuatnya, lihat [Buat entri akses](creating-access-entries.md).
+ Peran AWS Identity and Access Management atau pengguna dengan izin berikut:`ListAccessEntries`,`DescribeAccessEntry`,`UpdateAccessEntry`,, `ListAccessPolicies``AssociateAccessPolicy`, dan`DisassociateAccessPolicy`. *Untuk informasi selengkapnya, lihat [Tindakan yang ditentukan oleh Amazon Elastic Kubernetes Service di Referensi Otorisasi Layanan.](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions)*

Sebelum mengaitkan kebijakan akses dengan entri akses, pertimbangkan persyaratan berikut:
+ Anda dapat mengaitkan beberapa kebijakan akses ke setiap entri akses, tetapi Anda hanya dapat mengaitkan setiap kebijakan ke entri akses satu kali. Jika Anda mengaitkan beberapa kebijakan akses, prinsipal IAM entri akses memiliki semua izin yang disertakan dalam semua kebijakan akses terkait.
+ Anda dapat membuat cakupan kebijakan akses ke semua sumber daya di klaster atau dengan menentukan nama satu atau beberapa ruang nama Kubernetes. Anda dapat menggunakan karakter wildcard untuk nama namespace. Misalnya, jika Anda ingin membuat cakupan kebijakan akses ke semua ruang nama yang dimulai`dev-`, Anda dapat menentukan `dev-*` sebagai nama namespace. Pastikan bahwa namespace ada di cluster Anda dan ejaan Anda cocok dengan nama namespace yang sebenarnya di cluster. Amazon EKS tidak mengonfirmasi ejaan atau keberadaan ruang nama di cluster Anda.
+ Anda dapat mengubah *cakupan akses* untuk kebijakan akses setelah Anda mengaitkannya ke entri akses. Jika Anda telah mencakup kebijakan akses ke ruang nama Kubernetes, Anda dapat menambahkan dan menghapus namespace untuk asosiasi tersebut, jika diperlukan.
+ Jika Anda mengaitkan kebijakan akses ke entri akses yang juga memiliki *nama grup* yang ditentukan, maka prinsipal IAM memiliki semua izin di semua kebijakan akses terkait. Ia juga memiliki semua izin di Kubernetes `Role` atau `ClusterRole` objek apa pun yang ditentukan dalam Kubernetes `Role` dan `RoleBinding` objek apa pun yang menentukan nama grup.
+ Jika Anda menjalankan `kubectl auth can-i --list` perintah, Anda tidak akan melihat izin Kubernetes yang ditetapkan oleh kebijakan akses yang terkait dengan entri akses untuk prinsipal IAM yang Anda gunakan saat menjalankan perintah. Perintah hanya menampilkan izin Kubernetes jika Anda telah memberikannya di Kubernetes `Role` atau `ClusterRole` objek yang telah Anda ikat ke nama grup atau nama pengguna yang Anda tentukan untuk entri akses.
+ Jika Anda meniru pengguna atau grup Kubernetes saat berinteraksi dengan objek Kubernetes di klaster Anda, seperti menggunakan `kubectl` perintah dengan `--as {{username}} ` atau`--as-group {{group-name}} `, Anda memaksa penggunaan otorisasi Kubernetes RBAC. Akibatnya, prinsipal IAM tidak memiliki izin yang ditetapkan oleh kebijakan akses apa pun yang terkait dengan entri akses. Satu-satunya izin Kubernetes yang dimiliki pengguna atau grup yang ditiru oleh kepala sekolah IAM adalah izin Kubernetes yang Anda berikan kepada mereka di Kubernetes `Role` atau objek yang Anda ikat ke nama grup atau nama pengguna. `ClusterRole` Agar prinsipal IAM Anda memiliki izin dalam kebijakan akses terkait, jangan menyamar sebagai pengguna atau grup Kubernetes. Prinsipal IAM juga akan tetap memiliki izin apa pun yang Anda berikan di Kubernetes `Role` atau `ClusterRole` objek yang telah Anda ikat ke nama grup atau nama pengguna yang Anda tentukan untuk entri akses. Untuk informasi selengkapnya, lihat [Peniruan identitas pengguna di dokumentasi](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#user-impersonation) Kubernetes.

Anda dapat mengaitkan kebijakan akses ke entri akses menggunakan Konsol Manajemen AWS atau AWS CLI.

## Konsol Manajemen AWS
<a name="access-associate-console"></a>

1. Buka [konsol Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Pilih nama klaster yang memiliki entri akses yang ingin Anda kaitkan dengan kebijakan akses.

1. Pilih tab **Access**.

1. Jika jenis entri akses adalah **Standar**, Anda dapat mengaitkan atau memisahkan **kebijakan akses** Amazon EKS. Jika jenis entri akses Anda adalah apa pun selain **Standar**, maka opsi ini tidak tersedia.

1. Pilih **Kebijakan akses asosiasi**.

1. Untuk **nama Kebijakan**, pilih kebijakan dengan izin yang Anda inginkan untuk memiliki kepala sekolah IAM. Untuk melihat izin yang disertakan dalam setiap kebijakan, lihat[Tinjau izin kebijakan akses](access-policy-permissions.md).

1. Untuk **cakupan Access**, pilih cakupan akses. Jika Anda memilih **Cluster**, izin dalam kebijakan akses diberikan kepada prinsipal IAM untuk sumber daya di semua ruang nama Kubernetes. **Jika Anda memilih namespace **Kubernetes, Anda dapat memilih Add new namespace**.** Di bidang **Namespace** yang muncul, Anda dapat memasukkan nama namespace Kubernetes di klaster Anda. Jika Anda ingin prinsipal IAM memiliki izin di beberapa ruang nama, maka Anda dapat memasukkan beberapa ruang nama.

1. Pilih **Tambahkan kebijakan akses**.

## AWS CLI
<a name="access-associate-cli"></a>

1. Versi `2.12.3` atau yang lebih baru atau versi `1.27.160` atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau. AWS CloudShell Untuk memeriksa versi Anda saat ini, gunakan`aws --version | cut -d / -f2 | cut -d ' ' -f1`. Package manager seperti`yum`,`apt-get`, atau Homebrew untuk macOS seringkali merupakan beberapa versi di belakang versi terbaru CLI. AWS Untuk menginstal versi terbaru, lihat [Menginstal](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) dan [Konfigurasi cepat dengan aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) di *Panduan Pengguna Antarmuka Baris AWS Perintah*. Versi AWS CLI yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat [Menginstal AWS CLI ke direktori home Anda](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) di * AWS CloudShell Panduan Pengguna*.

1. Lihat kebijakan akses yang tersedia.

   ```
   aws eks list-access-policies --output table
   ```

   Contoh output adalah sebagai berikut.

   ```
   ---------------------------------------------------------------------------------------------------------
   |                                          ListAccessPolicies                                           |
   +-------------------------------------------------------------------------------------------------------+
   ||                                           accessPolicies                                            ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ||                                 arn                                 |             name              ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSAdminPolicy        |  AmazonEKSAdminPolicy         ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy |  AmazonEKSClusterAdminPolicy  ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSEditPolicy         |  AmazonEKSEditPolicy          ||
   ||  {arn-aws}eks::aws:cluster-access-policy/AmazonEKSViewPolicy         |  AmazonEKSViewPolicy          ||
   |+---------------------------------------------------------------------+-------------------------------+|
   ```

   Untuk melihat izin yang disertakan dalam setiap kebijakan, lihat[Tinjau izin kebijakan akses](access-policy-permissions.md).

1. Lihat entri akses yang ada. Ganti {{my-cluster}} dengan nama klaster Anda.

   ```
   aws eks list-access-entries --cluster-name my-cluster
   ```

   Contoh output adalah sebagai berikut.

   ```
   {
       "accessEntries": [
           "arn:aws: iam::111122223333:role/my-role",
           "arn:aws: iam::111122223333:user/my-user"
       ]
   }
   ```

1. Kaitkan kebijakan akses ke entri akses. Contoh berikut mengaitkan kebijakan `AmazonEKSViewPolicy` akses ke entri akses. Setiap kali peran {{my-role}} IAM mencoba mengakses objek Kubernetes di klaster, Amazon EKS akan mengotorisasi peran tersebut untuk menggunakan izin dalam kebijakan untuk mengakses objek Kubernetes di ruang nama dan Kubernetes saja. {{my-namespace1}} {{my-namespace2}} Ganti {{my-cluster}} dengan nama klaster Anda, {{111122223333}} dengan ID AWS akun Anda, dan {{my-role}} dengan nama peran IAM yang Anda inginkan Amazon EKS untuk mengotorisasi akses ke objek cluster Kubernetes.

   ```
   aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \
       --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy
   ```

   Jika Anda ingin kepala sekolah IAM memiliki izin di seluruh klaster, ganti dengan. `type=namespace,namespaces={{my-namespace1}},{{my-namespace2}} ` `type=cluster` Jika Anda ingin mengaitkan beberapa kebijakan akses ke entri akses, jalankan perintah beberapa kali, masing-masing dengan kebijakan akses unik. Setiap kebijakan akses terkait memiliki ruang lingkupnya sendiri.
**catatan**  
Jika nanti Anda ingin mengubah cakupan kebijakan akses terkait, jalankan perintah sebelumnya lagi dengan cakupan baru. Misalnya, jika Anda ingin menghapus{{my-namespace2}}, Anda akan menjalankan perintah lagi `type=namespace,namespaces={{my-namespace1}} ` hanya dengan menggunakan. Jika Anda ingin mengubah cakupan dari `namespace` ke`cluster`, Anda akan menjalankan perintah lagi menggunakan`type=cluster`, menghapus`type=namespace,namespaces={{my-namespace1}},{{my-namespace2}} `.

1. Tentukan kebijakan akses mana yang terkait dengan entri akses.

   ```
   aws eks list-associated-access-policies --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role
   ```

   Contoh output adalah sebagai berikut.

   ```
   {
       "clusterName": "my-cluster",
       "principalArn": "arn:aws: iam::111122223333",
       "associatedAccessPolicies": [
           {
               "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy",
               "accessScope": {
                   "type": "cluster",
                   "namespaces": []
               },
               "associatedAt": "2023-04-17T15:25:21.675000-04:00",
               "modifiedAt": "2023-04-17T15:25:21.675000-04:00"
           },
           {
               "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy",
               "accessScope": {
                   "type": "namespace",
                   "namespaces": [
                       "my-namespace1",
                       "my-namespace2"
                   ]
               },
               "associatedAt": "2023-04-17T15:02:06.511000-04:00",
               "modifiedAt": "2023-04-17T15:02:06.511000-04:00"
           }
       ]
   }
   ```

   Pada contoh sebelumnya, prinsipal IAM untuk entri akses ini memiliki izin tampilan di semua ruang nama di klaster, dan izin administrator ke dua ruang nama Kubernetes.

1. Memutuskan kebijakan akses dari entri akses. Dalam contoh ini, `AmazonEKSAdminPolicy` kebijakan dilepaskan dari entri akses. Prinsipal IAM mempertahankan izin dalam kebijakan `AmazonEKSViewPolicy` akses untuk objek di {{my-namespace1}} dan {{my-namespace2}} ruang nama, karena kebijakan akses tersebut tidak terlepas dari entri akses.

   ```
   aws eks disassociate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \
       --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
   ```

Untuk mencantumkan kebijakan akses yang tersedia, lihat[Tinjau izin kebijakan akses](access-policy-permissions.md).