Validar um certificado de cliente
APLICA-SE A: todas as camadas do Gerenciamento de API
Use a política validate-client-certificate
para impor que um certificado apresentado por um cliente a uma instância de Gerenciamento de API corresponda a regras de validação e declarações especificadas como assunto ou emissor para uma ou mais identidades de certificado.
Para ser considerado válido, um certificado de cliente deve corresponder a todas as regras de validação definidas pelos atributos no elemento de nível superior, e corresponder a todas as declarações definidas para pelo menos uma das identidades definidas.
Use essa política para verificar as propriedades do certificado de entrada em relação às propriedades desejadas. Além disso, use essa política para substituir a validação padrão de certificados de cliente nesses casos:
- Se você carregou certificados de autoridade de certificação personalizados para validar solicitações do cliente para o gateway gerenciado
- Se você configurou autoridades de certificação personalizadas para validar solicitações de cliente para um gateway autogerenciado
Para obter mais informações sobre certificados de autoridade de certificação personalizados e autoridades de certificação, consulte Como adicionar um certificado de autoridade de certificação personalizado no Gerenciamento de API do Azure.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
Declaração de política
<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>
Atributos
Name | Descrição | Obrigatório | Padrão |
---|---|---|---|
validate-revocation | Booliano. Especifica se o certificado é validado com base na lista de revogação online. Expressões de política não são permitidas. | Não | true |
validate-trust | Booliano. Especifica se a validação deve falhar caso a cadeia não possa ser criada com êxito para a AC confiável. Expressões de política não são permitidas. | Não | true |
validate-not-before | Booliano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. | Nenhum | true |
validate-not-after | Booliano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. | Nenhum | true |
ignore-error | Booliano. Especifica se a política deve prosseguir para o próximo manipulador ou pular para em erro após a validação com falha. Expressões de política não são permitidas. | Não | false |
Elementos
Elemento | Descrição | Obrigatório |
---|---|---|
identidades | Adicione esse elemento para especificar um ou mais elementos identity com declarações definidas no certificado do cliente. |
Não |
atributos de identidade
Nome | Descrição | Obrigatório | Padrão |
---|---|---|---|
thumbprint | Impressão digital do certificado. | Não | N/D |
serial-number | Número de série do certificado. | Não | N/D |
common-name | Nome comum do certificado (parte da cadeia de caracteres Assunto). | Não | N/D |
subject | Cadeia de caracteres Assunto. Deve seguir o formato de Nome Diferenciado. | Não | N/D |
dns-name | Valor da entrada dnsName dentro da declaração Nome Alternativo da Assunto. | Não | N/D |
issuer-subject | Assunto do emissor. Deve seguir o formato de Nome Diferenciado. | Não | N/D |
issuer-thumbprint | Impressão digital do emissor. | Não | N/D |
issuer-certificate-id | Identificador da entidade de certificado existente que representa a chave pública do emissor. Mutuamente exclusivo com outros atributos do emissor. | Não | N/D |
Uso
- Seções de política: de entrada
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, workspace
Exemplo
O exemplo a seguir valida um certificado de cliente para corresponder às regras de validação padrão da política e verifica se o assunto e o nome do emissor correspondem aos valores especificados.
<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>
Políticas relacionadas
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Criar políticas usando o Microsoft Copilot no Azure