Core concepts & API governance

Roles and Permissions

Roles and Permissions

ApiShare provides a role-based access control (RBAC) model to enforce governance, security, and API lifecycle management. This model ensures that every user has only the permissions required for their specific responsibilities, maintaining compliance with organizational policies.

Default Roles in ApiShare

ApiShare includes a set of predefined roles, each with specific permissions. These roles follow a hierarchical structure, where each role inherits permissions from lower-tier roles, ensuring structured access control.

Overview of Default Roles

Role


Description


Owner

The highest-level role, with full administrative control over the tenant, organizations, APIs, and configurations.

Organization Admin

Manages an entire organization, including its groups, users, APIs, and applications.

Group Admin

Controls a specific group within an organization, managing API and application access. Approves lifecycle steps such as distribution (for Products) and publication (for Assets).

Contributor

A developer role responsible for creating, modifying, and enhancing APIs (both Products and Assets). Can propose new APIs and contribute to their lifecycle.

Consumer

Can subscribe to API Products, request access, and leave reviews on APIs. Does not have permission to create or modify APIs.

Guest

A user who has been invited to the system but does not belong to an organization. Can browse API and Application catalogs and request to join organizations.




Each role's permissions can be configured based on specific environments (e.g., Development, Test, Production), ensuring granular control over API access.

Default ApiShare Permissions

ApiShare implements a principle of least privilege, ensuring that users can only perform actions relevant to their assigned role. The following tables summarize the default permissions for each role across different lifecycle stages.

PRODUCT Permissions

The following table summarizes the permitted actions concerning the Product lifecycle. The permissions may differ depending on the state of the Product. All combinations of actions and states not included are to be considered as not permitted, according to the principle of least privilege.

Action


Description


Lifecycle Status


Owner


Organization Admin


Group Admin


Contributor


Consumer


Guest


Create

Permission to create a new Product. The action is independent of the lifecycle status.

NA

Yes

Yes

Yes

Yes

No

NA

View all

Permission to view all Products in one's own organization, regardless of the group to which the user belongs. The action is independent of the lifecycle status.

NA

Yes

Yes

No

No

No

NA

Save

 

 

Permission to make a modification to a Product in the workspace.

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

Concept, Proposed

Yes

Yes

Yes

No

No

NA

In Progress, Draft

Yes

Yes

Yes

Yes

No

NA

In Progress, Pending for publishing

Yes

Yes

Yes

No

No

NA

In Progress, Pending for validation

Yes

Yes

Yes

No

No

NA

In Progress, Validation rejected

Yes

Yes

Yes

Yes

No

NA

Published, Live

Yes

Yes

Yes

No

No

NA

Published, Non production

Yes

Yes

Yes

No

No

NA

Delete

 

Permission to permanently delete a Product in the workspace.

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

In Progress, Draft

Yes

No

No

No

No

NA

Concept, Proposed

Yes

No

No

No

No

NA

Concept, Rejected

Yes

Yes

Yes

No

No

NA

In Progress, Pending for publishing

Yes

No

No

No

No

NA

In Progress, Pending for validation

Yes

No

No

No

No

NA

In Progress, Validation rejected

Yes

Yes

Yes

No

No

NA

Retired, Retired

Yes

No

No

No

No

NA

Propose

Permission to propose a Product concept for approval or rejection

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

Reject

Permission to reject a Product proposal.

Concept, Proposed

Yes

Yes

Yes

No

No

NA

In Progress, Pending for validation

Yes

Yes

Yes

No

No

NA

Accept

Permission to accept a Product proposal

Concept, Proposed

Yes

Yes

Yes

No

No

NA

Request validation

Permission to request validation of a Product in progress.

In Progress, Draft

Yes

Yes

Yes

Yes

No

NA

Approve

Permission to accept a Product in progress and to proceed in the lifecycle.

In Progress, Pending for validation

Yes

Yes

Yes

No

No

NA

Publish

Permission to publish the API Product on the gateway in a designated domain belonging to a non-production environment. The published API Product will be visible in the API Catalog.

In Progress, Pending for publishing

Yes

Yes

Yes

Yes

No

NA

Republish

Permission that allows the user to republish an API - Product in a previously published environment

Published, Non Production

Yes

Yes

Yes

No

No

NA

Published, Live

Yes

Yes

Yes

No

No

NA

Promote

Permission to promote the published Product in a hierarchically superior environment.

Published, Non production

Yes

Yes

Yes

No

No

NA

Ready for go-live

Permission to designate a published Product as ready for publication in the production environment. The action will only be available if the Product has been published in all available non-production environments.

Published, Non production

Yes

Yes

Yes

No

No

NA

Go live

Permission to publish the Product in a production environment.

Published, Pending for go-live

Yes

Yes

Yes

No

No

NA

Undo go-live

