

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

# Gunakan AWS Rahasia dan Penyedia Konfigurasi CSI dengan Peran IAM untuk Akun Layanan (IRSA)
<a name="integrating_ascp_irsa"></a>

**Topics**
+ [Prasyarat](#prerequisites)
+ [Mengatur kontrol akses](#integrating_ascp_irsa_access)
+ [Identifikasi rahasia mana yang akan dipasang](#integrating_ascp_irsa_mount)
+ [Pemecahan Masalah](#integrating_ascp_irsa_trouble)

## Prasyarat
<a name="prerequisites"></a>
+ Cluster Amazon EKS (versi 1.17 atau yang lebih baru)
+ Akses ke AWS CLI dan Amazon EKS cluster melalui `kubectl`

## Mengatur kontrol akses
<a name="integrating_ascp_irsa_access"></a>

ASCP mengambil Amazon EKS Pod Identity dan menukarnya dengan peran IAM. Anda menetapkan izin dalam kebijakan IAM untuk peran IAM tersebut. Ketika ASCP mengasumsikan peran IAM, ia mendapat akses ke rahasia yang Anda otorisasi. Kontainer lain tidak dapat mengakses rahasia kecuali Anda juga mengaitkannya dengan peran IAM. 

**Untuk memberikan Amazon EKS Pod akses ke rahasia di Secrets Manager**

1. Buat kebijakan izin yang memberikan `secretsmanager:GetSecretValue` dan `secretsmanager:DescribeSecret` mengizinkan rahasia yang perlu diakses oleh Pod. Untuk contoh kebijakan, lihat [Contoh: Izin untuk membaca dan menggambarkan rahasia individu](auth-and-access_iam-policies.md#auth-and-access_examples-read-and-describe).

1. Buat penyedia OpenID Connect (OIDC) IAM untuk cluster jika Anda belum memilikinya. Untuk informasi selengkapnya, lihat [Membuat penyedia IAM OIDC untuk klaster Anda di Panduan](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) Pengguna *Amazon EKS*.

1. Buat [peran IAM untuk akun layanan](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) dan lampirkan kebijakan ke dalamnya. Untuk informasi selengkapnya, lihat [Membuat peran IAM untuk akun layanan](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) di *Panduan Pengguna Amazon EKS*.

1. Jika Anda menggunakan kluster Amazon EKS pribadi, pastikan VPC tempat cluster berada memiliki AWS STS titik akhir. *Untuk informasi tentang membuat titik akhir, lihat Titik akhir [VPC Antarmuka](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) di AWS Identity and Access Management Panduan Pengguna.*

## Identifikasi rahasia mana yang akan dipasang
<a name="integrating_ascp_irsa_mount"></a>

Untuk menentukan rahasia mana yang dipasang ASCP di Amazon EKS sebagai file di sistem file, Anda membuat file YAMAL. [SecretProviderClass](ascp-examples.md#ascp-examples-secretproviderclass) `SecretProviderClass`Daftar rahasia untuk dipasang dan nama file untuk dipasang sebagai. `SecretProviderClass`Harus berada di namespace yang sama dengan Amazon EKS Pod yang direferensikannya.

### Pasang rahasia sebagai file
<a name="mount-secrets"></a>

[Petunjuk berikut menunjukkan cara memasang rahasia sebagai file menggunakan contoh file YAML.yaml [ExampleSecretProviderClassdan.yaml](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleSecretProviderClass-IRSA.yaml). ExampleDeployment](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleDeployment-IRSA.yaml)

**Untuk memasang rahasia di Amazon EKS**

1. Terapkan `SecretProviderClass` ke Pod:

   ```
   kubectl apply -f ExampleSecretProviderClass.yaml
   ```

1. Menerapkan Pod Anda:

   ```
   kubectl apply -f ExampleDeployment.yaml
   ```

1. ASCP memasang file.

## Pemecahan Masalah
<a name="integrating_ascp_irsa_trouble"></a>

Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod. 

**Untuk melihat pesan galat untuk penampung**

1. Dapatkan daftar nama Pod dengan perintah berikut. Jika Anda tidak menggunakan namespace default, gunakan. `-n nameSpace`

   ```
   kubectl get pods
   ```

1. Untuk mendeskripsikan Pod, dalam perintah berikut, *podId* gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan. `-n nameSpace`

   ```
   kubectl describe pod/podId
   ```

**Untuk melihat kesalahan untuk ASCP**
+ Untuk menemukan informasi selengkapnya di log penyedia, dalam perintah berikut, *podId* gunakan ID Pod *csi-secrets-store-provider-aws*.

  ```
  kubectl -n kube-system get pods
  kubectl -n kube-system logs Pod/podId
  ```
+ 

**Verifikasi bahwa `SecretProviderClass` CRD diinstal:**

  ```
  kubectl get crd secretproviderclasses.secrets-store.csi.x-k8s.io
  ```

  Perintah ini harus mengembalikan informasi tentang definisi sumber daya `SecretProviderClass` khusus.
+ 

**Verifikasi bahwa SecretProviderClass objek telah dibuat.**

  ```
  kubectl get secretproviderclass SecretProviderClassName -o yaml
  ```