Ü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

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> 

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: