0xgeert / Canonical

Chorio - Datalayer as a service
0 stars 0 forks source link

Verzamelbak #23

Open 0xgeert opened 10 years ago

0xgeert commented 10 years ago

Product Vectors

Order of things

  1. scim
    • user creation
      • temp save to ldap implementation?
    • group creation
    • tenant creation
  2. authentication using oAuth2 for Scim endpoints
    • using bearer tokens
  3. oauth 2 for authorization (without 3rd party apps)
    • usable from here! with clients doing hasRole
    • but only for authroization app itself
    • Tenant Role
    • authorization app (resource) should ask authorization server to validate token, etc.
  4. Introduction of App ResourceType (app = client)
    • including Application Owner Role
  5. Simple provisioning
    • implementing birthright provisioning
    • Role-based (only from groups made in cloud not yet from directory)
    • NO approval workflows yet
    • Rule-based (already?). Although, this will blur the line with Role-based, since Rule-based are just dynamic segments where Role-based are Static segments . Where segments (eager read derivation) are used as the basis of auto-provisioning. (ES: voldoen aan query / niet meer voldoen aan query (?) is picked up automatically) which can be used as trigger for all this
  6. Permissions Loads of stuff can be done without this, but useful. think about defining only spefific types of permissions, i.e: API permissions, which is the most straightforward usecase
    • introducing Permission ResourceType:
    • being able to define permissions and how to link them to Groups
    • whole permission resourceType storage etc.
  7. Identity Provider - Directory-as-a-service
    • allows way to save users in cloud
  8. Directory sync and unified whole?
    • multiple directories
    • user merge?
  9. Authentication extras
    • openID Connect
    • multi-factor
    • flows (also more forms)
    • all kinds of strong authentication
  10. SSO / Federation
    • Single Sign in (ala onelogin.com)
  11. Enterprise Provisioning
    • approval workflows
    • request based stuff
    • killswitch / deprovisioing
    • auto-creation of 3rd party app-accounts (and reusing them on move/leave)
    • auto-triggers of provisioning
      • birth / move / leave / manual audit / recertification / auto anomaly detect

Tangently related

0xgeert commented 10 years ago

Authentication

The act of proof delivered by a user that he is who he says he is.

Credential Types

Functionality

oAuth2 for Authentication

OpenID Connect

Authorization

when authenticated to act of granting certain (access)rights to a user.

oauth2

oauth 2 endpoints

grant types

Authorization Code Grant

Implicit Grant

Resource Owner Password Credentials Grant

Client Credentials Grant

usecases (+ grant mapping)

UMA

Group, & Role management

  1. directory group to canonical group mapping
    • option 1: 1-on-1
    • option 2: rule-based
  2. own group creation (hierarchic) as well as Role
    • manual assignment
    • rule-based assignment

Both methods 1. and 2. can be combined.

Identity Management

Functionality

Identity Provider / Directory Syncing

Syncing to multiple Identity providers, such as:

Which ensures a total view of all identity providers together.

Functionality

Provisioning

Way in how Users are assigned rights (aka: permissions, grants, entitlements)

Commonly:

Types

attributes to base provisioning on (besides the request based stuff)

Functionality

SSO / Federation

Federated Search

SCIM: standard

Permissions

Given a custom app authorization can be done based on user.hasRole(roleX) etc. A better more fine-grained way would be to expose a set of permisions, (aka entitlements, grants) and do user.isAuthorized('entitlementA').

advantages of explicit permissions (aka: resource based access control)

Stormpath blog: http://www.stormpath.com/blog/new-rbac-resource-based-access-control mentioning:

Monitoring / Audit