Permission to remove the Product from the ready-for-go-live state.

Published, Pending for go-live

Yes

Yes

Yes

No

No

NA

New version

Permission to create a new patch, minor or major version of an API Product.

Published, Live

Yes

Yes

Yes

Yes

No

NA

Published, Non production

Yes

Yes

Yes

Yes

No

NA

Deprecate

Permission to deprecate a published Product.

Published, Live

Yes

Yes

Yes

No

No

NA

Retire

 

Permission to retire a published Product.

Published, Deprecated

Yes

Yes

Yes

No

No

NA

Published, Live

Yes

Yes

Yes

No

No

NA

Published, Non production

Yes

Yes

Yes

No

No

NA

Retry

Permission to retry integration with the gateway in the event of an error.

In Progress, Publish error

Yes

Yes

Yes

No

No

NA

Published, Go-live error

Yes

Yes

Yes

No

No

NA

Published, Promoting error

Yes

Yes

Yes

No

No

NA

Published, Retiring error

Yes

Yes

Yes

No

No

NA




 

ASSET Permissions

The following table summarizes the permitted actions concerning the Asset lifecycle. The permissions may differ depending on the state of the Asset. All combinations of actions and states not included are to be considered as not permitted, according to the principle of least privilege.

Action


Description


Lifecycle Status


Owner


Organization Admin


Group Admin


Contributor


Consumer


Guest


Create

Permission to create a new Asset. The action is independent of the lifecycle status.

NA

Yes

Yes

Yes

Yes

No

NA

View all

Permission to view all Assets in one's own organization, regardless of the group to which the user belongs. The action is independent of the lifecycle status.

NA

Yes

Yes

No

No

No

NA

Save

 

Permission to make a modification to an Asset in the workspace.

In Progress, Draft

Yes

Yes

Yes

Yes

No

NA

In Progress, Proposed

Yes

Yes

Yes

No

No

NA

Active, Published

Yes

Yes

Yes

No

No

NA

Active, Unpublished

Yes

Yes

Yes

No

No

NA

Delete

 

Permission to permanently delete an Asset in the workspace.

In Progress, Draft

Yes

Yes

Yes

Yes

No

NA

In Progress, Proposed

Yes

No

No

No

No

NA

In Progress, Rejected

Yes

Yes

Yes

Yes

No

NA

Active, Deprecated

Yes

Yes

Yes

Yes

No

NA

Propose

Permission to propose a draft Asset for activation, publication or rejection.

In Progress, Draft

Yes

Yes

Yes

Yes

No

NA

Reject

Permission to reject an Asset proposal.

In Progress, Proposed

Yes

Yes

Yes

No

No

NA

Edit

Permission to edit a rejected Asset.

In Progress, Rejected

Yes

Yes

Yes

Yes

No

NA

Activate

 

Permission to activate an Asset.

In Progress, Draft

Yes

Yes

Yes

No

No

NA

In Progress, Proposed

Yes

Yes

Yes

No

No

NA

Activate and publish

Permission to activate and publish an Asset.

In Progress, Draft

Yes

Yes

Yes

No

No

NA

In Progress, Proposed

Yes

Yes

Yes

No

No

NA

Publish

 

Permission to publish an active Asset.

Active, Unpublished

Yes

Yes

Yes

No

No

NA

Unpublish

 

Permission to unpublish an active Asset.

Active, Published

Yes

Yes

Yes

No

No

NA

Productize

Permission to productize an Asset.

Active, Unpublished

Yes

Yes

Yes

Yes

No

NA

Active, Published

Yes

Yes

Yes

Yes

No

NA

Duplicate

Permission to duplicate an Asset, creating a new draft Asset.

Active, Unpublished

Yes

Yes

Yes

Yes

No

NA

Active, Published

Yes

Yes

Yes

Yes

No

NA

Active, Deprecated

Yes

Yes

Yes

Yes

No

NA

Deprecate

Permission to deprecate an active Asset.

Active, Unpublished

Yes

Yes

Yes

No

No

NA

Active, Published

Yes

Yes

Yes

No

No

NA




 

APPLICATION Permissions

The following table summarizes the permitted actions concerning the Application lifecycle. The permissions may differ depending on the state of the APP. All combinations of actions and states not included are to be considered as not permitted, according to the principle of least privilege.

Action


Description


Lifecycle Status


Owner


Organization Admin


Group Admin


Contributor


Consumer


Guest


Create

Permission to create a new APPLICATION. The action is independent of the lifecycle status.

NA

Yes

Yes

Yes

Yes

Yes

NA

View all

Permission to view all APPs in one's own organization, regardless of the group to which the user belongs. The action is independent of the lifecycle status.

NA

Yes

Yes

No

No

No

NA

Save

 

Permission to make a modification to an APP in the workspace.

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

