ARI 2024.3.19.67

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global ARI --version 2024.3.19.67                
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.19.67                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ARI&version=2024.3.19.67                
nuke :add-package ARI --version 2024.3.19.67                

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 5,197 11/23/2024
2024.11.4.79 3,149 11/4/2024
2024.9.21.75 6,331 9/21/2024
2024.3.25.72 24,834 3/25/2024
2024.3.19.67 1,047 3/19/2024
2024.2.8.62 5,894 2/8/2024
2024.2.7.60 226 2/7/2024
2023.12.28.57 4,050 12/28/2023
2023.12.27.54 373 12/27/2023
2023.11.28.44 5,183 11/28/2023
2023.11.28.41 222 11/28/2023
2023.11.10.36 2,753 11/10/2023
2023.11.9.30 162 11/9/2023
2023.10.25.28 54,120 10/25/2023
2023.10.16.26 270 10/16/2023
2023.10.15.24 203 10/15/2023
2023.10.15.22 232 10/15/2023
2023.10.14.17 299 10/14/2023
2023.10.14.15 251 10/14/2023
2023.10.13.12 276 10/13/2023
2023.10.7.10 214 10/7/2023
2023.10.7.7 308 10/7/2023
2023.10.7.5 273 10/7/2023