Sdílet prostřednictvím


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é. Ne 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é. Ne 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é. Ne false

Elementy

Element (Prvek) Popis Požaduje se
identity Přidejte tento prvek, který určí až 10 identity dílčích prvků s definovanými deklaracemi identity v klientském certifikátu. Ne

atributy identity

Jméno Popis Požaduje se Výchozí
otisk palce Kryptografický otisk SHA-1 certifikátu Ne
sériové číslo Sériové číslo certifikátu. Ne
common-name Běžný název certifikátu (součást řetězce předmětu). Ne
předmět Řetězec předmětu. Musí následovat formát rozlišujícího názvu, který se skládá z atributů názvů oddělených čárkami, například "CN=MyName, OU=MyOrgUnit, C=US...". Ne
dns-name Hodnota položky dnsName uvnitř deklarace identity alternativního názvu subjektu Ne
subjekt vystavitele Předmět vystavitele. Musí následovat formát rozlišujícího názvu. Ne
issuer-thumbprint Kryptografický otisk SHA-1 vystavitele Ne
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. Ne

Využití

Příklady

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, Inc.", CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

Následující příklad provádí přísnější ověření tím, že čte, zda kryptografický otisk předmětu a kryptografický otisk vystavitele odpovídají 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
            thumbprint="AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"
            issuer-thumbprint="BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11" />
    </identities>
</validate-client-certificate> 

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