secure graph.pdf

Upload: tusharkumar

Post on 01-Jun-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Secure Graph.pdf

    1/21

    Secure GraphJoe FernerAltamira

  • 8/9/2019 Secure Graph.pdf

    2/21

    About Me

    Lead software developer for Lumify Author of Secure Graph

  • 8/9/2019 Secure Graph.pdf

    3/21

    What is Secure Graph?

    Secure Graph is a graph database API tallows security constraints to be applied

    vertices, edges, and properties.

  • 8/9/2019 Secure Graph.pdf

    4/21

    What about existing graph DBs

  • 8/9/2019 Secure Graph.pdf

    5/21

    Neo4j and Titan

    Security not built into the API Hard to integrate security

  • 8/9/2019 Secure Graph.pdf

    6/21

    Secure Graph API - Insert

    Visibility visA = new Visibility("a");Visibility visAandB = new Visibility("a&b");

    Authorizations authA = new AccumuloAuthorizations

    graph.prepareVertex("v1", visA, authA)

    .setProperty("name", "Joe Ferner", visA)

    .setProperty("dateOfBirth", "1977/10/30", visAa

    .save();

  • 8/9/2019 Secure Graph.pdf

    7/21

    Secure Graph API - Query

    Authorizations authA = new AccumuloAuthorizations("a");

    Vertex v1 = graph.getVertex("v1", authA);

    // dataOfBirth not returned

    Authorizations authAandB = new AccumuloAuthorizations("a

    Vertex v1 = graph.getVertex("v1", authAandB);

    // dataOfBirth returned

    Iterable edges = v1.getEdges(Direction.BOTH, authA

  • 8/9/2019 Secure Graph.pdf

    8/21

    API Demo

  • 8/9/2019 Secure Graph.pdf

    9/21

    Blueprints API

    AccumuloGraphgraph =createGraph();

    VisibilityProvidervp =new DefaultVisibilityProvider();

    config.put(authorizationsProvider.auths , a,b);

    AuthorizationsProviderap =newAccumuloAuthorizationsProvider(

    com.tinkerpop.blueprints.GraphblueprintsGraph

    = newAccumuloSecureGraphBlueprintsGraph(graph,vp,ap);

  • 8/9/2019 Secure Graph.pdf

    10/21

    Blueprints API

  • 8/9/2019 Secure Graph.pdf

    11/21

    Blueprints Dem

  • 8/9/2019 Secure Graph.pdf

    12/21

    Other Features

    Multi-valued properties Property Metadata

    Streaming Values

    Exact match indexing

  • 8/9/2019 Secure Graph.pdf

    13/21

    Current Storage Providers

  • 8/9/2019 Secure Graph.pdf

    14/21

    Accumulo

    Distributed key/value store similar to HBwith security.

    Row ID Column

    Family

    Column

    Qualifier

    Column

    Visibility

    Timestamp Va

    row1 props name a C

    row2 props name Jo

    row2 props name a Jo

  • 8/9/2019 Secure Graph.pdf

    15/21

    Secure Graph Tables

    Vertices Edges

    Data

  • 8/9/2019 Secure Graph.pdf

    16/21

    Vertices Table Format

    Row ID Column

    Family

    Column Qualifier Value Description

    V[vertex id] V - - Vertex existence

    V[vertex id] EOUT [edge id] [label] Out edges

    V[vertex id] EIN [edge id] [label] In edges

    V[vertex id] VOUT [vertex id] [edge label] Out vertex

    V[vertex id] VIN [vertex id] [edge label] In vertex

    V[vertex id] PROP [prop name + key] [prop value] Property

    V[vertex id] PROPMETA [prop name + key] [prop meta] Property Metada

  • 8/9/2019 Secure Graph.pdf

    17/21

    Edges Table Format

    Row ID Column

    Family

    Column Qualifier Value Description

    E[edge id] E - - Edge existence

    E[edge id] VOUT [vertex id] - Out vertex

    E[edge id] VIN [vertex id] - In vertex

    E[edge id] PROP [prop name + key] [prop value] Property

    E[edge id] PROPMETA [prop name + key] [prop meta] Property Metada

  • 8/9/2019 Secure Graph.pdf

    18/21

    Data Table Format

    Row ID ColumnFamily

    ColumnQualifier

    Value

    V/E[vertex/edge id + prop name + prop key] - - [data]

  • 8/9/2019 Secure Graph.pdf

    19/21

    Large Data Overflow

    Data that is larger than the default 10Meoverflowed to HDFS if needed.

  • 8/9/2019 Secure Graph.pdf

    20/21

    Elasticsearch

    Data is indexed but not stored in Elastics

    We are working on a solution to apply vis

    to documents but this is not done yet.

  • 8/9/2019 Secure Graph.pdf

    21/21

    Find out more...

    https://github.com/altamiracorp/secure-g