Skip to main content
Applies to BloodHound Enterprise only
You can complete the steps on this page manually following the instructions below, or use the PowerShell script in the Scripted Configuration section to automate the entire process (except certificate upload).

Create the AzureHound Enterprise app

  1. Log into the Microsoft Entra admin center as a user with the Global Administrator role, or the following less privileged roles:
  1. In the left menu, select App registrations.
  2. Click New registration.
  3. In the Name field, give the application an identifying name in your organization. Make sure the supported account type is set to the “Accounts in this organizational directory only (Single tenant)” option. A URI is not required. Then click Register.
  4. In the Overview menu, copy the Application (client) ID and Directory (tenant) ID to be used later in AzureHound Enterprise Local Configuration.
  5. Continue to the next section: “Grant Microsoft Graph Permissions”.

Grant Microsoft Graph Permissions

  1. In the AzureHound application, select API Permissions.
  2. Remove the default User.Read delegated permission from the application, as it is not needed for data collection. Confirm the operation in the dialog window that appears after selecting the Remove permission option from the context menu.
  3. Select Add a permission.
  4. Click on Microsoft Graph.
  5. Select Application permissions.
  6. Search for and check the box next to each of the following Microsoft Graph application permissions. See AzureHound Data and Permissions: Entra ID for details on the least-privilege approach:
  7. In the bottom of the window, select Add permissions.
  8. Click on Grant admin consent for <your_tenant_name>.
  9. Click Yes on the confirmation dialog.
  10. After being redirected to API Permissions again, you should see the Status column listing all permissions as Granted.
  11. Continue to the next section: “Add application authentication certificate”.

Add application authentication certificate

This section requires you have authentication material. We highly recommend using certificate-based authentication. If you do not already have a certificate created, follow the article AzureHound Enterprise Local Configuration and then return back here.
  1. Select the Certificates & secrets section on the left.
  2. Click on Certificates.
  3. Click Upload certificate.
  4. Locate the cert.pem file created during AzureHound setup (either on your own, or utilizing the instructions at AzureHound Enterprise Local Configuration).
  5. Click the folder icon and locate the “cert.pem” file. Add a description if desired.
  6. In the bottom of the window, select Add.
  7. Continue to the next section to optionally configure application branding.

Configure application branding (optional)

Note: All steps in this section are optional and do not affect the functionality of the collector.
  1. Download the AzureHound Enterprise icon to your computer.
  2. Still on the AzureHound application in the Entra ID admin center, open the Branding & properties section.
  3. Click the Select a file button and browse to the file you previously downloaded.
  4. Provide a human-readable Name for the application, e.g., BloodHound Enterprise Collector (AzureHound).
  5. Type your BloodHound Enterprise tenant URL into the Home page URL field. This is for record keeping only.
  6. Click the Save button and review the results.
  7. Continue to the next section to create and assign a custom role in Azure Resource Manager

Create and assign custom AzureHound Reader role in Azure Resource Manager

If you don’t have any management groups, you can skip this section. However, AzureHound will log a warning during each collection indicating it cannot collect management group data.Alternatively, you can create your Tenant Root Group by following the prompts in the Azure portal. This ensures visibility if another administrator begins using subscriptions in the future.
  1. Log into the Azure portal as a user with the User Access Administrator role.
  2. Search for and select the Management groups item in the top search bar.
  3. Select Tenant Root Group.
  4. Select Access control (IAM).
  5. Click Add, then Add custom role.
  6. Download azurehound-reader-role.json, open it in a text editor, and replace <tenantRootGroupId> with your Tenant Root Management Group ID (this is your Entra ID tenant ID).
  7. In Basics > File, upload the edited file and click Review + create.
    See AzureHound Data Collection and Permissions: Azure Resource Manager for details on each least-privilege permission in the AzureHound Reader role.
  8. Review the role and click Create at the bottom of the page.
  9. Back in Access control (IAM), click Add, then Add role assignment.
  10. Search for the AzureHound Reader role and select it.
  11. Click Members.
  12. Click Select members.
  13. Search for and click on your previously created service principal.
  14. Validate the principal selected, then click Select.
  15. Click the tab Review + Assign.
  16. Click Review + Assign at the bottom of the page.
  17. Confirm the role is present by refreshing this view. You may need to alter the filter to see this role.
  18. Continue to Run and Upgrade AzureHound (Windows, Docker, or Kubernetes)

Scripted configuration

As an alternative to the manual steps described in this document, you can use PowerShell to automate the entire configuration process. The script below registers AzureHound in Entra ID, creates the least-privilege Azure Reader role, and assigns it to the service principal. The script is idempotent—it safely handles re-runs by detecting existing resources and updating them as needed, preventing duplicate role definitions or assignments.
After running this script, follow the Add application authentication certificate section to complete the setup.