Top Banner
CONNECT 2017 CORE ROLE DESIGNER
36

Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Jan 22, 2018

Download

Software

Core Security
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

CONNECT  2017  CORE  ROLE  DESIGNER

Page 2: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

L E A R N M O R E

Michael  MarksProduct  Manager,  Core  Security

Alessandro  Colantonio  Data  Scientist,  Core  Security

Page 3: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

AGENDA

• What  is  Core  Role  Designer?• How  does  it  work?• Demo• What’s  coming  in  future  releases?• Q&A

Page 4: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What  is  Core  Role  Designer?

Page 5: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Discover Interpret Communicate

Identity  Governance  and  analytics  are  merging.

Page 6: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Discover Interpret Communicate

Today’s  analytics  fail  to  communicate  effectively.

Page 7: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Analytics  +  Visualizations

Page 8: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

RBAC  can  lead  to  greater  business  enablement

Page 9: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Current  Role  Mining  Solutions  Make  the  Wrong  Choice

Black  Box

Role  A

Role  B

Role  C

Issues  with  this  approach:

• Are  these  roles  even  right?

• How  do  you  know  you  haven’t  over-­‐ or  under-­‐ provisioned?  

• Are  the  people  getting  these  roles  similar  enough?

Page 10: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Core  Role  Designer  Works  with  ANY  target  system  or  provisioning  platform

Page 11: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

How  does  it  work?

Page 12: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Everything is an  integer…§ Entities can  be  represented with  ordinal numbers• Users:  0=Alice,  1=Bob,  2=Carl,  3=Daniel,  …

• Entitlements:  0=SU01,  1=FB03,  2=F-­‐91,  3=MIGO,  …

§ Subsets of  entities are  represented by  integer sets• A  role  made  up  of  transactions  FB03 and  MIGO  assigned  to  Bob  and  Carl  is  represented  by  the  sets  {1,  3}  and  {1,  2}

Page 13: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Set  operations

Union

Symmetric  Difference

Intersection

Difference

Page 14: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What is the  best  algorithm for  set  intersection?

5 7 10 34 35 51 76

7 34 51 76 90 97∩

=

Page 15: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What is the  best  algorithm for  set  intersection?

5 7 10 34 35 51 76

7 34 51 76 90 97∩

5  =  7  ?

=

Page 16: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What is the  best  algorithm for  set  intersection?

5 7 10 34 35 51 76

7 34 51 76 90 97∩

7  =  7  ?7

=

Page 17: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What is the  best  algorithm for  set  intersection?

5 7 10 34 35 51 76

7 34 51 76 90 97∩

=7 10  =  34  ?

Page 18: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What is the  best  algorithm for  set  intersection?

5 7 10 34 35 51 76

7 34 51 76 90 97∩

=7 34 51 76

• It  is  “optimal”  because  you  iterate  (at  most)  over  all  elements  of  the  two  sets  only  once

• BUT  ONLY  FROM  THEORETICAL POINT  OF  VIEW!

Page 19: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Compressed bitmaps§ Bit arrays (bitmaps) significantly speed up integer set operations

• Exploits bit-level parallelism in hardware to speed up operations• {3, 7, 8, 15} = 1000000110001000• {0, 7, 8, 10} = 0000010110000001• {3, 7, 8, 15} ∩ {0, 7, 8, 10} = 1000000110001000 AND 0000010110000001

§ However, bitmaps usually use a large storage space.• Bitmap compression algorithm that trades some space to allow for fast bitwise

operations without decompressing bitmaps• Colantonio, A., Di Pietro, R. (2010). CONCISE: COmpressed ’N’ Composable

Integer SEt. Information Processing Letters, 110(16), 644-650.

Page 20: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

How  CONCISE  works

Page 21: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

How  to  perform  set  intersection?

32 00100001000101010010101010000101 128 00000000000000011111111111111111

128 00100001000101010010101010000101 160 00100001000101010010101010000101

=128 00000000000000010010101010000101

§ It is a mix of the two approaches:• Use sorted-array intersection to identify two words with the same offset• Use bitwise AND to intersect bits in the words

Page 22: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Memory  footprint§ Close  to  best  approaches  based  on  data  density  (self-­‐adaptive!)

Page 23: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Computational complexity§ Intersection  of  pairs  of  10k  random  integers§ AGAIN,  self-­‐adaptive!

Page 24: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Main  algorithms  in  Sonar§Most  of  the  data  mining  algorithms  are  based  on  set  operations  àyou  can  boost  the  performance  of  all  of  them

