Weryfikowanie certyfikatu klienta

DOTYCZY: Wszystkie warstwy usługi API Management

Użyj zasad, validate-client-certificate aby wymusić, że certyfikat przedstawiony przez klienta w wystąpieniu usługi API Management jest zgodny z określonymi regułami walidacji i oświadczeniami, takimi jak podmiot lub wystawca dla co najmniej jednej tożsamości certyfikatu.

Aby można je było uważać za prawidłowe, certyfikat klienta musi być zgodny ze wszystkimi regułami weryfikacji zdefiniowanymi przez atrybuty w elemecie najwyższego poziomu i dopasować wszystkie zdefiniowane oświadczenia dla co najmniej jednej ze zdefiniowanych tożsamości.

Użyj tych zasad, aby sprawdzić właściwości certyfikatu przychodzącego względem żądanych właściwości. Użyj również tych zasad, aby zastąpić domyślną walidację certyfikatów klienta w następujących przypadkach:

  • Jeśli przekazano niestandardowe certyfikaty urzędu certyfikacji w celu zweryfikowania żądań klientów do bramy zarządzanej
  • Jeśli skonfigurowano niestandardowe urzędy certyfikacji do weryfikowania żądań klientów do bramy zarządzanej samodzielnie

Aby uzyskać więcej informacji na temat niestandardowych certyfikatów urzędu certyfikacji i urzędów certyfikacji, zobacz How to add a custom CA certificate in Azure API Management (Jak dodać niestandardowy certyfikat urzędu certyfikacji w usłudze Azure API Management).

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

<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> 

Atrybuty

Imię i nazwisko/nazwa opis Wymagani Wartość domyślna
validate-revocation Wartość logiczna. Określa, czy certyfikat jest weryfikowany na liście odwołania online. Wyrażenia zasad nie są dozwolone.  Nie. true
validate-trust Wartość logiczna. Określa, czy walidacja powinna zakończyć się niepowodzeniem w przypadku, gdy łańcuch nie może zostać pomyślnie skompilowany do zaufanego urzędu certyfikacji. Wyrażenia zasad nie są dozwolone. Nie. true
validate-not-before Wartość logiczna. Sprawdza poprawność wartości względem bieżącej godziny. Wyrażenia zasad nie są dozwolone. Nr true
validate-not-after Wartość logiczna. Sprawdza poprawność wartości względem bieżącej godziny. Wyrażenia zasad nie są dozwolone. Nr true
ignoruj błąd Wartość logiczna. Określa, czy zasady powinny przejść do następnej procedury obsługi lub przejść do trybu on-error po nieudanej weryfikacji. Wyrażenia zasad nie są dozwolone. Nie. false

Elementy

Element opis Wymagania
Tożsamości Dodaj ten element, aby określić co najmniej jeden identity element ze zdefiniowanymi oświadczeniami w certyfikacie klienta. Nie.

atrybuty tożsamości

Nazwa/nazwisko opis Wymagani Wartość domyślna
Odcisk palca Odcisk palca certyfikatu. Nie. Nie dotyczy
numer seryjny Numer seryjny certyfikatu. Nie. Nie dotyczy
nazwa pospolita Nazwa pospolita certyfikatu (część ciągu podmiotu). Nie. Nie dotyczy
subject Ciąg tematu. Musi być zgodny z formatem nazwy wyróżniającej. Nie. Nie dotyczy
dns-name Wartość wpisu dnsName wewnątrz oświadczenia alternatywnej nazwy podmiotu. Nie. Nie dotyczy
podmiot wystawcy Podmiot wystawcy. Musi być zgodny z formatem nazwy wyróżniającej. Nie. Nie dotyczy
odcisk palca wystawcy Odcisk palca wystawcy. Nie. Nie dotyczy
issuer-certificate-id Identyfikator istniejącej jednostki certyfikatu reprezentującej klucz publiczny wystawcy. Wzajemnie wykluczające się z innymi atrybutami wystawcy. Nie. Nie dotyczy

Użycie

Przykład

Poniższy przykład sprawdza, czy certyfikat klienta jest zgodny z domyślnymi regułami walidacji zasad i sprawdza, czy podmiot i nazwa wystawcy są zgodne z określonymi wartościami.

<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> 

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: