Manticore Search has added built-in authentication and authorization starting with release 27.1.5. The new functionality applies to SQL connections over the MySQL protocol, HTTP and HTTPS endpoints, and replication-related operations.
Authentication answers the question of who is making the request, while authorization determines what actions that user is allowed to perform. Existing SQL and HTTP clients retain their usual connection patterns, requiring only minimal changes in applications.
New Capabilities in Manticore Search
The release includes several authentication methods and permission controls:
- SQL/MySQL authentication using passwords with mysql_native_password
- HTTP Basic authentication using the same username and password
- HTTP Bearer tokens for scenarios where passwords should not be sent with every request
- Permissions for five distinct actions: read, write, schema, replication, and admin
- Targets that can be specified as exact names such as products, wildcard patterns like logs_*, or global scopes such as *
- SQL commands for managing users, tokens, and rights
- Authentication logging with levels disabled, error, warning, info, all, and trace (default is info)
The access model is intentionally compact. Administrators create users, assign minimal necessary rights, update client applications to send credentials, and verify that unauthorized operations are rejected.
Enabling Authentication
Authentication is activated through the auth parameter in the searchd section of the configuration file. In RT mode, set auth = 1 to store data in auth.json within the data_dir directory. In plain mode, provide an explicit path to the authentication file. SSL for SQL connections and HTTPS for HTTP clients are required when transmitting passwords or tokens. Access to the auth.json file must be strictly limited.
Initializing the First Administrator and Managing Users
After enabling auth and starting searchd, the first administrator is created using the --auth or --auth-non-interactive flag. Subsequent users are created with commands such as CREATE USER, followed by GRANT statements that assign specific actions to targets. The TOKEN command issues or reissues Bearer tokens, while SET PASSWORD updates credentials used for Basic and MySQL authentication. SHOW TOKEN allows verification of token existence without exposing the secret value.
Client Connection Examples
MySQL clients authenticate with the Manticore username and password. HTTP clients can use either Basic authentication or Bearer tokens. Both methods result in the same permission evaluation: the user is identified and the requested action is checked against assigned rights.
Testing and Phased Rollout
After enabling authentication, administrators should verify both successful authorized operations and expected denials, which return HTTP 403 Forbidden or MySQL error 1045. Explicit deny rules created with WITH ALLOW 0 take precedence over more specific grants. For production systems, a staged rollout is recommended: inventory all clients, enable auth on staging, create least-privilege users, update application code, test both success and failure cases, and gradually deploy changes while rotating credentials.
Additional considerations apply to distributed tables and replication clusters, where matching authentication data must exist on remote nodes and the replication action must be granted appropriately.


