ARI 2024.3.25.72

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global ARI --version 2024.3.25.72                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local ARI --version 2024.3.25.72                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ARI&version=2024.3.25.72                
nuke :add-package ARI --version 2024.3.25.72                

ARI

Azure Resource Inventory .NET Tool - Inventories and documents Azure Tenant resources to a set of markdown files for specified tenant to a specified folder.

Obtain

dotnet tool install -g ari

Commands

Use -h / --help to get the current list of available commands and options.

ari --help
ari command --help

inventory

The inventory command inventories tenants and outputs it's result as markdown files to specified output path.

ari inventory <tenantId> <outputpath> [options]

Quick Start

Running ARI Successfully for the First Time

By default it'll try authenticate using the DefaultAzureCredential which tries to authorize in the following order based on your environment.

  1. EnvironmentCredential
  2. WorkloadIdentityCredential
  3. ManagedIdentityCredential
  4. SharedTokenCacheCredential
  5. VisualStudioCredential
  6. VisualStudioCodeCredential
  7. AzureCliCredential
  8. AzurePowerShellCredential
  9. AzureDeveloperCliCredential
  10. InteractiveBrowserCredential
Setup Azure App Registration

The recommended way is using a service principal with only the access required for it to document, you can do this by creating an app registration.

  1. Begin by creating an App Registration in Azure Entra for the report generator. This ensures that the report generator has precisely the required access, such as organization-wide read permissions or access to a limited set of subscriptions.
  2. Assign the API permission https://graph.microsoft.com/Organization.Read.All to the created App Registration.
  3. In my tenant, Admin consent is required for this permission.
  4. Add a role that allows the App Registration to read an organization. You can do this under Subscription management in Azure and Access Control (IAM). Add Role Assignment, find the App Registration and give it Read access.
  5. Assign a secret to the App Registration and make a note of this secret.

With the Azure App Registration now configured, we are ready to proceed.

Configure ARI for Execution
  1. Create a dedicated folder for the generated report.
  2. Set the environment variable AZURE_TENANT_ID to the tenant ID (found in the App Registration overview for your app).
  3. Set the environment variable AZURE_CLIENT_ID to the client ID (found in the App Registration overview for your app).
  4. Set the environment variable AZURE_CLIENT_SECRET to the secret noted earlier.
  5. Set the environment variable AZURE_AUTHORITY_HOST to https://login.microsoftonline.com/.

Run ARI

Assuming all the environment variables are correctly set, follow these steps:

dotnet tool install --global ARI
ari <AZURE_TENANT_ID> <FOLDER_FOR_REPORT>

By following these steps, you should be able to run ARI successfully for the first time. If you encounter any issues, double-check the Azure App Registration setup and ensure that the environment variables are accurately configured.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
2024.11.23.81 116 11/23/2024
2024.11.4.79 3,139 11/4/2024
2024.9.21.75 6,324 9/21/2024
2024.3.25.72 24,827 3/25/2024
2024.3.19.67 1,041 3/19/2024
2024.2.8.62 5,885 2/8/2024
2024.2.7.60 221 2/7/2024
2023.12.28.57 4,043 12/28/2023
2023.12.27.54 368 12/27/2023
2023.11.28.44 5,115 11/28/2023
2023.11.28.41 216 11/28/2023
2023.11.10.36 2,748 11/10/2023
2023.11.9.30 157 11/9/2023
2023.10.25.28 49,106 10/25/2023
2023.10.16.26 265 10/16/2023
2023.10.15.24 198 10/15/2023
2023.10.15.22 222 10/15/2023
2023.10.14.17 291 10/14/2023
2023.10.14.15 246 10/14/2023
2023.10.13.12 271 10/13/2023
2023.10.7.10 208 10/7/2023
2023.10.7.7 303 10/7/2023
2023.10.7.5 268 10/7/2023