Skip to main content
This document explains the detailed usage of a specific policy. If you are using Apinizer policies for the first time or want to learn the general working principles of policies, we recommend reading the What is Policy? page first.

Overview

What is its Purpose?

  • Perform authentication by making client certificate mandatory in corporate API Proxy traffic and ensure only authorized clients have access.
  • Eliminate fake certificate risk by verifying that certificate hierarchy matches trusted Certificate Authority (CA) chains.
  • Create access strategy specific to certain organizations or devices by matching client certificate with predefined Issuer ACL lists.
  • Strengthen identity obtained from certificate with policy-dependent role controls by working together with authorization module.

Working Principle

  1. Request Arrival: For each HTTP/HTTPS request arriving at the API Gateway, the source IP address of the request is identified.
  2. Policy Check: If the mTLS Authentication policy is active, the system checks in the following order:
    • Is a Condition defined? If so, is the condition met?
    • Is the policy active (active=true)?
    • Is a Variable being used or is Apinizer default?
  3. Certificate and Issuer Verification: After mTLS handshake is completed, validity dates, signature, and defined issuer list of client certificate are verified; optionally, matching is sought with Issuer ACL records.
  4. Decision Making:
    • Match Found: Certificate is accepted, identity information and roles are added to header fields if needed, request routing is allowed.
    • No Match: Certificate or issuer verification fails, request routing is stopped and configured error response is returned.
  5. Error Handling: Customizable HTTP status code and error message are returned for requests that do not comply with the policy rule.

Features and Capabilities

Basic Features

  • Certificate Issuer Verification: Compares issuer information of incoming client certificate with registered CA chains and Issuer ACL lists.
  • Dynamic Certificate Validity Check: Instantly rejects invalid certificates by checking certificate date and signature integrity for each request.
  • ACL-Based Access: Defines permissions specific to certain network segments by expanding issuer-based access controls with IP verification.
  • Active/Passive Status Control: Easily change the active or passive status of the policy (active/passive toggle). In passive mode, the policy is not applied but its configuration is preserved.
  • Condition-Based Application: Determine when the policy will be applied by creating complex conditions with Query Builder (e.g., only for specific endpoints or header values).

Advanced Features

  • Header Injection Management: Transfers to downstream services by writing user identity and roles extracted from certificate subject to custom header fields.
  • Authorization Service Integration: Combines mTLS authentication with role-based access by activating authorization flows from API, database, or Secret Manager sources.
  • Method-Based Permission Restrictions: Controls sensitive operations at granular level by defining access rules according to HTTP method.
  • Export/Import Feature: Export policy configuration as a ZIP file. Import to different environments (Development, Test, Production). Version control and backup capability.
  • Policy Group and Proxy Group Support: Manage multiple policies within Policy Group. Bulk policy assignment to Proxy Groups. Centralized update and deploy operations.
  • Deploy and Versioning: Deploy policy changes to live environment. See which API Proxies use it (Policy Usage). Proxy Group and Policy Group usage reports.

Usage Scenarios

Configuring Policy Parameters

In this step, users can create a new policy or configure existing policy parameters to define access rules. The defined parameters directly affect how the policy works (e.g., which IPs will be allowed, geographical restrictions, conditional activations, etc.). This allows the policy to be customized according to organization-specific requirements while being centrally manageable.

Creating a New mTLS Authentication Policy

mTLS Authentication Policy

Configuration Steps

For descriptions of Conditions and Error Message Customization panels, you can review the Conditions and Error Message Customization sections on the What is Policy? page. For a complete guide on all layers, priority order and scenario examples of the error message configuration system, see the Error Message Configuration Guide page.

Deleting the Policy

For deletion steps of this policy and operations to be applied when in use, you can refer to the Remove Policy from Flow section on the Policy Management page.

Exporting/Importing the Policy

For export (Export) and import (Import) steps of this policy, you can refer to the Export/Import page.

Connecting the Policy to API

For the process of how this policy will be connected to APIs, you can refer to the Connect Policy to API section on the Policy Management page.

Advanced Features

Best Practices

Things to Do and Best Practices

Security Best Practices

Things to Avoid

Performance Tips

Frequently Asked Questions (FAQ)