§ Algorithms  implemented  in  Sonar  that benefit  from  Concise• Role  mining  (pattern  enumeration  +  optimal  set)• Matrix  visualization• Segregation of  Duties• Missing &  Outlier detection• Role Matching• Minability index• Category Marginality/Variance• Overlapping and  role refactoring• AHP  (Analytic  Hierarchy  Process)

Page 25: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Binary matrices§ Relationships  between  entities  can  be  represented  by  binary  matrices§ A  binary  matrix  can  be  seen  as  a  set  of  rows,  each  row  represented  by  a  compressed  bitmap

§Only non-­‐zero  rows need to  be  represented§Matrix  operations (e.g.,  multiplication)  can  be  easily reduced to  a  sequence of  set  operations (mainly intersections)  on  the  compressedrepresentations of  rows

§Most matrix operations can  be  naturally parallelized by  “distributingrows”  across all the  available cores

Page 26: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Multiplication  of  BMs  =  indirect  relationships

1 1 0 0 0

1 1 0 1 1

1 1 0 1 1

1 1 1 1 0

1 1 1 1 0

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 1 0 0 0

0 0 0 1 1

0 0 1 1 0

email

spen

d  >$500  

teach  stud

ents

supe

rvise

 thesis

Basic  UserFull  ProfessorExternal  Teacher

internet

email

spen

d  >$500  

teach  stud

ents

supe

rvise

 thesis

internet

Basic

 User

Full  Professor

External  Te

ache

r

Page 27: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Back  to  authorization models…

Profiles Accounts Groups ResourcesOrgUnit

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

Parent

OrgUnit

Child  OrgUnit

OrgUnit

Profile

Profile

Account

Accoun

t

Group

Parent

Grou

p

Child  Group

Grou

p

Resource

Accoun

t

Resource

Page 28: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Resources  assigned  to  users  belonging  to  each  OU…

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

Parent

OrgUnit

Child  OrgUnit

OrgUnit

Profile

Profile

Account

Accoun

t

Group

Parent

Grou

p

Child  Group

Grou

p

Resource

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1

Child  OrgUnit

OrgUnit

Profile

Profile

AccountAc

coun

tResource

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1Org

Unit

Resource

1 0 0

1 1 0

1 1 0

1 0 1

1 0 1Org

Unit

Resource

+1 0 0

1 1 0

1 1 0

1 0 1

1 0 1Org

Unit

Resource

OrgUnits which contain profiles thathave resources assigned to  theiraccounts  through groups

OrgUnits which contain profiles thathave resources directly assigned to  their accounts

OrgUnits which contain profiles thathave resources assigned to  theiraccounts,  directly or  indirectlythrough groups

Page 29: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Odata  API§Open  Data  Protocol (OData)  enables the  creation and  consumptionof REST APIs• allows resources,  identified by  URLs and  defined in  a  data  model,  to  be  published• uses simple HTTP  messages

§ producers are  services that expose their data  using the  ODataprotocol

§ consumers are  simply applications that consume data  exposed usingthe  OData  protocol

§More  info:• http://www.odata.org/getting-­‐started/understand-­‐odata-­‐in-­‐6-­‐steps/• http://www.odata.org/getting-­‐started/basic-­‐tutorial/

Page 30: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Example:  requesting an  entity§ GET  http://ODATA_SERVICE/Roles  § Response:

{…'value':  [

{'@odata.id':  'http://ODATA_SERVICE/Roles(‘rid1’),'@odata.etag':  'etag_rid1',…'ID':  'rid1','property1':  'value11','property2':  'value12',…

},{

'@odata.id':  'http://ODATA_SERVICE/Roles(‘rid2’),'@odata.etag':  'etag_rid2',…'ID':  'rid2',                'property1':  'value21','property2':  'value22',…

},…

]}

Page 31: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Demo

Page 32: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

What’s  coming  in  future  releases?

Page 33: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Core  Role  Designer  Tactical  Roadmap

2017 2018Jul Aug Sep Oct Nov Dec 2018

Initial  Launch

Q3 Q4 Q1 Q2

SaaS SOD Multi-­‐level  Entitlement

Page 34: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Core  Role  Designer  Strategic  Roadmap

Core  Role  Designer Core  Role  Lifecycle  Manager

Page 35: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

Q & A

Page 36: Introducing Core Role Designer - Michael Marks Product Manager - Identity, Core Security

THANK  YOU