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. | Nie | true |
validate-not-after | Wartość logiczna. Sprawdza poprawność wartości względem bieżącej godziny. Wyrażenia zasad nie są dozwolone. | Nie | 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
- Sekcje zasad: ruch przychodzący
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy
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>
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Zestaw narzędzi zasad usługi Azure API Management
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure