Prerequisites
- Azure subscription with permissions to create App Registrations in Entra ID and assign IAM roles
- Access to the Draftt dashboard (Integrations > Azure)
Setup
Draftt supports connecting at the Subscription or Management Group scope. Management Group scope covers all subscriptions underneath it.1
Register an App in Entra ID
In the Azure portal, go to Entra ID > App registrations > New registration.
- Name:
Draftt(or any identifiable name) - Supported account types: Single tenant
- Redirect URI: Leave blank
2
Generate a client secret
In your new App Registration, go to Certificates & secrets > New client secret.
- Description:
Draftt access - Expires: Choose an appropriate expiration period
3
Get your Subscription or Management Group ID
- For Subscription scope: Go to Subscriptions in the Azure portal and copy the Subscription ID
- For Management Group scope: Go to Management groups and copy the Management Group ID
4
Assign the Reader role
Navigate to the subscription or management group, then go to Access control (IAM) > Add role assignment.
- Role:
Reader - Assign access to: Application
- Select: The App Registration you created (
Draftt)
5
Assign the Key Vault Reader role (optional)
If you want Draftt to govern Key Vault resources, assign an additional role:
- Role:
Key Vault Reader - Assign access to: Application
- Select: The App Registration you created (
Draftt)
Enable AI model identity attribution (optional)
Complete these steps if you want Draftt to attribute Azure AI model usage to the users and workloads that called each model in AI Governance. They are not required for model inventory, token usage, or cost — only for showing which person or workload made each call.1
Grant Microsoft Graph permissions
In your App Registration, go to API permissions > Add a permission > Microsoft Graph > Application permissions and add:
User.Read.AllApplication.Read.All
2
Enable diagnostic logging on each Foundry resource
In the Azure portal, open the Foundry (Azure AI / Cognitive Services) resource, then go to Diagnostic settings > Add diagnostic setting.
- Enter a Diagnostic setting name.
- Under Logs, select Request and Response Logs (named
RequestResponsein the Azure API). - Under Destination details, select Send to Log Analytics workspace and choose a workspace.
Attribution begins from the point diagnostic logging is enabled. Azure keeps no history from before the setting was turned on, and Log Analytics retains 30 days by default, so identities cover roughly the last month even though usage covers a longer period.
What Draftt Reads
Draftt’s App Registration is read-only. It cannot create, modify, or delete any resources in your Azure environment. The Reader role provides access to resource metadata across compute (Virtual Machines, App Service, AKS, Container Instances), storage (Storage Accounts, Blob, Files), databases (SQL Database, Cosmos DB, Cache for Redis, MySQL, PostgreSQL), networking (Virtual Network, Load Balancer, Application Gateway, Firewall), and security (Key Vault, Entra ID, Defender for Cloud). The optionalUser.Read.All and Application.Read.All Microsoft Graph permissions are read-only directory permissions. Draftt uses them only to resolve the Entra object IDs seen in AI model diagnostic logs into readable user and workload names.
Verifying Your Connection
After setup, return to Integrations > Azure in Draftt. Each connected subscription or management group shows a status:- Healthy - All required access is in place. Draftt is collecting data as expected.
- Unhealthy - Something is wrong with the App Registration or role assignments. Check the client secret expiration and IAM role bindings.
Troubleshooting
Authentication fails: Verify the client ID, tenant ID, and client secret are correct. Confirm the client secret has not expired. Status shows unhealthy: Check that the Reader role is assigned at the correct scope (subscription or management group). Verify the App Registration exists and has not been deleted. Missing Key Vault resources: The base Reader role does not include Key Vault data plane access. Assign the Key Vault Reader role or configure Access Policies on individual vaults. Missing resources in inventory: New connections may take one scan cycle to fully populate. Confirm the Reader role is assigned at the scope that contains the resources you expect to see. AI model usage shows unresolved identities: Confirm theUser.Read.All and Application.Read.All Microsoft Graph permissions are granted with admin consent, and that diagnostic logging is enabled on the Foundry resource. See Enable AI model identity attribution.