View a markdown version of this page

AWS Contoh kode Penyedia Rahasia dan Konfigurasi - AWS Systems Manager

• 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 dasbor Amazon CloudWatch mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat dokumentasi CloudWatch Dasbor Amazon.

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

AWS Contoh kode Penyedia Rahasia dan Konfigurasi

Otentikasi ASCP dan contoh 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 YAML untuk menjelaskan parameter mana yang akan dipasang di Amazon EKS menggunakan ASCP. Sebagai contoh, lihat SecretProviderClass penggunaan.

SecretProviderClass Struktur YAML

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. Wilayah AWS Jika Anda tidak menggunakan bidang ini, ASCP mencari Region dari anotasi pada node. Pencarian ini menambahkan overhead untuk permintaan mount, jadi sebaiknya Anda menyediakan Wilayah untuk cluster yang menggunakan sejumlah besar Pod.

Jika Anda juga menentukanfailoverRegion, ASCP mencoba 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 itu. Jika parameter tidak berhasil diambil dariregion, tetapi berhasil diambil darifailoverRegion, maka ASCP memasang nilai parameter itu.

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 dariregion, maka ASCP memasang nilai parameter itu. Jika parameter tidak berhasil diambil dariregion, tetapi berhasil diambil darifailoverRegion, maka ASCP memasang nilai parameter itu. Untuk contoh cara menggunakan bidang ini, lihatMulti-Region parameter failover.

Terjemahan jalur

(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 terpasang 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 (_), jadi misalnya, My/Path/Parameter mount asMy_Path_Parameter.

Untuk mencegah substitusi karakter, masukkan stringFalse.

usePodIdentity

(Opsional) Menentukan pendekatan otentikasi. Jika tidak ditentukan, default adalah Peran IAM untuk Akun Layanan (IRSA) (IRSA).

  • Untuk menggunakan EKS Pod Identity, gunakan salah satu nilai berikut: "true" “,"True","TRUE","t", atau"T".

  • Untuk menggunakan IRSA secara eksplisit, atur ke salah satu nilai berikut:"false","False","FALSE","f", atau "F" “=.

preferredAddressType

(Opsional) Menentukan jenis alamat IP yang disukai untuk komunikasi titik akhir Agen Identity Pod. Bidang ini hanya berlaku saat menggunakan fitur EKS Pod Identity dan akan diabaikan saat menggunakan Peran IAM untuk Layanan tidak peka huruf besar/ Accounts.Values kecil. Nilai yang valid adalah:

  • "ipv4", "IPv4" “, atau "IPV4" — Paksa penggunaan titik akhir IPv4 Agen Identity Pod

  • "ipv6","IPv6", atau "IPV6" — Paksa penggunaan titik akhir IPv6 Pod Identity Agent

  • tidak ditentukan — Gunakan pemilihan titik akhir otomatis, coba titik akhir IPv4 terlebih dahulu dan kembali ke titik akhir IPv6 jika IPv4 gagal

objek

Sebuah string yang berisi deklarasi YAML dari rahasia yang akan dipasang. Sebaiknya gunakan string multi-baris YAML atau karakter pipe (|).

Nama Objek

Wajib. Menentukan nama parameter atau rahasia yang akan diambil. UntukParameter Store, ini adalah Name parameter dan dapat berupa nama atau ARN lengkap dari parameter. Untuk Manajer Rahasia ini adalah SecretId parameter dan dapat berupa nama ramah atau ARN lengkap rahasia.

Tipe Objek

Diperlukan jika Anda tidak menggunakan Manajer Rahasia ARN untukobjectName. UntukParameter Store, gunakanssmparameter. Untuk Manajer Rahasia, gunakansecretsmanager.

ObjekTalias

(Opsional) Nama file rahasia di Amazon EKS Pod. Jika Anda tidak menentukan bidang ini, akan objectName muncul sebagai nama file.

Versi Objek

(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 afailoverRegion, bidang ini mewakili yang utamaobjectVersion.

objek VersionLabel

(Opsional) Alias untuk versi. Defaultnya adalah versi terbaruAWSCURRENT. Jika Anda menyertakan afailoverRegion, bidang ini mewakili yang utamaobjectVersionLabel.

JMEpath

(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 danpassword. Nilai yang terkait dengan username ismyusername, dan nilai yang terkait dengan password adalahmypassword.

Jika Anda menggunakan bidang ini, Anda harus menyertakan subbidang path danobjectAlias.

path

Kunci dari pasangan kunci-nilai dalam JSON dari nilai parameter. Jika bidang berisi tanda hubung, gunakan tanda kutip tunggal untuk menghindarinya, misalnya: path: '"hyphenated-path"'

ObjekTalias

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 mengambil parameter yang ditentukan di primer objectName dan parameter yang ditentukan di failoverObject objectName sub-bidang. Jika salah satu mengembalikan 4xx kesalahan, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu parameter. Jika parameter berhasil diambil dari primerobjectName, maka ASCP memasang nilai parameter itu. Jika parameter tidak berhasil diambil dari primerobjectName, tetapi berhasil diambil dari failoverobjectName, maka ASCP memasang nilai parameter itu. Jika Anda menyertakan bidang ini, Anda harus menyertakan bidang tersebutobjectAlias. Untuk contoh cara menggunakan bidang ini, lihatFailover ke parameter yang berbeda.

Anda biasanya menggunakan bidang ini ketika parameter failover bukan replika. Untuk contoh cara menentukan replika, lihatMulti-Region parameter failover.

Nama Objek

Nama atau ARN lengkap dari parameter failover. Jika Anda menggunakan ARN, Wilayah di ARN harus cocok dengan bidang tersebutfailoverRegion.

Versi Objek

(Opsional) ID versi parameter. Harus cocok dengan yang utamaobjectVersion. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui parameter. Secara default versi terbaru digunakan.

objek VersionLabel

(Opsional) Alias untuk versi. Defaultnya adalah versi terbaruAWSCURRENT.

Buat SecretProviderClass konfigurasi dasar untuk memasang parameter di Amazon EKS Pod 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 berdasarkan 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 kunci-nilai dari parameter

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

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.

Multi-Region parameter failover

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 mengkonfigurasi 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 menggunakan ASCP dengan Amazon EKS, lihat sumber daya berikut: