Apache Ignite的自定义安全插件



我试图将apache ignite用作内存数据库。
为了启用安全性,我通过以下链接http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

来创建自己的安全插件。

以下是我的实施详细信息

public class IgniteSecurityConfiguration implements PluginConfiguration{
        public class<? extends PluginProvider> providerClass(){
          return IgniteSecurityProvider.class;
        }
    }
public class IgniteSecurityProvider implements PluginProvider{
    @Override
    public IgnitePlugin plugin(){
      return new CASCachePlugin();
    }
} 
    public Object createComponent(PluginContext pluginContext, Class aClass){
       if(aClass.isAssignableFrom(GridSecuriytProcessor.class)){
       return new PasswordSecurityProcessor();
    } else {return null;}
   }
public class PasswordSecurityProcessor implements GridSecurityProcessor,IgnitePlugin
{
@Override
public SecurityContext authenticateNode(ClusterNode clusterNode, SecurityCredentials securityCredentials){
   return new SecurityContext(){
         public SecuritySubject subject(){
           return new SecuritySubjext(){
             //implement methods
           };
         }
        //other implementation methods
    };
}

当我使用示例/config/example-ignite.xml

开始点燃时,请获得异常

由:class org.apache.ignite.ignitecheckedexception:无法启动SPI:TCPDISCOVERYSPI
atrg.apache.ignite.internal.managers.gridmanageradapter.startspi(gridmanageradapter.java:300)
...
...
引起:class org.apache.ignite.spi.ignitespiexception:未能对本地节点进行身份验证(将关闭本地节点)。
atrg.apache.ignite.spi.discovery.tcp.serverimpl.localauthentication(serverimpl.java:975)
请访问org.apache.ignite.spi.discovery.tcp.serverimpl.jointopology(serverimpl.java:863)
.....
由类org.apache.ignite.ignitecheckedexception cust cu.ext:objext:com.x.x.x.x.pasperwordsecurityprocessor
atrg.apache.ignite.marshaller.jdk.jdkmarshller.marshl0(jdkmarahsller.java:85)

对我缺少的东西有任何想法吗?尝试了密码服务器类别以实现可序列化但仍然没有帮助。

IGNITE不提供安全功能,您需要为此实现一个插件。这是一个很好的博客,您可以将其用作示例:http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/

要获得安全支持,您需要查看在IGNITE上构建的商业产品:https://docs.gridgain.com/docs/security-and-audit

有可以安装的插件。我希望您知道插件安装的更改,并且需要在插件罐中添加meta-inf/services/your.plugin.provider条目以激活插件。

如果配置运行良好,则可以在节点启动日志中查看插件。对于任何错误,请在此处粘贴它或在Apache Ignite用户社区询问您的查询。有类似的问题,您可以找到答案。

已经问了一个问题,但我想为新的Apache Ignite版本回答。这适用于Apache Ignite v.2.7.0及以上。

Apache Ignite不会使用其开源版本提供此类安全功能。一个人可以自己实施,也可以使用商业格式分配。

这是实现自定义插件的步骤。

一个人将需要实现 gridSecurityProcessor ,该>用于验证加入节点。

此博客有详细的步骤,可以遵循编写自定义安全插件的详细步骤。

https://www.bugdbug.com/post/how-to-secure-apache-ignite-cluster

最新更新