开源点云数据处理 开源_大数据开源安全

开源点云数据处理 开源

在安全性方面从未有(恕我直言)已经足够了开源解决方案和布鲁斯已经撰写了有关这几个 时间在过去 ,而且也没有必要再次改写参数。

现在,随着市场上“ NoSQL”和“大数据”开源趋势的发展,安全终于有了交叉路口……如果我愿意的话,可以找到解决困扰我们社会的新解决方案的联合会终于开始兴起(并且已经在许多领域情况)。 由于大数据和开源,现在可以使用新的安全解决方案来解决欺诈,恶意软件,网络钓鱼,垃圾邮件等所有问题。

首先是Apache Accumulo ,它是一个运行在Apache Hadoop之上的大数据,开源和安全NoSQL数据库。 它最初是由美国国家安全局开发的,并在2011年以开放源代码的形式提交给Apache基金会,并且已经进行了3年的开发和生产运营。

Accumulo扩展了BigTable数据模型,以实现称为单元级安全性的安全性机制。 每个键值对都有自己的安全标签,存储在键的列可见性元素下,该标签用于确定给定用户是否满足读取该值的安全要求。 这使各种安全级别的数据可以存储在同一行中,并且具有不同访问权限的用户可以查询同一张表,同时保留数据的机密性。

安全标签表达

应用突变后,用户可以为每个值指定一个安全标签。 这是通过将ColumnVisibility对象传递给put()方法来创建Mutation时完成的:

Text rowID = new Text("row1");
Text colFam = new Text("myColFam");
Text colQual = new Text("myColQual");
ColumnVisibility colVis = new ColumnVisibility("public");
long timestamp = System.currentTimeMillis();Value value = new Value("myValue");Mutation mutation = new Mutation(rowID);
mutation.put(colFam, colQual, colVis, timestamp, value);

安全标签表达语法

安全标签由一组用户定义的令牌组成,这些标签是读取与标签关联的值所必需的。 可以使用支持标记的逻辑“与”或“或”组合以及将标记组嵌套在一起的语法来指定所需的标记集。

例如,假设在我们的组织内,我们希望使用根据用户角色定义的安全性标签来标记我们的数据值。 我们可能有以下令牌:

admin
audit
system
These can be specified alone or combined using logical operators:// Users must have admin privileges:
admin// Users must have admin and audit privileges
admin&audit// Users with either admin or audit privileges
admin|audit// Users must have audit and one or both of admin or system
(admin|system)&audit

当两者 使用&和运算符时,必须使用括号指定运算符的优先级。

授权

当客户端尝试从Accumulo读取数据时,在创建Scanner或BatchScanner时,将根据客户端代码传递的一组授权检查存在的所有安全标签。 如果确定授权不足以满足安全标签,那么将从发送回客户端的结果集中抑制该值。

授权被指定为用户拥有的令牌的逗号分隔列表:

// user possess both admin and system level access
Authorization auths = new Authorization("admin","system");Scanner s = connector.createScanner("table", auths);

用户授权

每个累积用户都有一组关联的安全标签。 要在shell中操作这些命令,请使用setuaths和getauths命令。 这些也可以使用java安全操作API进行修改。

用户创建扫描仪时,会传递一组授权。 如果传递给扫描仪的授权不是用户授权的子集,则将引发异常。

为了防止用户写入他们无法读取的数据,请将可见性约束添加到表中。 在createtable shell命令中使用-evc选项可以启用此约束。 对于现有表,请使用以下shell命令启用可见性约束。 确保约束编号不与任何现有约束冲突。

config -t table -s
table.constraint.1=org.apache.accumulo.core.security.VisibilityConstraint

具有alter table权限的任何用户都可以添加或删除此约束。 如果存在此问题,则此约束不适用于批量导入的数据,然后禁用批量导入权限。

安全授权处理

对于为许多用户提供服务的应用程序,预计不会为每个应用程序用户创建一个累积用户。 在这种情况下,必须创建具有任何应用程序用户所需的所有授权的累积用户。 要提供查询服务,应用程序应创建具有应用程序用户授权的扫描程序。 这些授权可以从受信任的第三方获得。

通常,生产系统将与公钥基础结构(PKI)集成,并在查询层中指定客户端代码,以便与PKI服务器进行协商,以对用户进行身份验证并检索其授权令牌(凭证)。 这要求用户仅指定对系统进行身份验证所需的信息。 一旦建立了用户身份,即可通过客户端代码访问其凭据,并将其凭据传递给用户无法获得的Accumulo。

查询服务层

由于与Accumulo进行交互的主要方法是通过Java API,因此生产环境通常要求实现查询层。 可以使用Web服务在诸如Apache Tomcat之类的容器中完成此操作,但这不是必需的。 查询服务层提供了一种机制,该机制提供了一个平台,可以在该平台上构建面向用户的应用程序。 这使应用程序设计人员可以隔离潜在的复杂查询逻辑,并可以方便地执行基本的安全功能。

几种生产环境选择在此层实施身份验证,其中用户标识符用于检索其访问凭据,然后将其缓存在查询层中,并通过授权机制提供给Accumulo。

通常,查询服务层位于Accumulo和用户工作站之间。

Apache Accumulo 1.5版刚刚随文档一起发布下载

新的软件即服务解决方案将与新兴的开源解决方案一起涌入市场。 无论我们是试图防止医疗保健欺诈,保护个人免遭盗窃还是保护公司免受入侵,所有这些都不会损害(C)机密性,(I)完整性和(A)数据可用性以及分发系统的安全性。

参考: All Things Hadoop博客上的JCG合作伙伴 Joe Stein提供的大数据开源安全性 。

翻译自: https://www.javacodegeeks.com/2013/07/big-data-open-source-security.html

开源点云数据处理 开源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348437.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为您的Web应用程序启用两因素身份验证

