Manticore Search Adds Built-in Authentication and Authorization Starting with Version 27.1.5

Manticore Search has introduced native authentication and authorization capabilities for SQL over MySQL, HTTP/HTTPS endpoints, and replication operations. The feature distinguishes between authentication, which identifies the requester, and authorization, which determines permitted actions such as read, write, schema, replication, and admin. Users can enable the feature via the auth directive in the searchd section of the configuration file, supporting both RT mode with auth.json storage and plain mode with an explicit path. Initial setup requires creating an administrator account, after which additional users can be managed through SQL commands like CREATE USER, GRANT, TOKEN, and SET PASSWORD. The system supports mysql_native_password, HTTP Basic authentication, and Bearer tokens, with mandatory SSL or HTTPS recommended for credential transmission. Detailed logging, permission checks, and phased rollout guidance are provided to minimize disruption in production environments.

HabrTranslated from Russian

Read at source

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.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in Other

Mail.ru Reduces Lifetime 1TB Cloud Storage Promo to Standard 8GB Quota for Select Users
Kimi K3 Open Model Surpasses Closed AI Leaders with Million-Token Context and 896 Experts
Innostage Completes Functional Testing of PT NGFW 1.10.3 Across 156 Criteria