Concept, Proposed

Yes

Yes

Yes

No

No

NA

Published, Active

Yes

Yes

Yes

No

No

NA

Delete

 

Permission to permanently delete an APP in the workspace.

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

Concept, Proposed

Yes

No

No

No

No

NA

Concept, Rejected

Yes

Yes

Yes

No

No

NA

Retired, Retired

Yes

No

No

No

No

NA

Propose

Permission to propose an APP concept for activation or rejection

Concept, Draft

Yes

Yes

Yes

Yes

No

NA

Reject

Permission to reject an APP proposal.

Concept, Proposed

Yes

Yes

Yes

No

No

NA

Activate

 

Permission to activate a suspended application.

Concept, Draft

Yes

Yes

Yes

No

No

NA

Concept, Proposed

Yes

Yes

Yes

No

No

NA

Published, Suspended

Yes

Yes

Yes

No

No

NA

Suspend

Permission to suspend an active application.

Published, Active

Yes

Yes

Yes

No

No

NA

Retire

 

Permission to retire an activated or suspended application. This operation will also permanently delete any associated subscriptions.

Published, Active

Yes

Yes

Yes

No

No

NA

Published, Suspended

Yes

Yes

Yes

No

No

NA

Retry

 

Permission to retry integration with the gateway in the event of an error.

Published, Activation error

Yes

Yes

Yes

No

No

NA

Published, Retiring error

Yes

Yes

Yes

No

No

NA

Published, Suspension error

Yes

Yes

Yes

No

No

NA




 

SUBSCRIPTION Permissions

The following table summarizes the permitted actions concerning the Subscription lifecycle. The permissions may differ depending on the state of the subscription and depending on whether a subscription has been requested or received.. All combinations of actions and states not included are to be considered as not permitted, according to the principle of least privilege.

Action


Description


Lifecycle Status


Owner


Organization Admin


Group Admin


Contributor


Consumer


Guest


Subscription Requested

View all

Permission to view all requested subscription in one's own organization, regardless of the group to which the user belongs. The action is independent of the lifecycle status.

NA

Yes

Yes

No

No

No

NA

Save

Permission to make a modification to an existing subscription.

Pending, New

Yes

Yes

Yes

No

No

NA

Delete

Permission to permanently delete a subscription.

Pending, New

Yes

Yes

Yes

No

No

NA

Rejected, Rejected

Yes

Yes

Yes

No

No

NA

Revoked, Api retired

Yes

Yes

Yes

No

No

NA

Suspend

Permission to temporarily or indefinitely suspend a subscription.

Active, Active

Yes

No

No

No

No

NA

Edit

Permission to propose a modification to an existing subscription.

Active, Active

Yes

Yes

Yes

Yes

No

NA

Reject

Permission to reject a subscription request.

Active, Pending for approval

Yes

No

No

No

No

NA

Pending, New

Yes

No

No

No

No

NA

Accept

 

Permission to accept and activate a subscription request.

Active, Pending for approval

Yes

No

No

No

No

NA

Pending, New

Yes

No

No

No

No

NA

Activate

Permission to activate a subscription.

Suspended, Suspended

Yes

No

No

No

No

NA

Retry

 

Permission to retry integration with the gateway in the event of an error.

Active, Suspension error

Yes

No

No

No

No

NA

Active, Update error

Yes

No

No

No

No

NA

Pending, Activation error

Yes

No

No

No

No

NA

Suspended, Activation error

Yes

No

No

No

No

NA

Subscription Received

View all

Permission to view all received subscription in one's own organization, regardless of the group to which the user belongs. The action is independent of the lifecycle status.

NA

Yes

Yes

No

No

No

NA

Save

Permission to make a modification to an existing subscription.

Pending, New

Yes

No

No

No

No

NA

Delete

Permission to permanently delete a subscription.

Pending, New

Yes

No

No

No

No

NA

Rejected, Rejected

Yes

No

No

No

No

NA

Revoked, Api retired

Yes

No

No

No

No

NA

Suspend

Permission to temporarily or indefinitely suspend a subscription.

Active, Active

Yes

Yes

Yes

No

No

NA

Edit

Permission to propose a modification to an existing subscription.

Active, Active

Yes

No

No

No

No

NA

Reject

Permission to reject a subscription request.

Active, Pending for approval

Yes

Yes

Yes

No

No

NA

Pending, New

Yes

Yes

Yes

No

No

NA

Accept

 

Permission to accept and activate a subscription request.

Active, Pending for approval

Yes

Yes

Yes

No

No

NA

Pending, New

Yes

Yes

Yes

No

No

NA

Activate

Permission to activate a subscription.

Suspended, Suspended

Yes

Yes

Yes

No

No

NA

Retry

 

Permission to retry integration with the gateway in the event of an error.

Active, Suspension error

