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:
SecretProviderClass
Anda menggunakan YAML untuk menjelaskan rahasia 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:namespec: provider: aws parameters: region: failoverRegion: pathTranslation: usePodIdentity: preferredAddressType: objects:
Bidang parameter berisi rincian permintaan pemasangan:
- region
-
(Opsional) Wilayah AWS Rahasianya. 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 menentukan
failoverRegion, ASCP mencoba mengambil rahasia dari kedua Wilayah. Jika salah satu Wilayah mengembalikan kesalahan 4xx, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu rahasia. Jika rahasia berhasil diambil dariregion, maka ASCP memasang nilai rahasia itu. Jika rahasia tidak berhasil diambil dariregion, tetapi berhasil diambil darifailoverRegion, maka ASCP memasang nilai rahasia itu. - Wilayah Failover
-
(Opsional) Jika Anda menyertakan bidang ini, ASCP mencoba mengambil rahasia dari Wilayah yang ditentukan dalam
regiondan bidang ini. Jika salah satu Wilayah mengembalikan kesalahan 4xx, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu rahasia. Jika rahasia berhasil diambil dariregion, maka ASCP memasang nilai rahasia itu. Jika rahasia tidak berhasil diambil dariregion, tetapi berhasil diambil darifailoverRegion, maka ASCP memasang nilai rahasia itu. Untuk contoh cara menggunakan bidang ini, lihatMulti-Region failover rahasia. - 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. Sebaliknya, ASCP menggantikan karakter pemisah jalur dengan karakter yang berbeda. Jika Anda tidak menggunakan bidang ini, karakter pengganti adalah garis bawah (_), jadi misalnya,
My/Path/Secretmount asMy_Path_Secret.Untuk mencegah substitusi karakter, masukkan string
False. - menggunakan PodIdentity
-
(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"“=.
-
- lebih disukai AddressType
-
(Opsional) Menentukan jenis alamat IP pilihan 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 rahasia atau parameter yang akan diambil. Untuk Manajer Rahasia ini adalah
SecretIdparameter dan dapat berupa nama ramah atau ARN lengkap rahasia. Untuk Penyimpanan Parameter SSM, ini adalah parameter dan dapat berupa nama atau ARN lengkap parameter.Name - Tipe Objek
-
Diperlukan jika Anda tidak menggunakan Manajer Rahasia ARN untuk
objectName. Bisa salah satusecretsmanagerataussmparameter. - ObjekTalias
-
(Opsional) Nama file rahasia di Amazon EKS Pod. Jika Anda tidak menentukan bidang ini, akan
objectNamemuncul sebagai nama file. - Izin berkas
-
(Opsional) String oktal 4 digit yang menentukan izin file untuk memasang rahasia. Jika Anda tidak menentukan bidang ini, itu akan menjadi default
"0644". - Versi Objek
-
(Opsional) ID versi rahasia. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui rahasia. Secara default versi terbaru digunakan. Jika Anda menyertakan a
failoverRegion, bidang ini mewakili yang utamaobjectVersion. - objek VersionLabel
-
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru AWSCURRENT. Untuk informasi selengkapnya, lihat Versi rahasia. Jika Anda menyertakan a
failoverRegion, bidang ini mewakili yang utamaobjectVersionLabel. - JMEpath
-
(Opsional) Peta kunci dalam rahasia file yang akan dipasang di Amazon EKS. Untuk menggunakan bidang ini, nilai rahasia Anda harus dalam format JSON. Jika Anda menggunakan bidang ini, Anda harus menyertakan subbidang
pathdanobjectAlias.- path
-
Kunci dari pasangan kunci-nilai dalam JSON dari nilai rahasia. 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"' - Izin berkas
-
(Opsional) String oktal 4 digit yang menentukan izin file untuk memasang rahasia. Jika Anda tidak menentukan bidang ini, itu akan secara default ke izin file objek induk.
- Objek Failover
-
(Opsional) Jika Anda menentukan bidang ini, ASCP mencoba mengambil rahasia yang ditentukan di primer
objectNamedan rahasia yang ditentukan difailoverObjectobjectNamesub-bidang. Jika salah satu mengembalikan kesalahan 4xx, misalnya untuk masalah otentikasi, ASCP tidak memasang salah satu rahasia. Jika rahasia berhasil diambil dari primerobjectName, maka ASCP memasang nilai rahasia itu. Jika rahasia tidak berhasil diambil dari primerobjectName, tetapi berhasil diambil dari failoverobjectName, maka ASCP memasang nilai rahasia itu. Jika Anda menyertakan bidang ini, Anda harus menyertakan bidang tersebutobjectAlias. Untuk contoh cara menggunakan bidang ini, lihatFailover ke rahasia yang berbeda.Anda biasanya menggunakan bidang ini ketika rahasia failover bukan replika. Untuk contoh cara menentukan replika, lihatMulti-Region failover rahasia.
- Nama Objek
-
Nama atau ARN lengkap dari rahasia failover. Jika Anda menggunakan ARN, Wilayah di ARN harus cocok dengan bidang tersebut
failoverRegion. - Versi Objek
-
(Opsional) ID versi rahasia. Harus cocok dengan yang utama
objectVersion. Tidak disarankan karena Anda harus memperbarui ID versi setiap kali Anda memperbarui rahasia. Secara default versi terbaru digunakan. - objek VersionLabel
-
(Opsional) Alias untuk versi. Defaultnya adalah versi terbaru AWSCURRENT. Untuk informasi selengkapnya, lihat Versi rahasia.
Buat SecretProviderClass konfigurasi dasar untuk memasang rahasia di Amazon EKS Pod Anda.
SecretProviderClass penggunaan
Gunakan contoh ini untuk membuat SecretProviderClass konfigurasi untuk skenario yang berbeda.
Contoh: Pasang rahasia dengan nama atau ARN
Contoh ini menunjukkan cara memasang tiga jenis rahasia yang berbeda:
-
Rahasia yang ditentukan oleh ARN penuh
-
Rahasia yang ditentukan dengan nama
-
Versi spesifik dari sebuah rahasia
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MySecret2-d4e5f6" - objectName: "MySecret3" objectType: "secretsmanager" - objectName: "MySecret4" objectType: "secretsmanager" objectVersionLabel: "AWSCURRENT"
Contoh: Pasang pasangan kunci-nilai dari rahasia
Contoh ini menunjukkan cara memasang pasangan kunci-nilai tertentu dari rahasia: JSON-formatted
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MySecret-a1b2c3" jmesPath: - path: username objectAlias: dbusername - path: password objectAlias: dbpassword
Contoh: Pasang rahasia dengan izin file
Contoh ini menunjukkan cara memasang rahasia dengan izin file tertentu
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "mySecret" objectType: "secretsmanager" filePermission: "0600" jmesPath: - path: username objectAlias: dbusername filePermission: "0400"
Contoh: Contoh konfigurasi failover
Contoh-contoh ini menunjukkan cara mengkonfigurasi failover untuk rahasia.
Multi-Region failover rahasia
Contoh ini menunjukkan cara mengonfigurasi failover otomatis untuk rahasia yang direplikasi di beberapa Wilayah:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "MySecret"
Failover ke rahasia yang berbeda
Contoh ini menunjukkan cara mengkonfigurasi failover ke rahasia yang berbeda (bukan replika):
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: aws-secrets spec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "arn:aws:secretsmanager:us-east-1:777788889999:secret:MySecret-a1b2c3" objectAlias: "MyMountedSecret" failoverObject: - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MyFailoverSecret-d4e5f6"
Sumber daya tambahan
Untuk informasi selengkapnya tentang menggunakan ASCP dengan Amazon EKS, lihat sumber daya berikut: