

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Gunakan Parameter Store parameter di Amazon Elastic Kubernetes Service
Gunakan AWS Secrets Manager rahasia di Amazon Elastic Kubernetes Service

Untuk menampilkan parameter dariParameter Store, alat AWS Systems Manager, sebagai file yang dipasang di Amazon EKS Pods, Anda dapat menggunakan AWS Secrets and Configuration Provider untuk Kubernetes Secrets Store CSI Driver. ASCP bekerja dengan Amazon Elastic Kubernetes Service 1.17\$1 yang menjalankan grup node Amazon. EC2 AWS Fargate grup node tidak didukung. 

Dengan ASCP, Anda dapat menyimpan dan mengelola parameter Anda Parameter Store dan kemudian mengambilnya melalui beban kerja yang berjalan di Amazon EKS. Jika parameter Anda berisi beberapa pasangan nilai kunci dalam format JSON, Anda dapat memilih mana yang akan dipasang di Amazon EKS. ASCP menggunakan JMESPath sintaks untuk menanyakan pasangan kunci-nilai dalam rahasia Anda. ASCP juga bekerja dengan AWS Secrets Manager rahasia.

ASCP menawarkan dua metode otentikasi dengan Amazon EKS Pendekatan pertama menggunakan Peran IAM untuk Akun Layanan (IRSA). Pendekatan kedua menggunakan Pod Identities. Setiap pendekatan memiliki manfaat dan kasus penggunaannya.

## ASCP dengan Peran IAM untuk Akun Layanan (IRSA)


ASCP dengan IAM Roles for Service Accounts (IRSA) memungkinkan Anda memasang parameter dari file Parameter Store as di Pod Amazon EKS Anda. Pendekatan ini cocok ketika:
+ Anda perlu me-mount parameter sebagai file di Pod Anda.
+ Anda menggunakan Amazon EKS versi 1.17 atau yang lebih baru dengan grup EC2 node Amazon.
+ Anda ingin mengambil pasangan nilai kunci tertentu dari parameter berformat JSON.

Untuk informasi selengkapnya, lihat [Gunakan AWS Rahasia dan Penyedia Konfigurasi CSI dengan Peran IAM untuk Akun Layanan (IRSA)](integrating_ascp_irsa.md).

## ASCP dengan Identitas Pod


Metode ASCP dengan Pod Identity meningkatkan keamanan dan menyederhanakan konfigurasi untuk mengakses parameter di dalamnya. Parameter Store Pendekatan ini bermanfaat ketika:
+ Anda memerlukan manajemen izin yang lebih terperinci di tingkat Pod.
+ Anda menggunakan Amazon EKS versi 1.24 atau yang lebih baru.
+ Anda ingin meningkatkan kinerja dan skalabilitas.

Untuk informasi selengkapnya, lihat [Gunakan CSI Penyedia AWS Rahasia dan Konfigurasi dengan Pod Identity untuk Amazon EKS](ascp-pod-identity-integration.md).

## Memilih pendekatan yang tepat


Pertimbangkan faktor-faktor berikut ketika memutuskan antara ASCP dengan IRSA dan ASCP dengan Pod Identity:
+ Amazon EKSversion: Pod Identity membutuhkan Amazon EKS 1.24\$1, sedangkan driver CSI bekerja dengan Amazon EKS 1.17\$1.
+ Persyaratan keamanan: Pod Identity menawarkan kontrol yang lebih terperinci pada level Pod.
+ Kinerja: Pod Identity umumnya berkinerja lebih baik di lingkungan skala tinggi.
+ Kompleksitas: Pod Identity menyederhanakan penyiapan dengan menghilangkan kebutuhan akan akun layanan terpisah.

Pilih metode yang paling sesuai dengan kebutuhan spesifik Anda dan lingkungan Amazon EKS.

# Instal ASCP untuk Amazon EKS


Bagian ini menjelaskan cara menginstal Penyedia AWS Rahasia dan Konfigurasi untuk Amazon EKS. Dengan ASCP, Anda dapat memasang parameter dari Parameter Store dan rahasia dari AWS Secrets Manager sebagai file di Amazon EKS Pod.

## Prasyarat

+ Klaster Amazon EKS
  + Versi 1.24 atau yang lebih baru untuk Pod Identity
  + Versi 1.17 atau yang lebih baru untuk IRSA
+ Yang AWS CLI diinstal dan dikonfigurasi
+ kubectl diinstal dan dikonfigurasi untuk klaster Amazon EKS Anda
+ Helm (versi 3.0 atau yang lebih baru)

## Instal dan konfigurasikan ASCP


ASCP tersedia GitHub di repositori [secrets-store-csi-provider-aws](https://github.com/aws/secrets-store-csi-driver-provider-aws). Repo juga berisi contoh file YAMM untuk membuat dan memasang rahasia dengan mengubah `objectType` nilai dari `secretsmanager` ke. `ssmparameter` 

Selama instalasi, Anda dapat mengkonfigurasi ASCP untuk menggunakan titik akhir FIPS. Untuk daftar titik akhir Systems Manager, lihat [titik akhir layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) di bagian. *Referensi Umum Amazon Web Services*

**Untuk menginstal ASCP dengan menggunakan Helm**

1. Untuk memastikan repo menunjuk ke grafik terbaru, gunakan `helm repo update.`

1. Tambahkan bagan Driver CSI Secrets Store. 

   ```
   helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
   ```

1. Instal bagan. Untuk mengonfigurasi pelambatan, tambahkan tanda berikut: `--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'`

   ```
   helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
   ```

1. Tambahkan bagan ASCP.

   ```
   helm repo add aws-secrets-manager https://aws.github.io/secrets-store-csi-driver-provider-aws
   ```

1. Instal bagan. Untuk menggunakan endpoint FIPS, tambahkan tanda berikut: `--set useFipsEndpoint=true`

   ```
   helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
   ```

**Untuk menginstal dengan menggunakan YAMAL di repo**
+ Gunakan perintah berikut.

  ```
  helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
  helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
  kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/deployment/aws-provider-installer.yaml
  ```

## Verifikasi instalasi


Untuk memverifikasi instalasi kluster EKS Anda, driver Secrets Store CSI, dan plugin ASCP, ikuti langkah-langkah berikut:

1. Verifikasi kluster EKS:

   ```
   eksctl get cluster --name clusterName
   ```

   Perintah ini harus mengembalikan informasi tentang cluster Anda.

1. Verifikasi instalasi driver Secrets Store CSI:

   ```
   kubectl get pods -n kube-system -l app=secrets-store-csi-driver
   ```

   Anda akan melihat Pod berjalan dengan nama seperti`csi-secrets-store-secrets-store-csi-driver-xxx`.

1. Verifikasi instalasi plugin ASCP:

------
#### [ YAML installation ]

   ```
   $ kubectl get pods -n kube-system -l app=csi-secrets-store-provider-aws
   ```

   Contoh output:

   ```
   NAME                                     READY   STATUS    RESTARTS   AGE
   csi-secrets-store-provider-aws-12345      1/1     Running   0          2m
   ```

------
#### [ Helm installation ]

   ```
   $  kubectl get pods -n kube-system -l app=secrets-store-csi-driver-provider-aws
   ```

   Contoh output:

   ```
   NAME                                              READY   STATUS    RESTARTS   AGE
   secrets-provider-aws-secrets-store-csi-driver-provider-67890       1/1     Running   0          2m
   ```

------

   Anda akan melihat Pod di `Running` negara bagian.

Setelah menjalankan perintah ini, jika semuanya diatur dengan benar, Anda akan melihat semua komponen berjalan tanpa kesalahan. Jika mengalami masalah apa pun, Anda mungkin perlu memecahkan masalah dengan memeriksa log Pod tertentu yang mengalami masalah.

## Pemecahan masalah


1. Untuk memeriksa log penyedia ASCP, jalankan:

   ```
   kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws
   ```

1. Periksa status semua pod di `kube-system` namespace.

   Ganti *default placeholder text* dengan ID pod Anda sendiri:

   ```
   kubectl -n kube-system get pods
   ```

   ```
   kubectl -n kube-system logs pod/pod-id
   ```

   Semua Pod yang terkait dengan driver CSI dan ASCP harus berada dalam status 'Berjalan'.

1. Periksa versi driver CSI:

   ```
   kubectl get csidriver secrets-store.csi.k8s.io -o yaml
   ```

   Perintah ini harus mengembalikan informasi tentang driver CSI yang diinstal.

## Sumber daya tambahan


Untuk informasi selengkapnya tentang penggunaan ASCP dengan Amazon EKS, lihat sumber daya berikut:
+ [Menggunakan Identitas Pod dengan Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI Driver di GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)

# Gunakan CSI Penyedia AWS Rahasia dan Konfigurasi dengan Pod Identity untuk Amazon EKS
Integrasikan ASCP dengan Pod Identity untuk Amazon EKS

Integrasi AWS Secrets and Configuration Provider dengan Pod Identity Agent untuk Amazon Elastic Kubernetes Service memberikan peningkatan keamanan, konfigurasi yang disederhanakan, dan peningkatan kinerja untuk aplikasi yang berjalan di Amazon EKS. Pod Identity menyederhanakan autentikasi AWS Identity and Access Management (IAM) untuk Amazon EKS saat mengambil parameter dari AWS Systems Manager Parameter Store atau rahasia dari Secrets Manager.

Amazon EKS Pod Identity merampingkan proses konfigurasi izin IAM untuk aplikasi Kubernetes dengan memungkinkan izin diatur secara langsung melalui antarmuka Amazon EKS, mengurangi jumlah langkah dan menghilangkan kebutuhan untuk beralih antara Amazon EKS dan layanan IAM. Pod Identity memungkinkan penggunaan peran IAM tunggal di beberapa cluster tanpa memperbarui kebijakan kepercayaan dan mendukung [tag sesi peran](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags) untuk kontrol akses yang lebih terperinci. Pendekatan ini tidak hanya menyederhanakan manajemen kebijakan dengan mengizinkan penggunaan kembali kebijakan izin di seluruh peran tetapi juga meningkatkan keamanan dengan mengaktifkan akses ke AWS sumber daya berdasarkan tag yang cocok.

## Cara kerjanya


1. Pod Identity memberikan peran IAM ke Pod.

1. ASCP menggunakan peran ini untuk mengautentikasi dengan. Layanan AWS

1. Jika diotorisasi, ASCP mengambil parameter yang diminta dan membuatnya tersedia untuk Pod.

Untuk informasi selengkapnya, lihat [Memahami cara kerja Identitas Pod Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-how-it-works.html) di *Panduan Pengguna Amazon EKS*.

## Prasyarat


**penting**  
Pod Identity hanya didukung untuk Amazon EKS di cloud. Ini tidak didukung untuk [Amazon EKS Anywhere](https://aws.amazon.com/eks/eks-anywhere/), [Layanan OpenShift Red Hat di AWS](https://aws.amazon.com/rosa/), atau cluster Kubernetes yang dikelola sendiri di instans Amazon EC2.
+ Cluster Amazon EKS (versi 1.24 atau yang lebih baru)
+ Akses ke AWS CLI dan Amazon EKS cluster melalui `kubectl`
+ (Opsional) Akses ke dua Akun AWS untuk akses lintas akun

## Instal Agen Identitas Pod Amazon EKS
Instal Agen Identitas Pod

Untuk menggunakan Pod Identity dengan klaster Anda, Anda harus menginstal add-on Amazon EKS Pod Identity Agent.

**Untuk menginstal Agen Identitas Pod**
+ Instal add-on Pod Identity Agent di klaster Anda.

  Ganti *default placeholder text * dengan nilai Anda sendiri:

  ```
  eksctl create addon \
    --name eks-pod-identity-agent \
    --cluster clusterName \
    --region region
  ```

## Mengatur ASCP dengan Pod Identity
Pengaturan Identitas Pod

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` mengizinkan parameter yang perlu diakses oleh Pod. 

1. Buat peran IAM yang dapat diasumsikan oleh prinsipal layanan Amazon EKS untuk Pod Identity:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Service": "pods.eks.amazonaws.com"
           },
           "Action": [
             "sts:AssumeRole",
             "sts:TagSession"
           ]
         }
       ]
     }
   ```

------

   Lampirkan kebijakan IAM ke peran tersebut.

   Ganti *default placeholder text * dengan nilai Anda sendiri:

   ```
   aws iam attach-role-policy \
     --role-name MY_ROLE \
     --policy-arn POLICY_ARN
   ```

1. Buat asosiasi Pod Identity. Sebagai contoh, lihat [Membuat asosiasi Identitas Pod](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create) di *Panduan Pengguna Amazon EKS*

1. Buat `SecretProviderClass` yang menentukan parameter atau rahasia mana yang akan dipasang di Pod:

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
   ```

   Perbedaan utama `SecretProviderClass` antara IRSA dan Pod Identity adalah parameter `usePodIdentity` opsional. Ini adalah bidang opsional yang menentukan pendekatan otentikasi. Ketika tidak ditentukan, default menggunakan Peran IAM untuk Akun Layanan (IRSA).
   + Untuk menggunakan EKS Pod Identity, gunakan salah satu dari nilai-nilai ini:`"true", "True", "TRUE", "t", "T"`.
   + Untuk secara eksplisit menggunakan IRSA, atur ke salah satu nilai ini:. `"false", "False", "FALSE", "f", or "F"`

1. Menerapkan Pod yang memasang parameter atau rahasia di bawah: `/mnt/secrets-store`

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
   ```

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

### Verifikasi pemasangan rahasia


Untuk memverifikasi bahwa parameter atau rahasia dipasang dengan benar, jalankan perintah berikut.

Ganti *default placeholder text * dengan nilai Anda sendiri:

```
kubectl exec -it $(kubectl get pods | awk '/pod-identity-deployment/{print $1}' | head -1) -- cat /mnt/secrets-store/MyParameter
```

**Untuk mengatur Amazon EKS Pod Identity untuk mengakses parameter di Parameter Store**

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` mengizinkan parameter yang perlu diakses oleh Pod. 

1. Buat parameter diParameter Store, jika Anda belum memilikinya. Untuk informasi, lihat [Membuat Parameter Store parameter di Systems Manager](sysman-paramstore-su-create.md).

## Pemecahan Masalah


Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod.

**Untuk melihat pesan kesalahan untuk penampung Anda**

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, *pod-id* gunakan ID Pod dari Pod yang Anda temukan di langkah sebelumnya. Jika Anda tidak menggunakan namespace default, gunakan. `-n NAMESPACE`

   ```
   kubectl describe pod/pod-id
   ```

**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/pod-id
  ```

# Gunakan AWS Rahasia dan Penyedia Konfigurasi CSI dengan Peran IAM untuk Akun Layanan (IRSA)
Integrasikan ASCP dengan IRSA untuk Amazon EKS

**Topics**
+ [

## Prasyarat
](#prerequisites)
+ [

## Mengatur kontrol akses
](#integrating_ascp_irsa_access)
+ [

## Identifikasi parameter mana yang akan dipasang
](#integrating_ascp_irsa_mount)
+ [

## Pemecahan Masalah
](#integrating_ascp_irsa_trouble)

## Prasyarat

+ Cluster Amazon EKS (versi 1.17 atau yang lebih baru)
+ Akses ke AWS CLI dan Amazon EKS cluster melalui `kubectl`

## Mengatur kontrol akses


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 parameter yang Anda otorisasi. Kontainer lain tidak dapat mengakses parameter kecuali Anda juga mengaitkannya dengan peran IAM. 

**Untuk memberikan Amazon EKS Pod akses ke parameter di Parameter Store**

1. Buat kebijakan izin yang memberikan `ssm:GetParameters` dan `ssm:DescribeParameters` izin untuk parameter yang dibutuhkan Pod untuk mengakses. 

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 parameter mana yang akan dipasang


Untuk menentukan parameter 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 parameter untuk me-mount dan nama file untuk me-mount mereka sebagai. `SecretProviderClass`Harus berada di namespace yang sama dengan Amazon EKS Pod yang direferensikannya.

### Pasang parameter sebagai file


[Petunjuk berikut menunjukkan cara me-mount parameter 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 parameter 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


Anda dapat melihat sebagian besar kesalahan dengan menjelaskan penerapan Pod. 

**Untuk melihat pesan galat untuk penampung Anda**

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

   ```
   kubectl get pods
   ```

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

   ```
   kubectl describe pod/pod-id
   ```

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

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

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

# AWS Contoh kode Penyedia Rahasia dan Konfigurasi
Contoh ASCP

## Contoh otentikasi ASCP dan kontrol akses


### Contoh: Kebijakan IAM yang mengizinkan layanan Amazon EKS Pod Identity (pods.eks.amazonaws.com) untuk mengambil peran dan menandai sesi:


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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
```

------

## SecretProviderClass


Anda menggunakan YAMAL untuk menjelaskan parameter mana yang akan dipasang di Amazon EKS menggunakan ASCP. Sebagai contoh, lihat [SecretProviderClass penggunaan](#ascp-scenarios-secretproviderclass).

### SecretProviderClass Struktur YAMAL


```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
   name: name
spec:
  provider: aws
  parameters:
    region:
    failoverRegion:
    pathTranslation:
    usePodIdentity:
    preferredAddressType:
    objects:
```

Bidang parameter berisi rincian permintaan pemasangan:

**region**  
(Opsional) Parameter. AWS Region Jika Anda tidak menggunakan bidang ini, ASCP mencari Region dari anotasi pada node. Pencarian ini menambahkan overhead ke permintaan mount, jadi sebaiknya Anda menyediakan Region untuk klaster yang menggunakan Pod dalam jumlah besar.  
Jika Anda juga menentukan`failoverRegion`, ASCP mencoba untuk mengambil parameter dari kedua Wilayah. Jika salah satu Wilayah mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari `region```, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari`region`, tetapi berhasil diambil dari`failoverRegion`, maka ASCP memasang nilai parameter tersebut.

**`failoverRegion`**  
(Opsional) Jika Anda menyertakan bidang ini, ASCP mencoba mengambil parameter dari Wilayah yang ditentukan dalam `region` dan bidang ini. Jika salah satu Wilayah mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari`region`, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari`region`, tetapi berhasil diambil dari`failoverRegion`, maka ASCP memasang nilai parameter tersebut. Untuk contoh cara menggunakan bidang ini, lihat[Failover parameter Multi-Wilayah](#multi-region-failover).

**PathTranslation**  
(Opsional) Karakter substitusi tunggal untuk digunakan jika nama file di Amazon EKS akan berisi karakter pemisah jalur, seperti garis miring (/) di Linux. ASCP tidak dapat membuat file yang dipasang yang berisi karakter pemisah jalur. Sebagai gantinya, ASCP menggantikan karakter pemisah jalur dengan karakter yang berbeda. Jika Anda tidak menggunakan bidang ini, karakter pengganti adalah garis bawah (\$1), jadi misalnya, `My/Path/Parameter` dipasang sebagai. `My_Path_Parameter`   
Untuk mencegah substitusi karakter, masukkan string`False`.

***usePodIdentity***  
(Opsional) Menentukan pendekatan otentikasi. Ketika tidak ditentukan, default ke IAM Roles for Service Accounts (IRSA) (IRSA).  
+ Untuk menggunakan EKS Pod Identity, gunakan salah satu nilai berikut: `"true"` “`"True"`,`"TRUE"`,`"t"`,, atau`"T"`.
+ Untuk secara eksplisit menggunakan IRSA, atur ke salah satu nilai ini:`"false"`,,, `"False"` `"FALSE"``"f"`, atau `"F"` “=.

***preferredAddressType***  
(Opsional) Menentukan jenis alamat IP yang disukai untuk komunikasi endpoint Pod Identity Agent. Bidang ini hanya berlaku ketika menggunakan fitur EKS Pod Identity dan akan diabaikan saat menggunakan Peran IAM untuk Akun Layanan. Nilai tidak peka huruf besar/kecil. Nilai yang valid adalah:  
+ `"ipv4"`, `"IPv4"` “, atau `"IPV4"` — Paksa penggunaan titik IPv4 akhir Pod Identity Agent
+ `"ipv6"`,`"IPv6"`, atau `"IPV6"` — Paksa penggunaan titik IPv6 akhir Pod Identity Agent
+ tidak ditentukan - Gunakan pemilihan titik akhir otomatis, coba IPv4 titik akhir terlebih dahulu dan kembali ke titik IPv6 akhir jika gagal IPv4 

**objek**  
String yang berisi deklarasi YAMAL tentang rahasia yang akan dipasang. Sebaiknya gunakan karakter string atau pipe (\$1) multi-line YAMAL.    
**objectName**  
Wajib. Menentukan nama parameter atau rahasia yang akan diambil. UntukParameter Store, ini adalah [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters)parameter dan dapat berupa nama atau ARN lengkap dari parameter. Untuk Secrets Manager ini adalah [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters)parameter dan dapat berupa nama ramah atau ARN lengkap rahasia.   
**objectType**  
Diperlukan jika Anda tidak menggunakan Secrets Manager ARN untuk. `objectName` UntukParameter Store, gunakan`ssmparameter`. Untuk Secrets Manager, gunakan`secretsmanager`.   
**Objectalias**  
(Opsional) Nama file rahasia di Amazon EKS Pod. Jika Anda tidak menentukan bidang ini, `objectName` muncul sebagai nama file.  
**ObjectVersion**  
(Opsional) ID versi parameter. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui parameter. Secara default versi terbaru digunakan. Jika Anda menyertakan a`failoverRegion`, bidang ini mewakili primer`objectVersion`.  
**objectVersionLabel**  
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru`AWSCURRENT`. Jika Anda menyertakan a`failoverRegion`, bidang ini mewakili primer`objectVersionLabel`.  
**JMESPath**  
(Opsional) Peta kunci dalam parameter ke file yang akan dipasang di Amazon EKS. Untuk menggunakan bidang ini, nilai parameter Anda harus dalam format JSON.   
Contoh berikut menunjukkan seperti apa parameter yang dikodekan JSON.  

```
{
    "username" : "myusername",
    "password" : "mypassword"
}
```
Kuncinya adalah `username` dan`password`. Nilai yang terkait dengan `username` is`myusername`, dan nilai yang terkait dengannya `password` adalah`mypassword`.  
Jika Anda menggunakan bidang ini, Anda harus menyertakan subbidang `path` dan`objectAlias`.    
**path**  
Kunci dari pasangan kunci-nilai di JSON dari nilai parameter. Jika bidang berisi tanda hubung, gunakan tanda kutip tunggal untuk menghindarinya, misalnya: `path: '"hyphenated-path"'`  
**Objectalias**  
Nama file yang akan dipasang di Amazon EKS Pod. Jika bidang berisi tanda hubung, gunakan tanda kutip tunggal untuk menghindarinya, misalnya: `objectAlias: '"hyphenated-alias"'`  
**`failoverObject`**  
(Opsional) Jika Anda menentukan bidang ini, ASCP mencoba untuk mengambil kedua parameter yang ditentukan dalam primer `objectName` dan parameter yang ditentukan dalam sub-bidang. `failoverObject` `objectName` Jika salah satu mengembalikan `4xx` kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari primer`objectName`, maka ASCP memasang nilai parameter tersebut. Jika parameter tidak berhasil diambil dari primer`objectName`, tetapi berhasil diambil dari failover`objectName`, maka ASCP memasang nilai parameter tersebut. Jika Anda menyertakan bidang ini, Anda harus menyertakan bidang tersebut`objectAlias`. Untuk contoh cara menggunakan bidang ini, lihat[Failover ke parameter yang berbeda](#failover-parameter).  
Anda biasanya menggunakan bidang ini ketika parameter failover bukan replika. Untuk contoh cara menentukan replika, lihat[Failover parameter Multi-Wilayah](#multi-region-failover).    
**objectName**  
Nama atau ARN lengkap dari parameter failover. Jika Anda menggunakan ARN, Wilayah di ARN harus cocok dengan bidang. `failoverRegion`  
**ObjectVersion**  
(Opsional) ID versi parameter. Harus cocok dengan yang utama`objectVersion`. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui parameter. Secara default versi terbaru digunakan.   
**objectVersionLabel**  
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru`AWSCURRENT`.

### Buat SecretProviderClass konfigurasi dasar untuk me-mount parameter di Pod Amazon EKS Anda.


------
#### [ Pod Identity ]

SecretProviderClass untuk menggunakan parameter di cluster Amazon EKS yang sama:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameter-store
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "MyParameter"
        objectType: "ssmparameter"
    usePodIdentity: "true"
```

------
#### [ IRSA ]

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: deployment-aws-parameter
spec:
  provider: aws
  parameters:
    objects: |
        - objectName: "MyParameter"
          objectType: "ssmparameter"
```

------

### SecretProviderClass penggunaan


Gunakan contoh ini untuk membuat `SecretProviderClass` konfigurasi untuk skenario yang berbeda.

#### Contoh: Pasang parameter dengan nama atau ARN


Contoh ini menunjukkan cara memasang tiga jenis parameter yang berbeda:
+ Parameter yang ditentukan oleh ARN penuh
+ Parameter yang ditentukan oleh nama
+ Versi parameter rahasia

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6"
      - objectName: "MyParameter3"
        objectType: "ssmparameter"
      - objectName: "MyParameter4"
        objectType: "ssmparameter"
        objectVersionLabel: "AWSCURRENT"
```

#### Contoh: Pasang pasangan nilai kunci dari parameter


Contoh ini menunjukkan cara memasang pasangan nilai kunci tertentu dari parameter berformat JSON:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3"
        jmesPath: 
            - path: username
              objectAlias: dbusername
            - path: password
              objectAlias: dbpassword
```

#### Contoh: Contoh konfigurasi Failover


Contoh-contoh ini menunjukkan cara mengkonfigurasi failover untuk parameter.

##### Failover parameter Multi-Wilayah


Contoh ini menunjukkan cara mengonfigurasi failover otomatis untuk parameter yang direplikasi di beberapa Wilayah:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "MyParameter"
```

##### Failover ke parameter yang berbeda


Contoh ini menunjukkan cara mengonfigurasi failover ke parameter yang berbeda (bukan replika):

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3"
        objectAlias: "MyMountedParameter"
        failoverObject: 
          - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
```

## Sumber daya tambahan


Untuk informasi selengkapnya tentang penggunaan ASCP dengan Amazon EKS, lihat sumber daya berikut:
+ [Menggunakan Pod Identity dengan Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI Driver di GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)