Synadia Platform
Managing Access
Control Plane is a multi-tenant application allowing owners of NATS systems, accounts, and client applications to get visibility through a central interface.
People
When initially configured and deployed, Control Plane will have a single user with Admin permissions. Depending on the scale and diversity of your organization's NATS usage, there will be a need to register additional people to Control Plane.
The two primary reasons include:
- Providing NATS account or applications owners visibility
- Ensuring owners have one or more people to fallback on
Inviting a person
A person within your organization can be invited by an Admin, following these steps:
- From the home page, click on the People tab
- Click the Invite Person button
- Enter the person's Full Name, Username and select a Role
- Click the Invite button
Upon submitting the form, a confirmation dialog will appear with a link. Share this link with the person privately. The person will be able to set their password once they navigate to the link.
Assigning the Admin role will give this person full access to Control Plane. It is recommended to use the App User role and explicitly assign the person to the system or account they will be managing.
Removing a person
A person within your organization can be removed by a Application Admin, following these steps:
- From the home page, click on the People tab
- For the target person, click the Actions ellipsis
- Click Delete to open a confirmation dialog
- Confirm you have the correct user to remove and click Delete
Roles
Control Plane comes with several pre-defined roles that can be used while onboarding people.
- System Admin - Read and write access to a system, including server metrics, and access across all accounts
- System Observer - Read-only access to a system, including server metrics, and read-only access across accounts
- Account Admin - Read and write access to a single account and its users
- Account Observer - Read-only access to a single account and its users
- Credential Downloader - Ability to download NATS credentials within an account
For more information on how to create new roles and modify the defaults see Authorization configuration
Assigning a system role
Assigning a person to a system role can be completed as follows:
- From the home page, click the Name of the target system
- Click the Access tab
- Click the Add User button
- Select the Person and select a Role
- Click the Save button
Assigning an account role
Assigning a person to an account role can be completed as follows:
- From the home page, click the Name of the target system
- Click the Accounts tab
- Click the Name of the account the person will be assigned to
- Click the Access tab
- Click the Add User button
- Select the Person and select a Role
- Click the Save button
Assigning a user role
Assigning a person to a user role can be completed as follows:
- From the home page, click the Name of the target system
- Click the Accounts tab
- Click the Name of the target account
- Click the NATS Users tab
- Click the Name of the user the person will be assigned to
- Click the Access side navigation link
- Click the Add User button
- Select the Person and select a Role
- Click the Save button
Updating a system role
Updating a person from a system role can be completed as follows:
- From the home page, click on the Name of the target system
- Click the Access tab
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Update option to open the edit panel
- Set the desired Role
- Click Save
Updating an account role
Updating a person from an account role can be completed as follows:
- From the home page, click on the system containing the account
- Click the Accounts tab
- Click the Name of the target account
- Click the Access tab
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Update option to open the edit panel
- Set the desired Role
- Click Save
Updating a user role
Updating a person from a user role can be completed as follows:
- From the home page, click on the system containing the account
- Click the Accounts tab
- Click the Name of the target account
- Click the NATS Users tab
- Click the Name of the target user
- Click the Access side navigation link
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Update option to open the edit panel
- Set the desired Role
- Click Save
Revoking a system role
Revoking a person from a system role can be completed as follows:
- From the home page, click on the Name of the target system
- Click the Access tab
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Revoke option to open a confirmation dialog
- Confirm the person and click Revoke
Revoking an account role
Revoking a person from an account role can be completed as follows:
- From the home page, click on the system containing the account
- Click the Accounts tab
- Click the Name of the target account
- Click the Access tab
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Revoke option to open a confirmation dialog
- Confirm the person and click Revoke
Revoking a user role
Revoking a person from a user role can be completed as follows:
- From the home page, click on the system containing the account
- Click the Accounts tab
- Click the Name of the target account
- Click the NATS Users tab
- Click the Name of the target user
- Click the Access side navigation link
- For the target person, click the Actions ellipsis to view a drop-down
- Click the Revoke option to open a confirmation dialog
- Confirm the person and click Revoke
API reference
Assigning a user
Assigning a user to a system as an administrator:
curl -X POST "{API_ENDPOINT}/api/beta/systems/{SYSTEM_ID}/app-users/{APP_USER_ID}" \
-H "content-type: application/json" \
-d '{"role":"Admin"}'
Assigning a user to an account as an observer:
curl -X POST "{API_ENDPOINT}/api/beta/accounts/{ACCOUNT_ID}/app-users/{APP_USER_ID}" \
-H "content-type: application/json" \
-d '{"role":"Observer"}'
Assigning a user to user credentials:
curl -X POST "{API_ENDPOINT}/api/beta/nats-users/{NATS_USER_ID}/app-users/{APP_USER_ID}" \
-H "content-type: application/json" \
-d '{"role":"User"}'
Revoking a user
Revoke a user from a system:
curl -X DELETE "{API_ENDPOINT}/api/beta/systems/{SYSTEM_ID}/app-users/{APP_USER_ID}"
Revoke a user from an account
curl -X DELETE "{API_ENDPOINT}/api/beta/accounts/{ACCOUNT_ID}/app-users/{APP_USER_ID}"
Revoke a user from credentials
curl -X DELETE "{API_ENDPOINT}/api/beta/nats-users/{NATS_USER_ID}/app-users/{APP_USER_ID}"