# Manage Permission and Object

In **IAM (Identity and Access Management)**, **Permissions** and **Objects** define the core building blocks of access control.\
Administrators use this interface to define **what actions are allowed** and **which resources are protected**, forming the foundation of **Role‑Based Access Control (RBAC)** in ONEWEB.

***

### Prerequisites

Before managing permissions and objects, ensure that:

* You are logged in as an **Admin user**
* IAM access is enabled
* The target system (application) is already registered in IAM

***

### Access Permission & Object Management

#### Step 1: Open Permission Management

1. Log in to ONEWEB
2. Go to **Settings → IAM**
3. Open the **Admin** menu
4. Select **Permission**

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FjUiYP718KXlloB5RHTX2%2Fimage.png?alt=media&#x26;token=cc30edc8-78b5-43f7-ab40-3dea56310af2" alt=""><figcaption></figcaption></figure>

***

#### Understanding the Permission Screen

The permission management screen is divided into **two main panels**:

* **Left Panel** → Permission hierarchy (Permission Control)
* **Right Panel** → Object hierarchy (Object Control)

From this screen, admins can create and manage both permissions and objects.

***

### Create a New Permission

Permissions group **actions and access scope**, and are later assigned to roles.

***

#### Step 1: Open New Permission Dialog

Click **New Permission**.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FqLdu3rpoi9czfOXaKmKo%2Fimage.png?alt=media&#x26;token=fada6c8f-358f-49e2-87f0-078936493afb" alt=""><figcaption></figcaption></figure>

***

#### Step 2: Select Target System

Choose the **System/Application** where this permission will apply.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FycjAQwtyHsxvd9uJ85lh%2Fimage.png?alt=media&#x26;token=22365c29-5684-4cba-94c0-66864fb17ae0" alt=""><figcaption></figcaption></figure>

***

#### Step 3: Select Parent Permission (Optional)

* Select an existing **parent permission** to create a hierarchy
* Or leave it empty to create a **top‑level permission**

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FNHlYAgdTNyxfVmc6TUlx%2Fimage.png?alt=media&#x26;token=9f1377e9-2b4e-4262-8663-798cae22c015" alt=""><figcaption></figcaption></figure>

***

#### Step 4: Define Permission Name

1. Enter **Permission Name**
2. Click **Save Permission**

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FadAfJS0JMU169ZVtwonL%2Fimage.png?alt=media&#x26;token=617fce2d-9617-47aa-97c6-a05fc917cd07" alt=""><figcaption></figcaption></figure>

***

#### Step 5: Verify Permission Creation

The new permission appears in the **Permission Tree** under the selected system.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2F9nWj7VoJTGwoixh8Pg1T%2Fimage.png?alt=media&#x26;token=6c3f79d1-a2b0-49de-a61c-3f2db3ae40ad" alt=""><figcaption></figcaption></figure>

***

### Create a New Object

Objects represent **resources that require protection** (UI elements, pages, functions, files).

***

#### Step 1: Open New Object Dialog

Click **New Object**.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FH0wJgDc7NszPSHkWDzvH%2Fimage.png?alt=media&#x26;token=af8ce700-84b9-4da5-b98d-1d820dcdf1b2" alt=""><figcaption></figcaption></figure>

***

#### Step 2: Select Target System

Choose the system where this object belongs.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FJu5BXu111m02iwhvR3v5%2Fimage.png?alt=media&#x26;token=a7370c43-453a-47ec-95bf-32079081fd3f" alt=""><figcaption></figcaption></figure>

***

#### Step 3: Define Object Properties

Fill in the required information:

* **Object ID** – Auto‑generated by the system
* **Object Ref ID** – Reference ID from client system
* **Object Name** – Display name
* **Object Type** – Type/category of object
* **Object Property** – Custom metadata returned to client systems
* **Access Type** – Allowed access mode

Then click **Save Object**.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FIXSmczc2DQ8OwWFP2fmp%2Fimage.png?alt=media&#x26;token=55361b82-8ccf-456c-9bc3-8ddef9f8981e" alt=""><figcaption></figcaption></figure>

***

#### Step 4: Verify Object Creation

The new object will appear in the **Object Tree** under the selected system.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2Fg3zB4PccVAIcNrvDlBpg%2Fimage.png?alt=media&#x26;token=c9ff0fee-64af-44f8-a931-ae8ea67a9944" alt=""><figcaption></figcaption></figure>

***

### Best Practices

* Design permissions around **actions**, not UI elements alone
* Keep permission hierarchy shallow and meaningful
* Reuse permissions across roles
* Register objects consistently across systems
* Avoid direct user‑object mapping unless necessary

***

### Summary

Managing **Permissions and Objects** in IAM defines the enforcement layer of ONEWEB security.

Key concepts:

* Permissions define **what can be done**
* Objects define **what is protected**
* Roles bind permissions and objects together
* Users gain access through role assignment

A well‑designed permission/object model enables **secure, scalable, and compliant access governance** across ONEWEB applications.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onewebstack.com/oneweb-platform-th/building-apps/security-and-compliance/authorization-and-access-control/managing-access-control-with-iam/manage-permission-and-object.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
