Validar certificado de cliente
APLICA-SE A: Todas as camadas de gerenciamento de API
Use a validate-client-certificate
política para impor que um certificado apresentado por um cliente a uma instância de Gerenciamento de API corresponda a regras de validação especificadas e declarações, 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 esta política para verificar as propriedades do certificado de entrada em relação às propriedades desejadas. Use também esta política para substituir a validação padrão de certificados de cliente nestes casos:
- Se você carregou certificados de CA personalizados para validar solicitações de clientes 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.
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar 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
Nome | Descrição | Necessário | Predefinição |
---|---|---|---|
validar-revogar | Booleano. Especifica se o certificado é validado em relação à lista de revogação online. Expressões de política não são permitidas. | Não | true |
validar-confiança | Booleano. Especifica se a validação deve falhar caso a cadeia não possa ser criada com êxito para uma autoridade de certificação confiável. Expressões de política não são permitidas. | Não | true |
validar-não-antes | Booleano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. | Não | true |
validar-não-depois | Booleano. Valida o valor em relação à hora atual. Expressões de política não são permitidas. | Não | true |
ignorar-erro | Booleano. Especifica se a política deve prosseguir para o próximo manipulador ou ir para o erro em caso de falha na validação. Expressões de política não são permitidas. | Não | false |
Elementos
Elemento | Description | Obrigatório |
---|---|---|
identidades | Adicione este elemento para especificar um ou mais identity elementos com declarações definidas no certificado do cliente. |
Não |
atributos de identidade
Nome | Descrição | Necessário | Predefinição |
---|---|---|---|
impressão digital | Impressão digital do certificado. | No | N/A |
número de série | Número de série do certificado. | No | N/A |
nome-comum | Nome comum do certificado (parte da cadeia de caracteres Subject). | No | N/A |
requerente | Cadeia de caracteres de assunto. Deve seguir o formato de Nome Distinto. | No | N/A |
dns-nome | Valor da entrada dnsName dentro da declaração Nome Alternativo do Assunto. | No | N/A |
emitente-sujeito | Assunto do emitente. Deve seguir o formato de Nome Distinto. | No | N/A |
impressão digital do emissor | Impressão digital do emissor. | No | N/A |
ID do certificado do emissor | Identificador da entidade de certificação existente que representa a chave pública do emitente. Mutuamente exclusivo com outros atributos do emissor. | No | N/A |
Utilização
- Secções políticas: entrada
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
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údos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure