---
title: "DaaS IQ Prerequisites"
slug: "controlup-daas-iq-prerequisites"
updated: 2026-07-15T08:18:18Z
published: 2026-07-15T08:18:18Z
canonical: "support.controlup.com/controlup-daas-iq-prerequisites"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.controlup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DaaS IQ Prerequisites

This article explains how to prepare your environment and configure the necessary Azure permissions for **ControlUp DaaS IQ**. You must complete these prerequisites to enable ControlUp to manage your Azure Virtual Desktop (AVD) resources, including power management, session handling, and host scaling.

## System Requirements

- **Microsoft Entra ID Role**: Global Administrator or Cloud Application Administrator. Role required only during initial app registration, not required for ongoing operation.
- **Microsoft Azure Subscription**: Must contain the AVD Host Pools and Session Hosts you need to manage.
- **Permissions**: You need permission to assign roles at the Subscription or Resource Group level.

## Step 1: Register App in Azure Portal

To register apps in Microsoft Azure Portal:

1. Open [Azure Portal](https://portal.azure.com/).
2. In the Search bar, enter “App registrations” and click **App registrations**.
3. Click **+ New registration**.

![app registrations page](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365AppRegi.png)
4. On the **Register an application** page, provide a name for the app, for example: “DaaS IQ”.

![Azure register an application page](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasRegApp.png)
5. To limit the app to your organization's directory only, under **Supported account types**, select **Single tenant only** - [your organization name].
6. Click **Register**.
7. **Important**: Store the following values to use later during the DaaS IQ setup:

![values for migration setup showing display name, application ID, object ID, directory ID, and supported account types](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365Values.png)
  - **Application (client) ID**
  - **Directory (tenant) ID**
8. In the app menu under **Manage**, go to **Certificates & secrets** and click **New client secret**.

![Certificates &amp; secrets page with New client secret button](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365NewClient.png)
9. Provide a description (e.g., "DaaSIQKey") and set an expiration (e.g., 12 months)
10. Click **Add**.

> [!WARNING]
> Important!
> 
> Copy the secret value once it's created. You **can’t** retrieve it later.

You should now have the following values:

- **Application (client) ID**
- **Directory (tenant) ID**
- **Client Secret** **Value**

> [!WARNING]
> Important!
> 
> Keep the client secret secure by storing it in a password vault or Azure Key Vault. Never share or email it in plain text.

## Step 2: Grant Microsoft Graph API Permissions

1. In **App registrations**, click **API permissions** > **+ Add a permission**.

![App permissions page with configured permissions section showing add a permission button](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365AppPerm.png)
2. Click **Microsoft Graph** > **Application permissions**.

![request api permissions page with Microsoft graph option](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365RequestAPIPermission.png)
3. Add the **User.Read.All** and **Group.Read.All** permissions. This allows DaaS IQ to read user account details for active session display and autoscaling logic.
4. Click **Add permissions**.
5. Confirm that the permissions are listed under **Configured permissions** as **Application** type.

![configured permissions area showing permissions list](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasConfiguredPerms.png)

## Step 3: Grant Admin Consent

1. In **Application permissions**, click **Grant admin consent for** [Your Organization].
2. Click **Yes**.

![Grant admin consent confirmation popup showing yes button](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Migrate365APIPermission.png)
3. Status updates to ✅ **Granted for** [Tenant Name].

## Step 4: Add IAM Permissions

ControlUp DaaS IQ requires permission to manage the underlying Virtual Machines (start, stop, delete, re-image) and related Azure resources across your AVD environment.

1. In the Azure Portal, search for and open **Subscriptions**.
2. Select the Subscription hosting your AVD resources.
3. From the left menu, select **Access control (IAM)**.
4. Click **+ Add** > **Add role assignment**. Assign the appropriate role based on your security requirements:
  - **Contributor**. Select this role for a simple, comprehensive set of permissions.
  - **Desktop Virtualization Roles**. Select specific AVD roles to adhere to the principle of least privilege.
5. Under **Members**, click **Select members** and search for the App Registration name you created in [Step 1](/v1/docs/controlup-foundry-prerequisites#step-1-register-app-in-azure-portal).

![add role assignment screen](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasIAM.png)
6. Click **Review + assign**.

## Step 5: Final Validation Checklist

| Step | Validation |
| --- | --- |
| Tenant ID | Azure Directory (Tenant) ID saved from the app registration Overview |
| Client ID | Application (Client) ID saved from the app registration Overview |
| Client Secret | Secret Value (not the Secret ID) saved immediately after creation |
| Graph API | **User.Read.All** and **Group.Read.All** permissions added and admin consent granted |
| IAM Role | App has **Contributor** role (or equivalent AVD roles) on the Target Subscription |

> [!TIP]
> 3rd party applications
> 
> The Microsoft AVD images are provided for your benefit, but we don't take responsibility for the screenshots, content, and functionality of these 3rd party applications.
