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.
AWS Proveedor de credenciales de carga de trabajo
El proveedor AWS de credenciales de carga de trabajo automatiza el uso de los certificados TLS públicos y privados exportados desde ACM. El proveedor recupera periódicamente los certificados y sus claves privadas, los escribe en las rutas configuradas y, de forma opcional, ejecuta un comando para volver a cargar los servicios dependientes, como los servidores web.
sugerencia
En el caso de los certificados de confianza pública, puede utilizar el protocolo ACME para automatizar la emisión y la renovación directamente en sus hosts con clientes ACME estándares del sector, sin necesidad de exportar los certificados de ACM. Para obtener más información, consulte Automatización de certificados ACME.
Puede utilizar el proveedor de credenciales de carga de trabajo con los siguientes entornos informáticos:
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
On-premises servidores con AWS credenciales
El proveedor de credenciales de carga de trabajo utiliza la suposición de funciones de IAM para recuperar los certificados. Se ejecuta de forma nativa como un servicio de sistema tanto en Linux como en Windows con un usuario dedicado con pocos privilegios y escribe archivos de certificados con permisos restringidos.
importante
Con este proveedor, solo se pueden usar certificados exportables. Para obtener más información, consulte AWS Certificate Manager certificados públicos exportables Exportación de un certificado privado.
El proveedor AWS de credenciales de carga de trabajo es de código abierto. Para ver el código fuente y las contribuciones, consulta el GitHub repositorio
Cómo funciona la automatización de certificados
El proveedor usa un programador que actualiza cada certificado configurado en un intervalo fijo:
-
El intervalo de actualización es de 24 horas.
-
En cada ciclo, el proveedor exporta el certificado, lo compara con los archivos del disco y escribe nuevos archivos solo si el contenido ha cambiado.
-
Cuando se actualizan los archivos de certificado,
refresh_commandse ejecuta la configuración (por ejemplo, para volver a cargar NGINX o Apache). -
Si el contenido del certificado no ha cambiado, se omite el comando refresh.
El proveedor realiza una actualización inicial cada vez que se inicia el sistema y poco después del inicio del servicio, con una pequeña fluctuación aleatoria para evitar llamadas sincronizadas a la API cuando varios proveedores de la flota inician operaciones simultáneas.
El proveedor también admite la recarga dinámica de la configuración, lo que permite añadir, eliminar o modificar certificados sin tener que volver a instalarlos. Para obtener más información, consulte Recarga de la configuración dinámica.
Requisitos previos
Antes de instalar el proveedor, asegúrese de disponer de lo siguiente:
-
Una instancia de Linux con systemd (Amazon Linux 2023, Ubuntu 20.04+ o RHEL 8+)
-
O una instancia de Windows que ejecute Windows Server 2016 o posterior con 5.1 o posterior PowerShell
-
Acceso de administrador para ejecutar el instalador
-
Un certificado exportable en ACM
-
Un rol de IAM con permisos de exportación de ACM (consulte) Permisos necesarios
-
AWS credenciales disponibles en la instancia (perfil de la instancia, variables de entorno o archivo de credenciales)
Instale el proveedor
Configure el proveedor
Cree un archivo de configuración TOML con los detalles del certificado. El instalador copia este archivo /etc/aws-workload-credentials-provider/config.toml cuando utilice la --config opción.
nota
Si chain_path se omite, la cadena de certificados se anexa al archivo certificate_path para generar un archivo de cadena completa. Esto es compatible con los servidores web que esperan un único archivo que contenga el certificado y su cadena.
Recarga de la configuración dinámica
Puede actualizar la configuración del proveedor sin tener que volver a instalarla ejecutando el acm reload comando. Esto valida la nueva configuración, actualiza los permisos para que coincidan con las nuevas rutas de certificado y reinicia el servicio.
Los certificados eliminados de la configuración dejan de actualizarse. Los certificados nuevos comienzan su primera exportación inmediatamente. Cada certificado se ejecuta como una tarea independiente, por lo que un error en uno no afecta a los demás.
Permisos necesarios
Credenciales base
Las credenciales base del proveedor (entorno o perfil de la instancia) deben poder asumir la función especificada en cada certificadorole_arn:
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
Función de exportación de certificados
El rol especificado en role_arn requiere los siguientes permisos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
La política de confianza del rol debe permitir que la identidad base del proveedor la asuma:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
Actualizar los permisos de comandos (Linux)
En Linux, el proveedor ejecuta el refresh_command proceso sudo configurado. El instalador genera una entrada sudoers /etc/sudoers.d/aws-workload-credentials-provider que permite al usuario proveedor ejecutar exactamente el comando configurado sin necesidad de solicitar una contraseña.
importante
Asegúrese de que /etc/sudoers incluye el /etc/sudoers.d directorio. El instalador avisa si esta directiva de inclusión no está presente. Sin ella, el archivo sudoers generado no tiene ningún efecto y los comandos de actualización fallarán.
En Windows, el proveedor activa la tarea refresh_command como una tarea programada por el SISTEMA.
Verificar la instalación
Tras la instalación, compruebe que el proveedor se esté ejecutando y que se estén redactando los certificados:
Referencia de la configuración
| Campo | Obligatorio | Predeterminado | Description (Descripción) |
|---|---|---|---|
logging.log_level |
No | info |
Verbosidad del registro:debug,,,info, warn error none |
logging.log_to_file |
No | true |
Escribe los registros en el archivo (true) o stdout/stderr () false |
capabilities.acm.enabled |
No | false |
Habilite o deshabilite la capacidad ACM |
certificates[].certificate_arn |
Sí | — | ARN del certificado ACM para exportar |
certificates[].role_arn |
Sí | — | Función de IAM que el ARN asumirá en la llamada ExportCertificate |
certificates[].certificate_path |
Sí | — | Ruta absoluta para escribir el archivo de certificado |
certificates[].private_key_path |
Sí | — | Ruta absoluta para escribir el archivo de clave privada |
certificates[].chain_path |
No | — | Ruta absoluta para escribir la cadena de certificados. Si se omite, la cadena se añade a certificate_path |
certificates[].refresh_command |
No | — | Comando que se ejecuta después de actualizar los archivos de certificado. Debe ser una ruta absoluta |
certificates[].certificate_and_chain_permission |
No | 0600 |
Permisos de archivo para archivos de certificados y cadenas (modeformato Linux) |
certificates[].key_permission |
No | 0600 |
Permisos de archivo para el archivo de clave privada (modeformato Linux) |
Registro
En Linux, el proveedor inicia sesión en/opt/aws/workload-credentials-provider/logs/acm_provider.log.
En Windows, el proveedor inicia sesión enC:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log. Los eventos de inicio y parada del servicio también se registran en el registro de eventos de aplicaciones de Windows, en la fuenteAWSWorkloadCredentialsProvider-ACM.
Rotación del registro: el proveedor crea un nuevo archivo de registro cuando el archivo actual alcanza los 10 MB y almacena hasta cinco archivos de registro archivados.
AWS registro de servicios: cuando el proveedor llamaExportCertificate, esa llamada se graba AWS CloudTrail con una cadena de agente de usuario que contieneaws-workload-credentials-provider. Las operaciones internas del proveedor (ciclos del planificador, escritura de archivos) aparecen únicamente en el registro local.
Puede configurar el registro con los log_to_file ajustes log_level y. Para obtener más información, consulte Referencia de la configuración.