Convalidare il certificato client
SI APPLICA A: Tutti i livelli di Gestione API
Usare i criteri validate-client-certificate
per imporre che un certificato presentato da un client a un'istanza di Gestione API corrisponda alle regole di convalida e alle attestazioni specificate, ad esempio soggetto o emittente, per una o più identità del certificato.
Per essere considerato valido, un certificato client deve corrispondere a tutte le regole di convalida definite dagli attributi nell'elemento di primo livello e corrispondere a tutte le attestazioni definite per almeno una delle identità definite.
Usare questo criterio per controllare le proprietà del certificato in ingresso rispetto alle proprietà desiderate. Usare anche questo criterio per eseguire l'override della convalida predefinita dei certificati client in questi casi:
- Se sono stati caricati certificati CA personalizzati per convalidare le richieste client al gateway gestito
- Se sono state configurate autorità di certificazione personalizzate per convalidare le richieste client a un gateway autogestito
Per altre informazioni sui certificati e le autorità di certificazione personalizzate, vedere Come aggiungere un certificato della CA personalizzato in Gestione API di Azure.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.
Istruzione del criterio
<validate-client-certificate
validate-revocation="true | false"
validate-trust="true | false"
validate-not-before="true | false"
validate-not-after="true | false"
ignore-error="true | false">
<identities>
<identity
thumbprint="certificate thumbprint"
serial-number="certificate serial number"
common-name="certificate common name"
subject="certificate subject string"
dns-name="certificate DNS name"
issuer-subject="certificate issuer"
issuer-thumbprint="certificate issuer thumbprint"
issuer-certificate-id="certificate identifier"/>
</identities>
</validate-client-certificate>
Attributi
Nome | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
convalidare la revoca | Booleano. Specifica se il certificato viene convalidato rispetto all'elenco di revoche online. Le espressioni di criteri non sono consentite. | No | true |
convalidare l'attendibilità | Booleano. Specifica se la convalida deve avere esito negativo nel caso in cui la catena non può essere compilata correttamente fino alla CA attendibile. Le espressioni di criteri non sono consentite. | No | true |
validate-not-before | Booleano. Convalida il valore rispetto all'ora corrente. Le espressioni di criteri non sono consentite. | No | true |
validate-not-after | Booleano. Convalida il valore rispetto all'ora corrente. Le espressioni di criteri non sono consentite. | No | true |
ignore-error | Booleano. Specifica se i criteri devono passare al gestore successivo o saltare all'errore in caso di esito negativo della convalida. Le espressioni di criteri non sono consentite. | No | false |
Elementi
Elemento | Descrizione | Richiesto |
---|---|---|
identità | Aggiungere questo elemento per specificare uno o più elementi identity con attestazioni definite nel certificato client. |
No |
attributi identità
Nome | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
thumbprint | Identificazione personale del certificato. | No | N/D |
numero di serie | Numero di serie del certificato. | No | N/D |
nome comune | Nome comune del certificato (parte della stringa oggetto). | No | N/D |
subject | Stringa del soggetto. Deve seguire il formato del nome distinto. | No | N/D |
dns-name | Valore della voce dnsName all'interno dell'attestazione Nome alternativo soggetto. | No | N/D |
issuer-subject | Oggetto dell'autorità di certificazione. Deve seguire il formato del nome distinto. | No | N/D |
issuer-thumbprint | Identificazione personale dell'autorità di certificazione. | No | N/D |
issuer-certificate-id | Identificatore dell'entità certificato esistente che rappresenta la chiave pubblica dell'autorità emittente. Si escludono a vicenda con altri attributi dell'autorità emittente. | No | N/D |
Utilizzo
- Sezioni del criterio: inbound
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, v2, consumo, self-hosted, area di lavoro
Esempio
Nell'esempio seguente viene convalidato un certificato client in modo che corrisponda alle regole di convalida predefinite dei criteri e controlla se il nome dell'oggetto e dell'autorità emittente corrisponde ai valori specificati.
<validate-client-certificate
validate-revocation="true"
validate-trust="true"
validate-not-before="true"
validate-not-after="true"
ignore-error="false">
<identities>
<identity
subject="C=US, ST=Illinois, L=Chicago, O=Contoso Corp., CN=*.contoso.com"
issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
</identities>
</validate-client-certificate>
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri usando Microsoft Copilot in Azure