> ## Documentation Index
> Fetch the complete documentation index at: https://portkey-docs-chore-gateway-2-19-0.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Entra

> Setup Azure Entra for SCIM provisioning with Portkey.

#### Azure Active Directory (Azure AD)

[Reference](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)

Setting up Azure Entra for SCIM provisioning consists of the following steps:

* **New Entra Application & SCIM Provisioning**
* **Application Roles**
* **SCIM Attribute Mapping Update**

***

##### New Entra Application

First, create a new Azure Entra application to set up SCIM provisioning with Portkey.

1. Navigate to the [Entra Applications Page](https://entra.microsoft.com/?culture=en-in\&country=in#view/Microsoft_AAD_IAM/AppGalleryBladeV2) and click **`Create your own application`**.

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/create.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=c29542e0ef59e4bf1bf22b8ffde29651" alt="Application Creation" width="1600" height="899" data-path="images/scim/azure/create.png" />

2. Complete the required fields to create a new application.

3. Once the application is created, navigate to the application's **Provisioning** page under the **Manage** section.

4. Click **`New Configuration`** to go to the provisioning settings page.

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/settings.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=3d6d0a62c424cb2a86d0a17f7053f9a9" alt="Provisioning Settings" width="1586" height="1344" data-path="images/scim/azure/settings.png" />

5. Obtain the **Tenant URL** and **Secret Token** from the Portkey Admin Settings page (if SCIM is enabled for your organization).

   * [Portkey Settings Page](https://app.portkey.ai/settings/organisation/sso)

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/portkey.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=848c42ba3a7399a9401bf0f2aab4dc6e" alt="Portkey Admin Settings" width="1600" height="1052" data-path="images/scim/portkey.png" />

6. Fill in the values from the Portkey dashboard in Entra's provisioning settings and click **`Test Connection`**. If successful, click **`Create`**.

> If the test connection returns any errors, please contact us at [support@portkey.ai](mailto:support@portkey.ai).

***

##### Application Roles

Portkey supported roles should match Entra's application roles.

1. Navigate to **App Registrations** under **Enterprise Applications**, click **All Applications**, and select the application created earlier.
2. Go to the **App Roles** page and click **`Create app role`**.
   > Portkey supports two application-level roles:
   >
   > * **`member`**  (Organization Member)
   > * **`admin`**  (Organization Admin)
   > * **`owner`**  (Organization Owner)

<img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/roles.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=c1be5f18dfa5d58d2207a4b267920728" alt="App Roles" width="1600" height="482" data-path="images/scim/azure/roles.png" />

> Users assigned any other role will default to the **member** role.

3. To support group roles, create a role with the value **`group`** and a name in title-case (e.g., `Group` for the value `group`).

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/create-roles.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=0b19084d95c6a34b8e84193fffed5c65" alt="Creating App Roles" width="1600" height="1015" data-path="images/scim/azure/create-roles.png" />

4. Assign users to the application with the desired role (e.g., **`owner`**, **`member`**, or **`admin`**) for the organization.

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/select-role.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=c5a29740b61b39f953027449a512d920" alt="Assigning Roles" width="602" height="686" data-path="images/scim/azure/select-role.png" />

***

#### Attribute Mapping

###### Adding a New Attribute

1. Go to the **Provisioning** page and click **Attribute Mapping (Preview)** to access the attributes page.

2. Enable advanced options and click **`Edit attribute list for customappsso`**.

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/new-mapping.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=dcebc9e367888ffb6d2b830cf301eb01" alt="Edit Attribute List" width="778" height="502" data-path="images/scim/azure/new-mapping.png" />

3. Add a new attribute called **`roles`** with the following properties:

   * **Multi-valued:** Enabled
   * **Type:** String

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/mapping-properties.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=d40c0302c3f207629289738e3cf34c14" alt="Roles Attribute Properties" width="1544" height="214" data-path="images/scim/azure/mapping-properties.png" />

###### Adding a new mapping

1. Click on the **`Add new mapping`** link to add a new mapping. (refer to the above images).
2. Follow the values from the below image to add a new mapping.

<img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/new-mapping.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=2eb067f02ce8031135f08cf72d64c983" alt="New Mapping Attributes" width="1488" height="1388" data-path="images/scim/new-mapping.png" />

3. Once done, save the changes.

###### Removing Unnecessary Attributes

Delete the following unsupported attributes:

* **preferredLanguage**
* **addresses (all fields)**
* **phoneNumbers**

***

#### Updating Attributes

**Update `displayName`**

1. Edit the **`displayName`** field to concatenate `firstName + lastName` instead of using the default `displayName` value from Entra records.

   <img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/azure/update-displayname.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=dd130b40925fc61d6a14cd3cdf60b039" alt="Update displayName Expression" width="1500" height="526" data-path="images/scim/azure/update-displayname.png" />

2. Save the changes and enable provisioning on the **Overview** page of the provisioning settings.

***

##### Group (Workspace) Provisioning

Portkey supports RBAC (Role-Based Access Control) for workspaces mapped to groups in Entra. Use the following naming convention for groups:

* **Format:** `ws-{group}-role-{role}`
  * **Role:** One of `admin`, `member`, or `manager`
* A user should belong to only one group per `{group}`.

**Example:**
For a `Sales` workspace:

* `ws-Sales-role-admin`
* `ws-Sales-role-manager`
* `ws-Sales-role-member`

Users assigned to these groups will inherit the corresponding role in Portkey.

<img src="https://mintcdn.com/portkey-docs-chore-gateway-2-19-0/Xya1Ofqr9M8nh_zP/images/scim/portkey-group-roles.png?fit=max&auto=format&n=Xya1Ofqr9M8nh_zP&q=85&s=62e305eb1f9d2b0fe2485c454187e3af" alt="Entra Group Role Mapping" width="1600" height="425" data-path="images/scim/portkey-group-roles.png" />

***

### Support

If you face any issues with the group provisioning, please reach out to us at [here](mailto:support@portkey.ai).