支持两因素身份验证(2FA)几乎总是一个好主意,尤其是对于后台系统。 2FA有许多不同的形式,其中一些包括SMS,TOTP甚至是硬件令牌 。 启用它们需要类似的流程: 用户转到其个人资料页面(如果要在注…

redis java序列化_java处理redis的几种序列化策略

简单记录一下java处理redis的几种序列化策略,这里使用的环境是springboot 2.0.4springboot中提供了StringRedisTemplate和RedisTemplate两种序列化类,它们都只能读自己存的数据,即数据互不相通。主要区别如下:1、采用的序列化策略…

java 访问内部类的属性_java中的内部类详细总结

内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方…

迟来总比没有好:SSE或服务器发送的事件现在已在JAX-RS中

服务器发送的事件 (或简称为SSE )是非常有用的协议,它允许服务器通过HTTP将数据推送到客户端。 这是我们的网络浏览器支持的年龄,但令人惊讶的是, JAX-RS规范在很长一段时间内都忽略了这一点。 尽管Jersey提供了适用于…

java 面向对象继承的思想_Java面向对象思想

Java类的定义:成员变量会默认初始化,局部变量不会默认初始化。如何在内存中区分类和对象:♦类是静态的概念,代码区♦对象是new出来的,位于堆内存,类的每一个成员变量在不同的对象中都有不同的值(除了静态变…

java 垃圾回收手动回收_Java垃圾回收(4)

java 垃圾回收手动回收G1:垃圾优先 G1收集器是热点JVM中要实现的最新收集器。 自Java 7 Update 4以来,它一直是受支持的收集器。OracleGC团队也公开表示,他们对低暂停GC的希望是完全实现的G1。 这篇文章来自我之前的垃圾收集博客文章&#xf…

使用正确的垃圾收集器将Java内存使用量降至最低

大小对于软件至关重要。 很明显,与大型整体方法相比,在微服务体系结构中使用小型组件具有更多优势。 最新的Java版本的Jigsaw可帮助分解旧应用程序或从头开始构建新的云原生应用程序。 这种方法减少了磁盘空间,构建时间和启动时间。 但是&am…

java 鼠标画多个圆形_点击鼠标不同的建(左、中、右)画一个不同颜色的圆

[java]代码库import java.awt.Color;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;public class T1 extends JFrame{int x;int y;Color c;public T1(){this.setSize(600,400);this.setDefaultCl…

jslint4java_JSLint检测javascript的错误提示

“Missing semicolon.” : “缺少分号.”,“Use the function form of \”use strict\”.” : “使用标准化定义function.”,“Unexpected space after ‘-’.” : “在’-后面不应出现空格.”,“Expected a JSON value.” : “请传入一个json的值.”,“Mixed spaces and tabs.…

jar运行 osgi保存_自动化的OSGi测试运行程序

jar运行 osgi保存在我的团队成员中,我以忘记维护(JUnit)测试套件而闻名。 我只是无法完成手动添加测试套件这一额外步骤。 幸运的是,有连续的集成服务器可以按命名模式收集测试。 如果我介绍的一项孤立测试失败了,那么…

mysql 去掉默认约束_06. 默认约束-创建、添加和删除

# 数据库的基本操作创建 删除 数据库、创建 删除表修改 表名 数据类型 字段名 添加字段删除 字段 调整字段位置 更换存储引擎 删除外键删除 数据表 包括被关联父表# 数据完整性六项约束主键约束(PRIMARY KEY)自增约束(AUTO_INCREMENT PRIMARY KEY)唯一约束(UNIQUE)默认约束(DEF…

通过粘性仙人掌基元进行延迟加载和缓存

您显然知道什么是延迟加载 ,对吗? 而且您无疑知道缓存 。 据我所知,Java中没有一种优雅的方法来实现它们中的任何一个。 这是我在Cactoos原语的帮助下为自己找到的。 Matteo Garrone的《 Reality(2012)》 假设我们需…

mysql与sim900a_sim900a的应用,基于SIM900A-GPRS模块的远程文件传输实例

SIM900A是一个比较实用的GPRS模块,进行简单的配置就可以进行用于数据传输,配置使用AT指令进行交互,用GPRS远程传输数据时,有两种方式,一种是正常的模式,没法送一次要发送0x1a来开启数据发送,另一…

java语言编程基础_java语言编程基础

java语言基本要素高级语言如c、c#、java等都有一些共同性的东西:关键字、标识符、运算符、注释、数据类型、常量和变量、语句、函数、数组。高级语言在这些要素上大同小异。Java关键字:一些有特定含义,有专门用途的字符串(keyword)。Java中关…

junit mockito_JUnit和Mockito合作

junit mockito这次,我想对测试框架Mockito进行概述。 毫无疑问,这是用于测试Java代码的最受欢迎的工具之一。 我已经对Mockito的竞争对手EasyMock进行了概述。 这篇文章将基于有关EasyMock的示例应用程序。 我的意思是代表咖啡机功能的类。 使用Mockito…

debian10树莓派4安装mysql_树莓派4上如何安装 Raspbian Buster

随着 Raspberry Pi 4 主板的问世,了解如何使用Raspbian Buster设置您的操作系统。你的新Pi 4到了邮箱,你已经设置了办公桌,您已准备好安装操作系统。对于初学者来说,Raspbian为Pi制造商提供了出色的桌面体验。最重要的是&#xff…

借助财务客户评估解决方案在云中构建AppDev

现代JBoss BRMS时代最古老的业务逻辑演示是2012年6月发布的“ 客户评估”示例 。 那时,JBoss BRMS包含规则,事件和流程。 该项目提供了一个完整安装和配置的环境,用于展示该项目和所有可用的BPM组件。 它包括一个带有单元测试的JBoss Develo…

jvm 性能_JVM性能魔术

jvm 性能HotSpot是我们众所周知和喜爱的JVM,是Java和Scala汁流淌的大脑。 多年来,许多工程师对其进行了改进和调整,并且每次迭代时,其代码执行的速度和效率都接近于本机编译代码。 JIT(“及时”)编译器是…

java高级编程期末考试题_java高级编程考题

Java高级课程测试1在进行swing开发时,经常用的布局管理器有那几种?(5)2Gui组件,容器,框架,到底有怎样的关系,请举例说明?(5)3在进行swing开发中会用到事件处理,那事件处理的三个主要…

spring 事务 会话_测试Spring的“会话”范围

spring 事务 会话在基于Spring的Web应用程序中,bean的作用域可以是用户“会话”。 从本质上讲,这意味着对会话范围Bean的状态更改仅在用户会话范围内可见。 本条目的目的是简单地突出显示Spring Test MVC提供的一种方法,用于测试将会话范围的…