

 **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.

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

Anda dapat menetapkan satu atau beberapa kebijakan akses untuk * mengakses entr * i * jenis *`STANDARD`. Amazon EKS secara otomatis memberikan jenis entri akses lainnya izin yang diperlukan untuk berfungsi dengan baik di cluster Anda. Kebijakan akses Amazon EKS mencakup izin Kubernetes, bukan izin IAM. Sebelum mengaitkan kebijakan akses ke entri akses, pastikan Anda sudah familiar 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, 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 Identitas dan Manajemen Akses atau pengguna dengan izin berikut:`ListAccessEntries`,`DescribeAccessEntry`,`UpdateAccessEntry`,`ListAccessPolicies`,`AssociateAccessPolicy`, dan`DisassociateAccessPolicy`. Untuk informasi selengkapnya, lihat Tind [ akan yang ditentukan oleh Layanan Kubernetes Amazon Elastic ](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions) di Referensi Otorisasi * Layanan. *

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, prinsip IAM entri akses memiliki semua izin yang disertakan dalam semua kebijakan akses terkait.
+ Anda dapat mencakup kebijakan akses ke semua sumber daya pada cluster atau dengan menentukan nama satu atau beberapa ruang nama Kubernetes. Anda dapat menggunakan karakter wildcard untuk nama namespace. Misalnya, jika Anda ingin menjangkau kebijakan akses ke semua ruang nama yang dimulai dengan`dev-`, Anda dapat menentukan `dev-*` sebagai nama namespace. Pastikan bahwa ruang nama ada di cluster Anda dan ejaan Anda cocok dengan nama namespace aktual 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 menetapkan cakupan kebijakan akses ke ruang nama Kubernetes, Anda dapat menambahkan dan menghapus ruang nama untuk asosiasi, 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. Ini juga memiliki semua izin di Kubernetes `Role` atau `ClusterRole` objek apa pun yang ditentukan dalam Kubernetes `Role` dan `RoleBinding` objek yang menentukan nama grup.
+ Jika 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 menyamar sebagai pengguna atau grup Kubernetes saat berinteraksi dengan objek Kubernetes di cluster 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 prinsipal IAM adalah izin Kubernetes yang telah Anda berikan kepada mereka di Kubernetes `Role` atau `ClusterRole` objek yang telah Anda ikat ke nama grup atau nama pengguna. Agar prinsipal IAM Anda memiliki izin dalam kebijakan akses terkait, jangan menyamar sebagai pengguna atau grup Kubernetes. Prinsip IAM juga akan tetap memiliki izin apa pun yang telah Anda berikan kepada mereka 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 Pen [ iruan pengguna ](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#user-impersonation) dalam dokumentasi 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 cluster yang memiliki entri akses yang ingin Anda kaitkan dengan kebijakan akses.

1. Pilih ** tab ** Akses.

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 dimiliki oleh prinsipal IAM. Untuk melihat izin yang disertakan dalam setiap kebijakan, lihat[Tinjau izin kebijakan akses](access-policy-permissions.md).

1. Untuk ** cakupan akses**, 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 ** Kubernetes namespace**, Anda kemudian dapat memilih ** Tambahkan namespace baru. ** Di ** bidang ** Namespace yang muncul, Anda dapat memasukkan nama namespace Kubernetes pada cluster Anda. Jika Anda ingin prinsipal IAM memiliki izin di beberapa ruang nama, maka Anda dapat memasukkan beberapa ruang nama.

1. Pilih ** Tambah 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`. Manajer paket seperti`yum`,`apt-get`, atau Homebrew untuk macOS sering memiliki beberapa versi di belakang versi terbaru AWS CLI. Untuk menginstal versi terbaru, lihat Meng [ instal ](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 Antar * AWS muka Baris Perintah*. Versi AWS CLI yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat AWS Meng [ instal CLI ke direktori home Anda ](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) di Panduan * AWS CloudShell * 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 Anda 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. Mengaitkan 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 cluster, 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 cluster Anda, {{111122223333}} dengan ID AWS akun Anda, dan {{my-role}} dengan nama peran IAM yang Anda inginkan agar Amazon EKS 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 prinsipal IAM memiliki izin di seluruh cluster, 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 menggunakan `type=namespace,namespaces={{my-namespace1}} ` saja. 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:role/my-role",
       "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"
           }
       ]
   }
   ```

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

1. Putuskan hubungan kebijakan akses dari entri akses. Dalam contoh ini, `AmazonEKSAdminPolicy` kebijakan dipisahkan dari entri akses. Prinsip IAM mempertahankan izin dalam kebijakan `AmazonEKSViewPolicy` akses untuk objek di ruang nama {{my-namespace1}} dan{{my-namespace2}}, karena kebijakan akses tersebut tidak dipisahkan 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).