An organisation can contain any number of employees or external contractors as users of its Serverless360 account to manage and monitor the associated services.
Not all employees or contractors of an organisation can be granted authorization to execute all activities on Serverless360-managed applications. Depending on the features and configurations of the applications, an organisation may require many access restrictions. An account with too many permissions is vulnerable to security breaches.
Serverless360's fine-grained access control is aided by a user access policy with personalised function capability.
The first user who signs up for Serverless360 will be given the role of Account Owner, which grants them full access to the account. That user can add an unlimited number of users to Azure Documenter (here after referred to as "product") and assign them any system or user-defined roles.
Azure Documenter (hereafter referred to as "product") has three system-defined roles, and can contain any number of user-defined roles. The System-defined roles are:
Owner has complete access to the product, including managing users and roles in that product. No other role other than Account owner and Owner of the product can manage users and roles.
Contributor has access to manage everything at the scope at which it is assigned.
Reader has access to read everything at the scope at which it is assigned.
What is Scope?
The scope of a role determines at which level in the product, a user has permissions that are specified for that role. The scope of a role in Azure Documenter can be any of the two levels given below:
1. Entire product
2. Document configuration
The below screenshot shows the list of users having access to a document configuration Contoso production.
From the Scope column in the screenshot above, it is clear that the second user has got access to this application because that user is an account owner (Having complete access to Serverless360). The first and third user has got access to this application because that user was directly assigned a role to access this document configuration.
Account owners and owners of the product can add any number of roles to the product. A user-defined role is used to specify permissions in the context of document configuration. In simple terms, it determines who can do what in a document configuration.
For example, if a group of users needs to generate a document but shouldn't be able to do anything else that the features of a document configuration allow, a role can be created with only access permissions to features related to document generation and assigned to those users.
A role can be added by selecting Add role option under Roles tab. A role must include a name and an optional description, followed by feature permissions.
- A user-defined role can be removed any time by clicking the Delete role option in the Actions column under Roles tab. Before deleting, a replacement role must be provided to replace the role of all users who have been assigned the role that is about to be deleted. As a result, users will not lose access to the product at any scope to which the previous role was assigned.
System vs User-defined roles
As mentioned above, user-defined roles are used to specify permissions in the context of document configuration. Performing operations on top of a document configuration, such as deleting the document configuration, managing service principals in the product requires at least a Contributor role.
For example, if a user is a good fit for managing a document configuration set up for testing but not for managing the document configuration set up for production, that user can be assigned a Contributor role for testing configuration, and any other suitable role with restricted permissions for production configuration. If a user is a good fit for managing the entire product (for example, a team lead), but not for managing users and their roles, that user can be assigned a Contributor role across the product.