Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mulai dengan AWS Private CA Connector for Kubernetes.
Topik berikut menunjukkan cara menggunakan AWS Private CA untuk mengamankan komunikasi di klaster Kubernetes. Untuk contoh lain, lihat Enkripsi dalam perjalanan untuk Kubernetes
Anda dapat menggunakan otoritas sertifikat pribadi untuk mengamankan komunikasi dengan kluster Amazon EKS Anda. Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
-
AWS Akun dengan izin yang sesuai yang tercakup pada kebijakan keamanan Anda.
-
Sebuah cluster Kubernetes. Untuk membuat cluster Amazon Elastic Kubernetes Service, lihat panduan mulai cepat Amazon EKS. Untuk mempermudah, buat variabel lingkungan untuk menampung nama cluster:
export CLUSTER=aws-privateca-demo -
Wilayah AWS Tempat klaster CA dan Amazon EKS Anda berada. Untuk mempermudah, buat variabel lingkungan untuk menampung Wilayah:
export REGION=aws-region -
Nama Sumber Daya Amazon (ARN) dari otoritas sertifikat AWS Private CA swasta. Untuk mempermudah, buat variabel lingkungan untuk menampung CA ARN pribadi:
export CA_ARN="arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"Untuk membuat CA pribadi, lihat https://docs.aws.amazon.com/privateca/latest/userguide/create-CA.html Buat CA pribadi di AWS Private CA
-
Komputer dengan perangkat lunak berikut diinstal:
-
AWS CLI v2 dikonfigurasi
-
Instal cert-manager
Untuk menggunakan CA pribadi, Anda harus menginstal cert-manager> add-on yang meminta sertifikat, mendistribusikannya, dan mengotomatiskan perpanjangan sertifikat. Anda juga harus menginstal aws-private-ca-issuer plugin yang memungkinkan Anda mengeluarkan sertifikat pribadi dari AWS Private CA. Gunakan langkah-langkah berikut untuk menginstal add-on dan plugin.
Mengonfigurasi izin IAM
aws-privateca-issuerPlugin memerlukan izin berinteraksi dengan AWS Private CA. Untuk klaster Amazon EKS, Anda menggunakan identitas pod. Untuk cluster lain yang Anda gunakan AWS Identity and Access Management Roles Anywhere.
Tinju, buat kebijakan IAM. Kebijakan menggunakan kebijakan AWSPrivateCAConnectorForKubernetesPolicy terkelola. Untuk informasi selengkapnya tentang kebijakan ini, lihat AWSPrivateCAConnectorForKubernetesPolicydi Panduan referensi kebijakan AWS Terkelola.
Instal dan konfigurasikan penerbit AWS Private CA cluster
Untuk menginstal aws-privateca-connector-for-kubernetes add-on, gunakan perintah berikut:
Tunggu penerbit siap. Gunakan perintah berikut ini.
kubectl wait --for=condition=ready pods --all -n aws-privateca-issuer --timeout=120s
Dan kemudian verifikasi instalasi untuk memastikan bahwa semua pod telah mencapai READY status:
kubectl -n aws-privateca-issuer get all
Untuk mengonfigurasiaws-private-ca-cluster-issuer, buat file YAMB bernama cluster-issuer.yaml berisi konfigurasi penerbit:
cat > cluster-issuer.yaml <<EOF apiVersion: awspca.cert-manager.io/v1beta1 kind: AWSPCAClusterIssuer metadata: name: aws-privateca-cluster-issuer spec: arn: "$CA_ARN" region: "$REGION" EOF
Selanjutnya, terapkan konfigurasi cluster:
kubectl apply -f cluster-issuer.yaml
Periksa status penerbit:
kubectl describe awspcaclusterissuer aws-privateca-cluster-issuer
Anda akan melihat respons yang mirip dengan berikut ini:
Status:
Conditions:
Last Transition Time: 2025-08-13T21:00:00Z
Message: AWS PCA Issuer is ready
Reason: Verified
Status: True
Type: Ready
Mengelola sertifikat AWS Private CA klien dengan cert-manager
Jika Anda tidak menggunakan kluster Amazon EKS, setelah Anda mem-bootstrap sertifikat tepercaya secara manual, aws-privateca-issuer Anda dapat beralih ke sertifikat otentikasi klien yang dikelola olehcert-manager. Hal ini memungkinkan cert-manager untuk secara otomatis memperbarui sertifikat otentikasi klien.
-
Buat file bernama
pca-auth-cert.yaml:cat > pca-auth-cert.yaml <<EOF apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: aws-privateca-client-cert namespace: aws-privateca-issuer spec: secretName: aws-privateca-credentials duration: 168h renewBefore: 48h commonName: aws-privateca-issuer privateKey: algorithm: ECDSA size: 256 rotationPolicy: Always usages: - client auth issuerRef: name: aws-privateca-cluster-issuer kind: AWSPCAClusterIssuer group: awspca.cert-manager.io EOF -
Buat sertifikat otentikasi klien terkelola baru:
kubectl apply -f pca-auth-cert.yaml -
Validasi bahwa sertifikat telah dibuat:
kubectl get certificate aws-privateca-client-cert -n aws-privateca-issuerAnda akan melihat respons yang mirip dengan berikut ini:
NAME READY SECRET AGE aws-privateca-client-cert True aws-privateca-credentials 19m
Keluarkan sertifikat TLS pertama Anda
Sekarang setelah cert-manager dan aws-privateca-issuer diinstal, Anda dapat mengeluarkan sertifikat.
Buat file YAMM bernama certificate.yaml yang berisi sumber daya sertifikat:
cat > certificate.yaml <<EOF apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: example-certificate namespace: default spec: secretName: example-certificate-tls issuerRef: name: aws-privateca-cluster-issuer kind: AWSPCAClusterIssuer group: awspca.cert-manager.io commonName: example.internal dnsNames: - example.internal - api.example.internal duration: 2160h # 90 days renewBefore: 360h # 15 days usages: - digital signature - key encipherment - server auth EOF
Terapkan sertifikat menggunakan perintah berikut:
kubectl apply -f certificate.yaml
Anda kemudian dapat memeriksa status sertifikat dengan perintah berikut:
kubectl get certificate example-certificate kubectl describe certificate example-certificate
Anda akan melihat respons yang mirip dengan ini:
NAME READY SECRET AGE
example-certificate True example-certificate-tls 30s
Anda dapat memeriksa sertifikat yang dikeluarkan dengan perintah berikut:
kubectl get secret example-certificate-tls -o yaml
Anda juga dapat memecahkan kode dan memeriksa sertifikat dengan perintah berikut:
kubectl get secret example-certificate-tls -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -text -noout