Search code examples
xmlsecurityignitegridgain

Ignite authentication value showing "off" though it is enabled


I've enabled authentication on the server by setting the authenticationEnabled property of IgniteConfiguration to true in Spring XML config file and I have already set the Ignite persistence. But upon checking the ignite log it is still showing authentication is off.

[2019-11-30 20:31:05,645][INFO ][main][IgniteKernal] Security status [authentication=off, tls/ssl=off]

Solution

  • It's because Ignite advanced security provides only authentication for thin clients. It's not a real implementation of GridSecurityProcessor.

    Here is the code used:

    @Override public boolean enabled() {
        if(processor != null)
            return processor.enabled();
    
        return false;
    }
    

    So if GridSecurityProcessor wasn't set, then it will always provide false.

    Please read next:

    https://apacheignite.readme.io/docs/advanced-security

    Apache Ignite does not provide authorization features out-of-the-box. However, for such advanced level security features, you can implement the GridSecurityProcessor interface as part of a custom plugin or choose to use a 3rd party implementation such as this one.

    However, you can check that when you will try to connect using, for example, JDBC then username and password will be required.

    Also, you could try to find some custom guides on how to implement it on the Internet e.g https://medium.com/@aamargajbhiye/how-to-secure-apache-ignite-cluster-cd595b99ec5e.