Überprüfen von Clientzertifikaten
GILT FÜR: Alle API Management-Ebenen
Verwenden Sie die validate-client-certificate
-Richtlinie, um zu erzwingen, dass ein einer API Management-Instanz von einem Client präsentiertes Zertifikat mit den angegebenen Validierungsregeln und Ansprüchen wie Antragsteller oder Aussteller für eine oder mehrere Zertifikatidentitäten übereinstimmt.
Um als gültig angesehen zu werden, muss ein Clientzertifikat mit allen Validierungsregeln übereinstimmen, die von den Attributen im Element der obersten Ebene definiert sind, sowie mit allen definierten Ansprüchen für mindestens eine der definierten Identitäten.
Verwenden Sie diese Richtlinie, um eingehende Zertifikateigenschaften anhand der gewünschten Eigenschaften zu überprüfen. Verwenden Sie diese Richtlinie außerdem, um die Standardüberprüfung von Clientzertifikaten in folgenden Fällen außer Kraft zu setzen:
- Wenn Sie benutzerdefinierte Zertifizierungsstellenzertifikate hochgeladen haben, um Clientanforderungen an das verwaltete Gateway zu überprüfen.
- Wenn Sie benutzerdefinierte Zertifizierungsstellen zum Überprüfen von Clientanforderungen an ein selbstverwaltetes Gateway konfiguriert haben.
Weitere Informationen zu benutzerdefinierten Zertifizierungsstellenzertifikaten und Zertifizierungsstellen finden Sie unter Hinzufügen eines benutzerdefinierten Zertifizierungsstellenzertifikats in Azure API Management.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<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>
Attributes
Name | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
validate-revocation | Boolesch. Gibt an, ob das Zertifikat anhand der Onlinesperrliste überprüft wird. Richtlinienausdrücke sind nicht zulässig. | Nein | true |
validate-trust | Boolesch. Gibt an, ob die Validierung fehlschlagen soll, falls die Kette nicht erfolgreich zu einer vertrauenswürdigen Zertifizierungsstelle konstruiert werden kann. Richtlinienausdrücke sind nicht zulässig. | Nein | true |
validate-not-before | Boolesch. Überprüft den Wert anhand der aktuellen Zeit. Richtlinienausdrücke sind nicht zulässig. | Ohne | true |
validate-not-after | Boolesch. Überprüft den Wert anhand der aktuellen Zeit. Richtlinienausdrücke sind nicht zulässig. | Ohne | true |
ignore-error | Boolesch. Gibt an, ob die Richtlinie mit dem nächsten Handler fortfahren oder bei einer fehlgeschlagenen Überprüfung zu „Bei Fehler“ (on-error) springen soll. Richtlinienausdrücke sind nicht zulässig. | Nein | false |
Elemente
Element | BESCHREIBUNG | Erforderlich |
---|---|---|
Identitäten | Fügen Sie dieses Element hinzu, um mindestens ein identity -Element mit definierten Ansprüchen für das Clientzertifikat anzugeben. |
Nein |
Identitätsattribute
Name | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
thumbprint | Zertifikatfingerabdruck. | Nein | – |
serial-number | Seriennummer des Zertifikats. | Nein | – |
common-name | Allgemeiner Name des Zertifikats (Teil der Antragstellerzeichenfolge). | Nein | – |
subject | Antragstellerzeichenfolge. Muss das Format des Distinguished Name einhalten. | Nein | – |
dns-name | Wert des „dnsName“-Eintrags innerhalb des Anspruchs „Alternativer Antragstellername“ (Subject Alternative Name). | Nein | – |
issuer-subject | Antragsteller des Ausstellers. Muss das Format des Distinguished Name einhalten. | Nein | – |
issuer-thumbprint | Fingerabdruck des Ausstellers. | Nein | – |
issuer-certificate-id | Bezeichner der vorhandenen Zertifikatentität, die den öffentlichen Schlüssel des Ausstellers darstellt. Schließt sich mit anderen Ausstellerattributen gegenseitig aus. | Nein | – |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Beispiel
Im folgenden Beispiel wird ein Clientzertifikat überprüft, um die Standardüberprüfungsregeln der Richtlinie abzugleichen, und es wird überprüft, ob der Name des Antragstellers und des Ausstellers den angegebenen Werten entsprechen.
<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>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Azure API Management-Richtlinientoolkit
- Erstellen von Richtlinien mit Microsoft Copilot in Azure