Origin
This is Jim Wilson's idea on multi-tenant support in Score.
Terminology notes
It is debatable whether “multi-tenant” is appropriate to describe what we want to accomplish here.
“role” is used as a critical feature of authorization. Perhaps “group” would be more appropriate, or at least natural, but “role” is what Auth0 provides out-of-the-box, so we’ll go with it.
“access BIEs” refers to creating, editing, viewing, and expressing BIEs (anything with BIEs)
Background
OAGi needs:
to enable multiple sets of users to use one Score instance
to be able to limit access to BIEs created by one set of users to members of that set, and other select sets as appropriate
Key points informing the design
Keep the implementation simple until such time that simple won’t work.
The following BIE-development roles/purposes must be supported
OAGi develops BIEs for the public (e.g., SME Express Pack)
OAGi develops BIEs for members only (none yet)
Companies develop BIEs for their company only
Companies develop BIEs for their industry (e.g., MilliporeSigma for the Biopharma industry)
Industry associations or consortiums develop BIEs for their industry (e.g., AgGateway)
Except for 2.c., there is little/no risk for a company’s confidential information to be publicly disclosed.
In the case of 2.c. for company whose BIE design or documentation is highly sensitive, OAGi should advise them to use an on-prem instance.
Each BIE must be “in” a business context.
Design
Identity Provider
OAGi has an Auth0 account and has been using it for #E authentication and authorization. Following are a couple of screen captures that illustrate how it can be configured to support Score multi-tenant.
Multi-tenant Score design
In this section, “Score” refers to multi-tenant Score instances.
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.
A user may only access BIEs associated with business contexts that are associated with one of the user’s roles.