Skip to main content

General

This tool is built to facilitate Azure/Entra environment discovery.
The philosophy of the tool is same as Jawsome (developped to brute force IAM permissions in AWS)
But due to complexity of Microsoft, this project is more complex to answer multiple problems and contains multiple submodules that works together.

Installation

Pypi

Perform git clone for now... I will release first package on Pypi when the tool will be "really" functional 😉

pipx install jazzure

Then just call : jazzure -h

Local run

git clone https://github.com/pasdoue/Jazzure.git
python jazzure.py -h

Technical details

This tool is under heavy construction and documentation will follow.
Also as there are many things to handle, I decided to split documentation across modules/packages to avoid an unreadable README 🤪

Azure & Entra details

As there are several ways to connect to those environments, here is a "little" summarize :

Method Identity User interaction Used with
Interactive / Browser User Yes az, PowerShell, Graph
Device Code User Using web browser first az, Graph PowerShell, MSAL
Authorization Code + PKCE User Yes Web/Desktop/SPA
Access Token existant User or App No curl, REST, PowerShell
Client Secret Application No curl, MSAL, scripts
Certificate Application No PowerShell, MSAL, automation
Managed Identity Azure Resource / Service Principal No VM, App Service, Function, etc.
Workload Identity / Federated Credential Workload No CI/CD, Kubernetes, GitHub, etc.
OBO User → Application → API No after first login APIs intermédiaires

Jazzure details

Python Microsoft SDK

This way of handling Microsoft features like I did for Jawsome was aborted, but left dead code as a reminder
More details here : Python SDK details

az CLI

As the SDK is not suitable for performing introspection, I turned to azure CLI parsing.
Actually script take between 40min to 1h to parse all azure CLI options to generate JSON to be faster next times. More details here : Azure CLI details

Powershell handler

As a lot of commands & Entra connections are well handled in PowerShell and not in python SDK or even Azure CLI, it was necessary to support PowerShell ecosystem.
More details over here : PowerShell details

python jazzure.py docker --help

IMDS / Managed Identity

This section is about when you're logged into a VM, so you can interrogate IMDS on http://169.254.169.254/metadata.
More details over here : IMDS details

python jazzure.py imds --help

Metadata

Release files for jazzure 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jazzure 0.1.0
File Size Uploaded
jazzure-0.1.0.tar.gz 39.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jazzure 0.1.0
File Interpreter ABI Platform
jazzure-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 83.8 kB

Release files / jazzure-0.1.0.tar.gz

Download URL jazzure-0.1.0.tar.gz
Size 39.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7128f40697951af142d0ff5ebee4cb09c16ada402a7a2c6e06e7e601453cd672
BLAKE2b-256 checksum
How to use checksums
a5e464e2175edef950723b1a7483efe3974070dc22868819e6f5e32b544035e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / jazzure-0.1.0-py3-none-any.whl

Download URL jazzure-0.1.0-py3-none-any.whl
Size 44.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20d0847982da14d8b48be64e2de8f313666a569b9bfe1137af27f34f342744ea
BLAKE2b-256 checksum
How to use checksums
8705ee0c6eca7efadfbc4e85a7a20a670a37ce0fc4c4de5abe7f1ea2b353f137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page