Yes

Yes

Yes

No

No

NA

Active, Update error

Yes

Yes

Yes

No

No

NA

Pending, Activation error

Yes

Yes

Yes

No

No

NA

Suspended, Activation error

Yes

Yes

Yes

No

No

NA




 

ORGANIZATION-GROUP Permissions

The following table summarizes the allowed actions concerning organizations and groups.

Action


Description


Owner


Organization Admin


Group Admin


Contributor


Consumer


Guest


Organization

Add [Organization]

Permission to create a new organization

Yes

No

No

No

No

NA

Add [Group]

Permission to create a new group associated with an organization.

Yes

Yes

No

No

No

NA

Edit

Permission to edit an organization (Name, Organization Contact, Description, Set internal /external).

Yes

Yes

No

No

No

NA

Delete

Permission to remove an organization.

Yes

No

No

No

No

NA

Synchronize [All organizations]

Permission to synchronise all tenant organizations simultaneously.

Allowed only if the synchronization of organizations with the gateway is enabled.

Yes

No

No

No

No

NA

Synchronize

Permission to synchronise an organization. Allowed only if the synchronization of organizations with the gateway is enabled.

Yes

Yes

No

No

No

NA

Group

Quit

Permission that allows a user to remove themselves from a group.

NA

Yes

Yes

Yes

Yes

NA

Auto edit role

Permission that allows a user to change their role

NA

No

No

No

No

NA

Add user [Org Admin group]

Permission that allows a user to invite/add users to the 'org admins' group.

Yes

Yes

No

No

No

NA

Add user [My groups]

Permission that allows a user to invite/add other users to their own group

NA

NA

Yes

No

No

NA

Add user [Not my groups]

Permission that allows a user to invite/add other users in all the organization's groups except his own group

Yes

Yes

No

No

No

NA

Edit user [Org Admin group]

Permission that allows a user to change the role of another user in the 'org admins' group. (currently never possible)

No

No

No

No

No

NA

Edit user [My groups]

Permission that allows a user to change the role of another user in his own group

NA

NA

Yes

No

No

NA

Edit user [Not my groups]

Permission that allows a user to change the role of another user in all groups in the organization except his own group.

Yes

Yes

No

No

No

NA

Remove user [Org Admin group]

Permission to remove a user from the 'org admins' group.

Yes

Yes

No

No

No

NA

Remove user [My groups]

Permission allowing a user to remove another user from their own group

NA

NA

Yes

No

No

NA

Remove user [Not my groups]

Permission allowing a user to remove another user from any group in the organisation other than their own group.

Yes

Yes

No

No

No

NA

Edit [Org Admin group]

Permission to edit the 'org admins' group (Name, Group Contact, Description).

Yes

Yes

No

No

No

NA

Edit [My groups]

Permission to edit one's own group (Name, Group Contact, Description).

NA

NA

Yes

No

No

NA

Edit [Not my groups]

Permission to edit any group in the organisation except one's own
(Name, Group Contact, Description).

Yes

Yes

No

No

No

NA

Delete [Org Admin group]

Permission to remove the group 'org admins'. (currently never possible)

No

No

No

No

No

NA

Delete [My groups]

Permission that allows the user to remove the group to which he belongs. (currently never possible)

NA

NA

No

No

No

NA

Delete [Not my groups]

Permission to remove any group in the organisation except the one to which the user belongs.

Yes

Yes

No

No

No

NA




Custom Roles and Access Control

ApiShare allows for the creation and configuration of custom roles, enabling organizations to enforce fine-grained governance that aligns with their internal policies and processes.

Custom Role Configuration

Administrators can create and manage custom roles through the Admin Functionalities section in ApiShare. Custom roles can be configured with:

  • Environment-based restrictions: Define whether a role can access APIs in Development, Test, or Production environments.

  • Lifecycle step permissions: Restrict actions such as API proposal, publishing, deprecation, and retirement.

  • Entity-specific permissions: Grant different levels of access to API Products, API Assets, and Applications.

  • API Subscription Policies: Control how a role can request, approve, or manage API subscriptions.

Benefits of Custom Roles

The ability to configure custom roles provides the following advantages:

Greater control over API governance: Organizations can define precise access permissions aligned with security policies.

Separation of duties: Ensures compliance by granting the minimum required permissions to each role.

Scalability: Custom roles support complex multi-tenant API ecosystems, enabling different governance models for internal teams, partners, and citizen developers.

Security and Compliance: Limits access to sensitive APIs and ensures that governance workflows align with company-wide security policies.

Conclusion

By leveraging default and custom roles, ApiShare provides a flexible and secure governance model that ensures efficient API lifecycle management, minimizing risks while maximizing control. Administrators can fine-tune role permissions at every stage of the API lifecycle, creating a governance structure tailored to their organizational needs