Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beginnen Sie mit AWS Private CA Connector for Kubernetes.
Die folgenden Themen zeigen, wie Sie die Kommunikation in einem AWS Private CA Kubernetes-Cluster sichern können. Ein weiteres Beispiel finden Sie unter Encryption in transit for Kubernetes
Sie können eine private Zertifizierungsstelle verwenden, um die Kommunikation mit Ihren Amazon EKS-Clustern zu sichern. Beginnen Sie erst, wenn Folgendes vorliegt:
-
Ein AWS Konto mit entsprechenden Berechtigungen im Rahmen Ihrer Sicherheitsrichtlinien.
-
Ein Kubernetes-Cluster. Informationen zum Erstellen eines Amazon Elastic Kubernetes Service Service-Clusters finden Sie in der Amazon EKS-Schnellstartanleitung. Der Einfachheit halber erstellen Sie eine Umgebungsvariable, die den Clusternamen enthält:
export CLUSTER=aws-privateca-demo -
Der AWS-Region Ort, an dem sich Ihr CA- und Amazon EKS-Cluster befinden. Erstellen Sie der Einfachheit halber eine Umgebungsvariable für die Region:
export REGION=aws-region -
Der Amazon-Ressourcenname (ARN) einer AWS Private CA privaten Zertifizierungsstelle. Erstellen Sie der Einfachheit halber eine Umgebungsvariable, die den privaten CA-ARN ARN:
export CA_ARN="arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"Informationen zum Erstellen einer privaten Zertifizierungsstelle finden Sie unter https://docs.aws.amazon.com/privateca/latest/userguide/create-CA.html Erstellen einer privaten Zertifizierungsstelle in AWS Private CA
-
Ein Computer, auf dem die folgende Software installiert ist:
-
AWS CLI v2 konfiguriert
-
Helm
v3 für Nicht-Amazon-EKS-Cluster
-
Installieren Sie Cert-Manager
Um eine private Zertifizierungsstelle zu verwenden, müssen Sie das cert-manager> Add-on installieren, das Zertifikate anfordert, verteilt und die Zertifikatserneuerung automatisiert. Sie müssen auch das aws-private-ca-issuer Plugin installieren, mit dem Sie private Zertifikate ausstellen können. AWS Private CA Gehen Sie wie folgt vor, um das Add-on und das Plugin zu installieren.
Konfigurieren Sie IAM-Berechtigungen
Das aws-privateca-issuer Plugin benötigt die Erlaubnis, mit dem Sie interagieren können AWS Private CA. Für Amazon EKS-Cluster verwenden Sie die Pod-Identität. Für andere Cluster verwenden Sie AWS Identity and Access Management Roles Anywhere.
Erstellen Sie zunächst eine IAM-Richtlinie. Die Richtlinie verwendet die AWSPrivateCAConnectorForKubernetesPolicy verwaltete Richtlinie. Weitere Informationen zu der Richtlinie finden Sie AWSPrivateCAConnectorForKubernetesPolicyim Referenzhandbuch für AWS verwaltete Richtlinien.
Installieren und konfigurieren Sie den AWS Private CA Cluster-Issuer
Verwenden Sie die folgenden Befehle, um das aws-privateca-connector-for-kubernetes Add-on zu installieren:
Warten Sie, bis der Emittent bereit ist. Verwenden Sie den folgenden Befehl:
kubectl wait --for=condition=ready pods --all -n aws-privateca-issuer --timeout=120s
Überprüfen Sie anschließend die Installation, um sicherzustellen, dass alle Pods den folgenden READY Status erreicht haben:
kubectl -n aws-privateca-issuer get all
Um das zu konfigurierenaws-private-ca-cluster-issuer, erstellen Sie eine YAML-Datei cluster-issuer.yaml mit dem Namen, die die Konfiguration des Ausstellers enthält:
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
Wenden Sie als Nächstes die Cluster-Konfiguration an:
kubectl apply -f cluster-issuer.yaml
Überprüfen Sie den Status des Emittenten:
kubectl describe awspcaclusterissuer aws-privateca-cluster-issuer
Es wird eine Antwort ähnlich der folgenden angezeigt:
Status:
Conditions:
Last Transition Time: 2025-08-13T21:00:00Z
Message: AWS PCA Issuer is ready
Reason: Verified
Status: True
Type: Ready
Verwalten Sie das AWS Private CA Client-Zertifikat mit cert-manager
Wenn Sie keinen Amazon EKS-Cluster verwenden, können aws-privateca-issuer Sie nach dem manuellen Bootstrap eines vertrauenswürdigen Zertifikats zu einem Client-Authentifizierungszertifikat wechseln, das von verwaltet wirdcert-manager. Dadurch kann cert-manager das Client-Authentifizierungszertifikat automatisch erneuert werden.
-
Erstellen Sie eine Datei mit dem Namen
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 -
Erstellen Sie das neue verwaltete Client-Authentifizierungszertifikat:
kubectl apply -f pca-auth-cert.yaml -
Stellen Sie sicher, dass das Zertifikat erstellt wurde:
kubectl get certificate aws-privateca-client-cert -n aws-privateca-issuerEs wird eine Antwort ähnlich der folgenden angezeigt:
NAME READY SECRET AGE aws-privateca-client-cert True aws-privateca-credentials 19m
Stellen Sie Ihr erstes TLS-Zertifikat aus
Nachdem die cert-manager und installiert aws-privateca-issuer sind, können Sie ein Zertifikat ausstellen.
Erstellen Sie eine YAML-Datei certificate.yaml mit dem Namen, die die Zertifikatsressource enthält:
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
Wenden Sie das Zertifikat mit dem folgenden Befehl an:
kubectl apply -f certificate.yaml
Anschließend können Sie den Status des Zertifikats mit den folgenden Befehlen überprüfen:
kubectl get certificate example-certificate kubectl describe certificate example-certificate
Sie sollten eine Antwort ähnlich der folgenden sehen:
NAME READY SECRET AGE
example-certificate True example-certificate-tls 30s
Sie können das ausgestellte Zertifikat mit dem folgenden Befehl überprüfen:
kubectl get secret example-certificate-tls -o yaml
Sie können das Zertifikat auch mit dem folgenden Befehl dekodieren und überprüfen:
kubectl get secret example-certificate-tls -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -text -noout