For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cliente Linux administrado por Intune

Aplicable a la versión 2.9 de SCEPman y posteriores

Este método se puede usar para inscribir certificados para usuarios y dispositivos administrados por Intune.

En este caso, Intune enviará un script para aprovechar la API REST de SCEPman que, a su vez, inscribirá un nuevo certificado o renovará uno ya existente.

Nuestro desarrollador Christoph presentó esta función y algunos detalles de contexto en el Workplace Ninja Usergroup Germany:

Requisitos previos

1. Inscripción de autoservicio

Para inscribir certificados, los usuarios deben estar autenticados para verificar su elegibilidad. Siga esta guía para obtener instrucciones paso a paso sobre cómo configurar esto.

Inscripción de autoservicio

2. Configuración de App Service

Configuración

Requerido para la renovación de certificados

Configura tu App Service de SCEPman para aceptar certificados de cliente mTLS. En el panel Configuration de la sección Settings, verifica que el modo de certificado de cliente en Incoming client certificates esté configurado en Usuario interactivo opcional.

No establezcas el modo de certificado de cliente en Require o Allow, ya que eso rompería el funcionamiento normal de SCEPman en los endpoints SCEP.

Variables de entorno

Para poder hacer uso de este escenario, debes establecer las siguientes variables de entorno en el servicio de aplicaciones de SCEPman.

AppConfig:DbCSRValidation:Enabled

Requerido para la inscripción y renovación de certificados

Establece esta variable en true para habilitar la validación de las solicitudes de firma de certificados (CSR).

AppConfig:DbCSRValidation:AllowRenewals

Requerido para la renovación de certificados

Establece esta variable en true para habilitar las renovaciones de certificados.

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

Requerido para la renovación de certificados

Establece esta variable en una lista de tipos de certificado separados por comas para permitir la renovación. Consulta la documentación enlazada de la variable para obtener una lista de posibles tipos de certificado.

Ejemplo: Static,IntuneUser,IntuneDevice

Este escenario inscribirá certificados del tipo IntuneUser y IntuneDevice dependiendo de tu elección.

3. Requisitos previos del cliente

Los siguientes requisitos previos deben estar presentes en el cliente/host de ejecución para poder usar la API REST de inscripción.

Azure CLI (versión 2.61 y superior)

La CLI de Azure se utiliza para autenticar al usuario que se inscribe para comprobar su elegibilidad y recuperar el token de acceso.

cURL

Se utiliza para enviar el CSR creado al punto de conexión de la API de inscripción de SCEPman y recibir el certificado.

OpenSSL

OpenSSL se utiliza para generar una clave privada y crear un CSR para inscribir o renovar un certificado.

Inscripción en Intune

Sigue la documentación enlazada para inscribir tu cliente Linux en Intune.

Script de inscripción y renovación

El enrollrenewcertificate.sh El script se utilizará para obtener inicialmente un certificado, así como para comprobarlo de forma periódica e intentar su renovación en caso de que se alcance el umbral.

Aunque el script normalmente se ejecuta pasando los parámetros en la terminal, necesitaremos modificar algunas partes para desplegarlo mediante Intune.

Localiza la parte del script que asigna los argumentos pasados en la terminal a la variable y ajústalos a tus necesidades:

Ejemplo de configuración:

APPSERVICE_URL

La URL de la App Service de SCEPman.

Ejemplo: "https://scepman.contoso.net/"

API_SCOPE

Este es el ámbito de la API que puede crear en la SCEPman-api registro de la aplicación en su entorno.

Se le mostrará al usuario el cuadro de diálogo de consentimiento que usted desee y, después, podrá usar la funcionalidad de autoservicio.

Ejemplo: "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR

El directorio donde se creará el certificado o se intentará renovarlo. La clave privada y el certificado raíz también se colocarán aquí.

Ejemplo: ~/certs/

CERT_NAME

El nombre de archivo (sin extensión) del certificado que se creará o se leerá para la renovación.

Ejemplo: "myCertificate"

KEY_NAME

El nombre de archivo de la clave privada que se creará o se leerá para la renovación.

Ejemplo: "myKey"

RENEWAL_THRESHOLD_DAYS

La cantidad de días que deben faltar para que expire el certificado para que el script comience el proceso de renovación.

Ejemplo: 30

CERT_TYPE

El tipo de certificado que se inscribirá.

Puede ser "user" o "device"

CERT_COMMAND

Esto define el comportamiento del script en relación con la inscripción y la renovación:

"auto" creará inicialmente un certificado o renovará un certificado si ya existe y está a punto de caducar.

"renewal" renovará un certificado si está a punto de caducar, pero no creará inicialmente un certificado.

"initial" solo inscribirá un certificado, pero no renovará uno existente.

Consideraciones

  • Este script no cifra las claves generadas (esto requiere introducir una frase de contraseña, por lo que se ha omitido el cifrado para permitir la renovación automática).

  • Si va a renovar certificados protegidos con frase de contraseña desde Certificate Master, deberá introducir esta frase de contraseña para poder renovarlos.

Implementar script

Usando Intune, podemos implementar el script modificado según un horario para inscribir inicialmente un certificado con los parámetros indicados y comprobar periódicamente si necesita renovarse.

Agrega una nueva implementación de script para Linux y asegúrate de configurar el contexto de ejecución para Usuario y, a continuación, carga o pega el contenido del script bash modificado que creaste en la sección anterior.

Ajusta el frecuencia de ejecución de acuerdo con tu umbral de renovación.

Se pedirá al usuario que inicie sesión en la aplicación Azure CLI en la primera ejecución, ya que necesita autenticarse.

Última actualización

¿Te fue útil?