Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Comience a utilizar AWS Private CA Connector for Kubernetes.
En los siguientes temas, se muestra cómo utilizarlos AWS Private CA para proteger las comunicaciones en un clúster de Kubernetes. Para ver otro ejemplo, consulta Encryption in transit for
Puede utilizar una autoridad de certificación privada para proteger las comunicaciones con sus clústeres de Amazon EKS. Antes de comenzar, asegúrese de que dispone de lo siguiente:
-
Una AWS cuenta con los permisos adecuados dentro del ámbito de sus políticas de seguridad.
-
Un clúster de Kubernetes. Para crear un clúster de Amazon Elastic Kubernetes Service, consulte la guía de inicio rápido de Amazon EKS. Para simplificar, cree una variable de entorno que contenga el nombre del clúster:
export CLUSTER=aws-privateca-demo -
El Región de AWS lugar donde se encuentran su clúster de CA y Amazon EKS. Para simplificar, cree una variable de entorno que contenga la región:
export REGION=aws-region -
El nombre de recurso de Amazon (ARN) de una entidad de certificación AWS Private CA privada. Para simplificar, cree una variable de entorno que contenga el ARN de CA privado:
export CA_ARN="arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID"Para crear una CA privada, consulte https://docs.aws.amazon.com/privateca/latest/userguide/create-CA.html Crear una CA privada en AWS Private CA
-
Un ordenador con el siguiente software instalado:
-
AWS CLI v2 configurado
-
Para clústeres que no son de Amazon EKS, Helm v3
-
Instale cert-manager
Para usar una CA privada, debe instalar el cert-manager> complemento que solicita los certificados, los distribuye y automatiza la renovación de los certificados. También debe instalar el aws-private-ca-issuer complemento que le permite emitir certificados privados desde. AWS Private CA Siga los siguientes pasos para instalar el complemento y el complemento.
Configurar los permisos de IAM
El aws-privateca-issuer complemento requiere permiso para interactuar con él AWS Private CA. Para los clústeres de Amazon EKS, utilice la identidad del pod. Para otros clústeres, utilice AWS Identity and Access Management Roles Anywhere.
En primer lugar, cree una política de IAM. La política utiliza la política AWSPrivateCAConnectorForKubernetesPolicy gestionada. Para obtener más información sobre la política, consulte la guía AWSPrivateCAConnectorForKubernetesPolicyde referencia de políticas AWS gestionadas.
Instale y configure el emisor del AWS Private CA clúster
Para instalar el aws-privateca-connector-for-kubernetes complemento, utilice los siguientes comandos:
Espere a que el emisor esté listo. Utilice el siguiente comando :
kubectl wait --for=condition=ready pods --all -n aws-privateca-issuer --timeout=120s
Y, a continuación, verifica la instalación para asegurarte de que todos los pods hayan alcanzado el READY estado siguiente:
kubectl -n aws-privateca-issuer get all
Para configurarlosaws-private-ca-cluster-issuer, crea un archivo YAML con un nombre cluster-issuer.yaml que contenga la configuración del emisor:
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
A continuación, aplique la configuración del clúster:
kubectl apply -f cluster-issuer.yaml
Compruebe el estado del emisor:
kubectl describe awspcaclusterissuer aws-privateca-cluster-issuer
Verá una respuesta parecida a la siguiente:
Status:
Conditions:
Last Transition Time: 2025-08-13T21:00:00Z
Message: AWS PCA Issuer is ready
Reason: Verified
Status: True
Type: Ready
Administre el certificado del AWS Private CA cliente con cert-manager
Si no utiliza un clúster de Amazon EKS, después de iniciar manualmente un certificado de confianza, aws-privateca-issuer puede realizar la transición a un certificado de autenticación de cliente gestionado porcert-manager. Esto permite cert-manager renovar automáticamente el certificado de autenticación del cliente.
-
Cree un archivo llamado
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 -
Cree el nuevo certificado de autenticación de cliente administrado:
kubectl apply -f pca-auth-cert.yaml -
Valide que se haya creado el certificado:
kubectl get certificate aws-privateca-client-cert -n aws-privateca-issuerVerá una respuesta parecida a la siguiente:
NAME READY SECRET AGE aws-privateca-client-cert True aws-privateca-credentials 19m
Emita su primer certificado TLS
Ahora que los cert-manager y aws-privateca-issuer están instalados, puede emitir un certificado.
Cree un archivo YAML con el nombre certificate.yaml que contenga el recurso del certificado:
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
Aplique el certificado mediante el siguiente comando:
kubectl apply -f certificate.yaml
A continuación, puede comprobar el estado del certificado con los siguientes comandos:
kubectl get certificate example-certificate kubectl describe certificate example-certificate
Deberías ver una respuesta similar a esta:
NAME READY SECRET AGE
example-certificate True example-certificate-tls 30s
Puede inspeccionar el certificado emitido con el siguiente comando:
kubectl get secret example-certificate-tls -o yaml
También puede decodificar y examinar el certificado con el siguiente comando:
kubectl get secret example-certificate-tls -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -text -noout