Autenticazione client MQTT con certificati
Griglia di eventi di Azure broker MQTT supporta l'autenticazione dei client tramite certificati X.509. Il certificato X.509 fornisce le credenziali per associare un determinato client al tenant. In questo modello l'autenticazione avviene in genere una volta durante l'impostazione della sessione. Si presuppone quindi che tutte le operazioni future che usano la stessa sessione provengano da tale identità.
Le modalità di autenticazione supportate sono:
- Certificati emessi da un'autorità di certificazione (CA)
- Certificato client autofirmato - identificazione personale
- Token ID Microsoft Entra
Questo articolo è incentrato sui certificati. Per informazioni sull'autenticazione con i token ID di Microsoft Entra, vedere Autenticare il client con il token ID Microsoft Entra.
Certificati firmati dell'autorità di certificazione (CA)
In questo metodo, un certificato X.509 radice o intermedio viene registrato con il servizio. Essenzialmente, il certificato radice o intermedio usato per firmare il certificato client deve essere registrato prima con il servizio.
Importante
- Assicurarsi di caricare il certificato radice o intermedio usato per firmare il certificato client. Non è necessario caricare l'intera catena di certificati.
- Ad esempio, se si dispone di una catena di certificati radice, intermedio e foglia, assicurarsi di caricare il certificato intermedio che ha firmato i certificati foglia/client.
Durante la registrazione dei client, è necessario identificare il campo del certificato usato per contenere il nome di autenticazione del client. Il servizio corrisponde al nome di autenticazione del certificato con il nome di autenticazione del client nei metadati client per convalidare il client. Il servizio convalida anche il certificato client verificando se è firmato dal certificato radice o intermedio registrato in precedenza.
Certificato client autofirmato - identificazione personale
In questo metodo di autenticazione, il Registro di sistema client archivia l'esatta identificazione personale del certificato che il client userà per l'autenticazione. Quando il client tenta di connettersi al servizio, il servizio convalida il client confrontando l'identificazione personale presentata nel certificato client con l'identificazione personale archiviata nei metadati client.
Nota
- È consigliabile includere il nome di autenticazione client nel campo nome utente del pacchetto di connessione del client. Usando questo nome di autenticazione insieme al certificato client, il servizio sarà in grado di autenticare il client.
- Se non si specifica il nome di autenticazione nel campo nome utente, è necessario configurare i campi di origine alternativi per il nome di autenticazione client nell'ambito dello spazio dei nomi. Il servizio cerca il nome di autenticazione client nel campo corrispondente del certificato client per autenticare la connessione client.
Nella pagina di configurazione nell'ambito dello spazio dei nomi è possibile abilitare origini dei nomi di autenticazione client alternative e quindi selezionare i campi del certificato client con il nome di autenticazione client.
L'ordine di selezione dei campi del certificato client nella pagina di configurazione dello spazio dei nomi è importante. Il servizio cerca il nome di autenticazione client nei campi del certificato client nello stesso ordine.
Ad esempio, se si seleziona prima l'opzione DNS certificato e quindi l'opzione Nome soggetto, durante l'autenticazione della connessione client,
- service controlla prima il campo DNS del nome alternativo soggetto del certificato client per il nome di autenticazione client
- se il campo DNS è vuoto, il servizio controlla il campo Nome soggetto del certificato client
- se il nome di autenticazione client non è presente in uno di questi due campi, la connessione client viene negata
In entrambe le modalità di autenticazione client, si prevede che il nome di autenticazione client venga fornito nel campo nome utente del pacchetto di connessione o in uno dei campi del certificato client.
Campi del certificato client supportati per l'origine alternativa del nome di autenticazione client
È possibile usare uno dei campi seguenti per specificare il nome di autenticazione client nel certificato client.
Opzione di origine del nome di autenticazione | Campo Certificato | Descrizione |
---|---|---|
Nome soggetto certificato | tls_client_auth_subject_dn | Il nome distintivo del soggetto del certificato. |
Dns certificato | tls_client_auth_san_dns | Voce dNSName SAN nel certificato. |
Uri certificato | tls_client_auth_san_uri | Voce uniformResourceIdentifier SAN nel certificato. |
Ip certificato | tls_client_auth_san_ip | L'indirizzo IPv4 o IPv6 presente nella voce SAN iPAddress nel certificato. |
Indirizzo di posta elettronica certificato | tls_client_auth_san_email | Voce rfc822Name SAN nel certificato. |
Passaggi successivi
- Informazioni su come autenticare i client usando la catena di certificati
- Informazioni su come autenticare il client usando il token ID Microsoft Entra