Ověření klientského certifikátu

PLATÍ PRO: Všechny úrovně služby API Management

validate-client-certificate Pomocí zásad vynucujte, aby certifikát předaný klientem instanci služby API Management odpovídal zadaným ověřovacím pravidlům a deklaracím identity, jako je subjekt nebo vystavitel pro jednu nebo více identit certifikátů.

Aby byl klientský certifikát považován za platný, musí odpovídat všem ověřovacím pravidlům definovaným atributy v elementu nejvyšší úrovně a musí odpovídat všem definovaným deklaracím identity alespoň pro jednu z definovaných identit.

Pomocí této zásady můžete zkontrolovat vlastnosti příchozího certifikátu proti požadovaným vlastnostem. Tuto zásadu také použijte k přepsání výchozího ověřování klientských certifikátů v těchto případech:

  • Pokud jste nahráli vlastní certifikáty certifikační autority pro ověření požadavků klientů na spravovanou bránu
  • Pokud jste nakonfigurovali vlastní certifikační autority pro ověření požadavků klientů na bránu spravovanou vlastním systémem

Další informace o vlastních certifikátech certifikační autority a certifikačních autoritách najdete v tématu Postup přidání vlastního certifikátu certifikační autority ve službě Azure API Management.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Jméno Popis Požaduje se Výchozí
ověření odvolání Logický. Určuje, jestli je certifikát ověřen proti seznamu odvolaných certifikátů online. Výrazy zásad nejsou povolené.  No true
validate-trust Logický. Určuje, jestli by ověření nemělo selhat v řetězu případů, nelze úspěšně sestavit důvěryhodné certifikační autority. Výrazy zásad nejsou povolené. No true
validate-not-before Logický. Ověřuje hodnotu proti aktuálnímu času. Výrazy zásad nejsou povolené. Ne true
validate-not-after Logický. Ověřuje hodnotu proti aktuálnímu času. Výrazy zásad nejsou povolené. Ne true
ignore-error Logický. Určuje, jestli má zásada pokračovat k další obslužné rutině nebo přejít na chybu při neúspěšném ověření. Výrazy zásad nejsou povolené. No false

Elementy

Element (Prvek) Popis Povinní účastníci
identity Přidejte tento prvek pro určení jednoho nebo více identity prvků s definovanými deklaracemi identity v klientském certifikátu. No

atributy identity

Název Popis Požaduje se Výchozí
otisk palce Kryptografický otisk certifikátu No
sériové číslo Sériové číslo certifikátu. No
common-name Běžný název certifikátu (součást řetězce předmětu). No
subject Řetězec předmětu. Musí následovat formát rozlišujícího názvu. No
dns-name Hodnota položky dnsName uvnitř deklarace identity alternativního názvu subjektu No
subjekt vystavitele Předmět vystavitele. Musí následovat formát rozlišujícího názvu. No
issuer-thumbprint Kryptografický otisk vystavitele No
issuer-certificate-id Identifikátor existující entity certifikátu představující veřejný klíč vystavitele Vzájemně se vylučují s jinými atributy vystavitele. No

Využití

Příklad

Následující příklad ověří klientský certifikát tak, aby odpovídal výchozím ověřovacím pravidlům zásady, a zkontroluje, jestli název subjektu a vystavitele odpovídá zadaným hodnotám.

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

Další informace o práci se zásadami najdete v tématech: