# User Roles and Access Control

This article introduces the role-based access control mechanism in Astera. This means that administrators can grant or restrict access to various users within the organization, based on their role in the entire data management cycle.

{% embed url="<https://www.youtube.com/watch?ab_channel=AsteraSoftware&v=zHwm38esQqY>" %}

In this article, we will look at the user lists and role management features in detail.

### How to Create a New User

{% hint style="info" %}
**Note:** When you run the application for the first time, sign in using the default credentials provided on our help site.
{% endhint %}

Username: admin&#x20;

Password: Admin123

Once you have logged in, you now have the option to create new users and we recommend you to do this as a first step.

1. To create/register a new user, right-click on the DEFAULT server node in the Server Explorer window and select *User List* from the context menu.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/hPp3LEPAqqKPypcBbe0Y/01-User-List.PNG" alt=""><figcaption></figcaption></figure>

This will open the Server Browser panel.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/8GQanDDoRAOOSVuGJ9uR/02-Server-Browser.PNG" alt=""><figcaption></figcaption></figure>

2. Under the *Security* node, right-click on the *User* node and select *Register User* from the context menu.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/X4lraLdeFBy40QTTp2gT/03-Register-User.PNG" alt=""><figcaption></figcaption></figure>

This will open a new window. You can see quite a few fields required to be filled here to register a new user.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/UMoFWsvRU6byXRz8NTg9/04-Register-Menu.PNG" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Astera currently supports three authentication types when registering a user; Astera, Windows, and Azure Authentication.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/7i2cklBoG2oUcfW0l89C/05-Modes-Authentication.PNG" alt=""><figcaption></figcaption></figure>

3. Once the fields have been filled, click *Register* and a new user will be registered.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/4Thr67ZuuU3DI6ZyfHp9/06-New-User.PNG" alt=""><figcaption></figcaption></figure>

### How to Assign User Roles

Now that a new user is registered, the next step is assign roles to the user.

1. Select the user you want to assign the role(s) to and right-click on it. From the context menu, select *Edit User Roles*.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/8cV5uXjna9PyncKbJH6h/06-User-Roles.PNG" alt=""><figcaption></figcaption></figure>

A new window will open where you can see all roles that are there by default in Astera or are custom created. We haven’t created any custom role, so we’ll see the three default roles that are - *Developer*, *Operator*, and *Root*.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/O4unkdy71qVi2lt6BLH8/07-Roles.PNG" alt=""><figcaption></figcaption></figure>

2. Select the role that you want to assign to the user and click on the arrows in the middle section of the screen. You’ll see that the selected role will get transferred from the *All Roles* section to the *User Roles* section.&#x20;

{% hint style="info" %}
**Note:** You can assign multiple roles to a single user.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/cJCpRpA0taQ3qHy2e3ZB/08-Assigned-Roles.PNG" alt=""><figcaption></figcaption></figure>

3. After you have assigned the roles. click OK and the specific role(s) will be assigned to the user.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/3iqfWWwJ4bg9ohC1BZjj/09-Assigned-User.PNG" alt=""><figcaption></figcaption></figure>

### Managing Role Resources

Astera lets the admin manage resources allowed to any user. They can assign permissions of resources or they can restrict resources.

1. To edit role resources, right-click on any of the roles and select *Edit Role Resources* from the context menu.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/80XfU8Hv6SvaXa8225LN/10-Role-Resource.PNG" alt=""><figcaption></figcaption></figure>

This will open a new window. Here, you can see four nodes on the left under which resources can be assigned,

The admin can provide a role with resources from the *Url* node, the *Cmd* node, access to deployments from the *REST* node and access to Catalog aritfacts from the *Catalog* Node.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/dvVL9YBBD7jP2o1QIBjP/11-Resource-Page.PNG" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/bny1QKpTbO6yL2INwmzj/12-Resources.PNG" alt=""><figcaption></figcaption></figure>

Expanding the *Url* node shows us the following resources,

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/JT4KNgDC1M5G1XHpTN0E/13-URL.PNG" alt=""><figcaption></figcaption></figure>

Expanding the *Cmd* node will give us the following checkboxes as resources.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/juXix2ntkwU5U9u0FL46/CMD-Editor.PNG" alt=""><figcaption></figcaption></figure>

If we expand the REST *checkbox, we can see a list of available API resources, including endpoints you might have deployed.*

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/yArtRwjUonvR2WV1w86N/REST-Node.PNG" alt=""><figcaption></figcaption></figure>

Upon expanding the *Catalog* node, we can see the artifacts that have been added to the Catalog, along with which endpoint permissions are to be given.

<figure><img src="https://content.gitbook.com/content/zEifS4h8yurLAAwiGNX2/blobs/zKwVh8Re3pjmIXSwE9o5/Catalog-Mode.PNG" alt=""><figcaption></figcaption></figure>

This concludes User Roles and Access Control in Astera Data Stack.
