Azure Permissions for Waste Detection
Two Levels of Scanning
Scamallteoir detects Azure waste at two levels:
1. Cost-Based Detection (works now)
Using your existing Cost Management Reader role, we analyse daily resource group spending to find:
- Idle resource groups — spending small amounts with no real workload
- Storage without compute — likely orphaned disks or blobs
- Networking without compute — leftover VNets, load balancers, etc.
2. Inventory-Level Scanning (requires Reader)
With the Reader role, we can query Azure Resource Graph to identify specific resources:
- Orphaned managed disks — disks not attached to any VM
- Unassociated public IPs — static IPs not bound to any resource
Why Reader Is Needed
Azure Resource Graph requires the Microsoft.Resources/resources/read permission to enumerate resources. The Reader built-in role includes this permission and is the minimum role needed.
Adding the Reader Role
- Open the Azure Portal and go to Subscriptions
- Select the subscription connected to Scamallteoir
- Click Access control (IAM) in the left menu
- Click Add → Add role assignment
- Search for Reader and select it
- Click Next, then Select members
- Search for your Scamallteoir service principal (App Registration name)
- Select it and click Review + assign
Security Note
The Reader role is read-only — it cannot modify, create, or delete any resources. It is the minimum permission needed for inventory-level scanning.
What Works Without Reader
All cost monitoring features work with just Cost Management Reader:
- Daily cost reports and anomaly detection
- Resource group cost breakdown
- Cost-based waste detection (idle RGs, storage/networking without compute)
- Email and Slack notifications
Need more help? Contact us at support@scamallteoir.app