Teams & Testing Environments
Managing User Permissions with Teams and Environments
In Steadybit, Teams and Testing Environments are the two main levers for managing user permissions.
Teams allow you to group users and specify what is visible and what actions are available to them.
Testing Environments allow you to create a group or subset of discovered targets using defined parameters.
For example, you could assign new team members with no chaos engineering experience to a “Rookies” team. You could then specify that they only have the ability to run a few types of fault injections. Finally, you can associate the “Rookies” team with a non-production “Sandbox” Testing Environment you have designated for training purposes.
In this lesson, we’ll get into the details on how configuring Teams and Testing Environments correctly can ensure that each user has the appropriate level of access and permissions to safely run chaos experiments.
Defining Teams in Steadybit
Teams are the grouping element for multiple users. Steadybit Admins can create new teams and assign users to them.
Team Roles & Permissions
On each team, users can either be in the role of “Admin”, “Owner”, or “Member”. Admins can specify fine-grain permissions for team members, including what actions and features they are allowed to use.
There are some permissions that apply to all users for safety purposes. All users can view experiments, stop experiments, and execute an emergency stop. If an experiment starts at the wrong time or goes poorly, this makes sure that any user can quickly stop the run.
Understanding Testing Environments
Global Environment
To start, you will have a “Global” testing environment in your account by default. This testing environment includes every discovered target across your tech stack. Unless you want all of your users to have access to every target, you’ll need to create additional testing environments that have limited scopes.
Creating New Environments
To create new testing environments, you need to add a clear label, assign which teams should have access, and define its scope using parameters. You can set these parameters by using our Query UI. Set attributes and conditions to filter based on, and narrow your scope further using AND logic. If you want to define your scope with more complex logic, you can use the Steadybit Query Language to write an expression that matches your intended targets.
Environment Variables
If there are certain values that you would like to reuse in multiple places when setting up experiments, you can define variables at a global level or limited to only specific testing environments.
Lesson Summary
In this lesson, we outlined how Teams and Testing Environments intersect in Steadybit to ensure fine-grained RBAC permissions for users. If you want to feel confident running chaos experiments at scale, it’s critical to know that your users are constrained by least-privilege access and permissions. Next, we’ll dive into how you can explore and interact with discovered targets in Steadybit.
