Origin
This is Jim Wilson's idea on multi-tenant support in Score.
...
Info |
---|
In this section, “Score” refers to multi-tenant Score instances. |
This design only affects BIE access. This design would not apply to CC access.
Score will use Auth0 for authentication and authorization.
Out of the box, Auth0 supports
Managing users
Managing roles
Managing user-role relationships
Only administrators may manage business contexts in Score.
Each business context may have zero-to-many roles associated with it (managed only by administrators). See Figure 3.
There are many ways to design the UI to show roles associated with a business context and to add/delete them. Figure 3 is just one example.
The built-in roles will be supported (end user, developer, admin) as
Score_End_User
,Score_Developer
, andAdmin
.Tenant roles will begin with
Score_Tenant_
followed by a short name. E.g.,Score_Tenant_AgGateway
.
A user may only access BIEs associated with business contexts that are associated with one of the user’s roles.
...
Logical process for determining what BIEs to show in the BIE list
See https://oagiscore.net/profile_bie.
For each BIE
For each of the BIE’s business contexts
For each of the business context’s roles
Is the user in that role?
Yes: Show the BIE in the list.
No: Don’t show the BIE in the list
Concrete example
Roles
Admin
Developer
End User
AgGateway (tenant)
ACME Brick (tenant)
HR Open Standards (tenant)
Business Contexts
Human Resources
Agriculture
Construction
Entertainment
Users
Bob
Mary
Amy
Roy
Matt
Tess
Ross
BIEs - Business Contexts
…………………….→ Business Context → | Human Resources | Agriculture | Construction | Entertainment | Notes |
---|---|---|---|---|---|
ProcessPurchaseOrder (instance #1) | |||||
ProcessPurchaseOrder (instance #2) | |||||
NotifyShipment (instance #1) | |||||
NotifyWIPStatus (instance #1) | |||||
NotifyWIPStatus (instance #2) |
Users - Roles
….→ Role → | HR Open Standards | ACME Brick | AgGateway | End User | Developer | Admin | Notes |
---|---|---|---|---|---|---|---|
Bob | |||||||
Mary | |||||||
Amy | |||||||
Roy | |||||||
Matt | |||||||
Tess | |||||||
Ross |
Business Contexts - Roles
……………….→ Role → | HR Open Standards | ACME Brick | AgGateway | End User | Developer | Admin | Notes |
---|---|---|---|---|---|---|---|
Human Resources | |||||||
Agriculture | |||||||
Construction | |||||||
Entertainment |
BIE Visibility to Users
This table would be computed based on the values in the tables above.
……………………………….……….→ User → | Bob | Mary | Amy | Roy | Matt | Tess | Ross | Notes |
---|---|---|---|---|---|---|---|---|
ProcessPurchaseOrder (instance #1) | ||||||||
ProcessPurchaseOrder (instance #2) | ||||||||
NotifyShipment (instance #1) | ||||||||
NotifyWIPStatus (instance #1) | ||||||||
NotifyWIPStatus (instance #2) |
Mary can access all BIEs because she is in the Admin role. Administrator can see everything.
Matt can only access BIEs in a business context associated with the ACME Brick role.
Tess can only access BIEs in a business context associated with the AgGateway role.
Ross can only access BIEs in a business context associated with the ACME Brick role or the AgGateway role, which in this example computes to be all of them.