pulumi-azuread
A Pulumi package for creating and managing Azure Active Directory (Azure AD) cloud resources.
What it is and what it does
Pulumi-azuread is a Pulumi resource provider that bridges Python code to Azure Active Directory, letting you declare and manage Azure AD objects (users, groups, applications, service principals) as infrastructure-as-code. It wraps the Azure AD API and integrates with Pulumi's state management and deployment workflow, so you can version-control your identity infrastructure alongside other cloud resources.
You write Python code using the provider's resource classes, configure Azure credentials through environment variables or Pulumi config, and run `pulumi up` to create or update resources. The package depends on pulumi (the core framework), parver and semver (for version handling), and typing-extensions (for type hints). It requires Python 3.9 or later and the Pulumi CLI to be installed separately.
Use it for:
- Provision and manage Azure AD users, groups, and role assignments as part of automated infrastructure deployment.
- Define Azure AD applications and service principals for multi-tenant SaaS or enterprise integrations in code.
- Replicate Azure AD resources across multiple environments (dev, staging, production) using the same Pulumi program.
- Integrate Azure AD resource management into CI/CD pipelines for consistent identity governance.
- Version-control Azure AD configuration changes alongside application and infrastructure code in a single repository.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pulumi provider for Azure Active Directory that lets you define and manage Azure AD resources (users, groups, applications, service principals) as code using Python.
Yes, if you use Pulumi and need to manage Azure AD resources as code. The package is actively maintained, has low install friction, carries a permissive license, and integrates cleanly with Pulumi's workflow. Install it only after setting up the Pulumi CLI and Azure credentials; it is not a standalone tool.
Install
pulumi-azuread on PyPI
pip
pip install pulumi-azureaduv
uv add pulumi-azureadpoetry
poetry add pulumi-azureadInstalling pulumi-azuread
Before you install
Low install friction; pure Python wheel with four lightweight runtime dependencies (parver, pulumi, semver, typing-extensions). Actively maintained with a release 35 days old and recent commits.
License in practice
Apache-2.0 permissive license allows use in commercial and open-source projects with minimal restrictions; you must include a copy of the license and state changes.
Quickstart
pip install pulumi-azuread
import pulumi
import pulumi_azuread as azuread
user = azuread.User("example", user_principal_name="user@example.com")
Requires Pulumi CLI installed first and Azure credentials (clientId, tenantId, clientSecret or certificate) configured via environment variables or Pulumi config.
Verify before relying
- Specific Azure AD resource types supported (users, groups, applications, service principals, etc.) beyond the general claim in the description.
- Whether version 6.10.0 is compatible with all current Pulumi CLI versions or if there are known version constraints.
- Performance characteristics or limits when managing large numbers of Azure AD resources.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — parver, pulumi, semver, typing-extensions |
| Maintenance | actively maintained — 35 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 372,279/month — #7,164 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pulumi_azuread-6.10.0-py3-none-any.whl
Keywords: pulumi, azuread
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
pulumi-azure-nativeProvides Python bindings to create and manage…
permissive · top 15,000 on PyPI
pulumi-snowflakeA Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-dockerPulumi provider for managing Docker resources…
permissive · top 5,000 on PyPI
pulumi-gcpPulumi resource provider for Google Cloud…
permissive · top 5,000 on PyPI
pulumi-gitlabPulumi provider for GitLab that lets you define…
permissive · top 15,000 on PyPI
pulumi-auth0A Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-azurePulumi provider for Azure Classic that lets you…
permissive · top 15,000 on PyPI
pulumi-githubPulumi provider for GitHub that lets you define…
permissive · top 15,000 on PyPI
pulumi-cloudflarePulumi provider for Cloudflare that lets you…
permissive · top 15,000 on PyPI
fronteggFrontegg is a Python SDK for integrating…
unclear · top 15,000 on PyPI