Registro de un certificado de cliente cuando el cliente se conecta a AWS IoT (Registro justo a tiempo - JITP)
Puede configurar un certificado de entidad de certificación para habilitar los certificados de cliente con los que ha firmado para que se registren automáticamente con AWS IoT la primera vez que el cliente se conecta a AWS IoT.
Para registrar certificados de cliente cuando un cliente se conecta a AWS IoT por primera vez, debe habilitar el certificado de entidad de certificación para el registro automático y configurar la primera conexión del cliente para proporcionar los certificados necesarios.
Configurar un certificado de entidad de certificación para admitir el registro automático (consola)
Para configurar un certificado de entidad de certificación para admitir el registro automático de certificados de cliente mediante la consola de AWS IoT
-
Inicie sesión en la consola de administración de AWS y abra la consola de AWS IoT
. -
En el panel de navegación de la izquierda, elija Secure (Seguridad) y, a continuación, elija CAs (Entidades de certificación).
-
En la lista de entidades de certificación, busque aquella para la que desea habilitar el registro automático y abra el menú de opciones mediante el icono de puntos suspensivos.
-
En el menú de opciones, elija Enable auto-registration (Habilitar registro automático).
nota
El estado de registro automático no se muestra en la lista de entidades de certificación. Para ver el estado de registro automático de una entidad de certificación, debe abrir la página Details (Detalles) de la entidad de certificación.
Configurar un certificado de entidad de certificación para admitir el registro automático (CLI)
Si ya ha registrado su certificado de entidad de certificación con AWS IoT, utilice el comando update-ca-certificateautoRegistrationStatus del certificado de entidad de certificación en ENABLE.
aws iot update-ca-certificate \ --certificate-idcaCertificateId\ --new-auto-registration-status ENABLE
Si desea habilitar autoRegistrationStatus al registrar el certificado de entidad de certificación, utilice el comando register-ca-certificate
aws iot register-ca-certificate \ --allow-auto-registration \ --ca-certificate file://root_CA_cert_filename.pem\ --verification-cert file://verification_cert_filename.pem
Utilice el comando describe-ca-certificate
Configurar la primera conexión de un cliente para el registro automático
Cuando un cliente intenta conectarse a AWS IoT por primera vez, el certificado de cliente firmado por su certificado de entidad de certificación debe estar presente en el cliente durante el protocolo de enlace de seguridad de la capa de transporte (TLS).
Cuando el cliente se conecte a AWS IoT, utilice el certificado de cliente que creó en Crear certificados de cliente de AWS IoT o Crear sus propios certificados de cliente. AWS IoT reconoce el certificado de entidad de certificación como un certificado de entidad de certificación registrado, registra el certificado de cliente y establece su estado en PENDING_ACTIVATION. Esto significa que el certificado de cliente se registró automáticamente y que está a la espera de su activación. El estado del certificado de cliente debe ser ACTIVE antes de que se pueda usar para conectarse a AWS IoT. Consulte Activar o desactivar un certificado de cliente para obtener información sobre la activación de un certificado de cliente.
nota
Puede aprovisionar dispositivos mediante la característica Registro justo a tiempo (JITP) de AWS IoT Core sin tener que enviar toda la cadena de confianza de la primera conexión de un dispositivo a AWS IoT Core. La presentación del certificado de entidad de certificación es opcional, pero es necesario que el dispositivo envíe la extensión Indicación del nombre del servidor (SNI)
Cuando AWS IoT registra automáticamente un certificado o cuando un cliente presenta un certificado en estado PENDING_ACTIVATION, AWS IoT publica un mensaje en el tema MQTT siguiente:
$aws/events/certificates/registered/caCertificateId
Donde es el ID del certificado de entidad de certificación que generó el certificado de cliente.caCertificateId
El mensaje publicado en este tema tiene la estructura siguiente:
{ "certificateId": "certificateId", "caCertificateId": "caCertificateId", "timestamp":timestamp, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp" }
Puede crear una regla que escuche este tema y realice algunas acciones. Le recomendamos crear una regla de Lambda que verifique que el certificado de cliente no se encuentre en una lista de revocación de certificados (CRL), active el certificado y cree una política y la asocie a este. La política determina a qué recursos puede tener acceso el cliente. Si la política que va a crear requiere el ID de cliente de los dispositivos que se conectan, puede utilizar la función clientid() de la regla para recuperar el ID de cliente. Un ejemplo de definición de regla sería el siguiente:
SELECT *, clientid() as clientid from $aws/events/certificates/registered/caCertificateId
En este ejemplo, la regla se suscribe al tema de JITR $aws/events/certificates/registered/ y utiliza la función clientid() para recuperar el ID de cliente. A continuación, la regla agrega el ID de cliente a la carga útil de JITR. Para obtener más información sobre la función clientid() de la regla, consulte clientid().caCertificateID
Para obtener más información acerca de cómo crear una regla de Lambda que escuche el tema $aws/events/certificates/registered/ y ejecute estas acciones, consulte Registro justo a tiempo de certificados de cliente en AWS IoTcaCertificateID
Si se produce algún error o excepción durante el registro automático de los certificados de cliente, AWS IoT envía eventos o mensajes a sus registros en Registros de CloudWatch. Para obtener más información acerca de cómo configurar los registros de su cuenta, consulte la documentación de Amazon CloudWatch.