Azure OIDC Pulumi program in TypeScript
An Azure Native TypeScript Pulumi program to setup OIDC
This example lives in the pulumi/examples repository. Check out just this directory to use it:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set azure-ts-oidc-provider-pulumi-cloudcd pulumi-examples/azure-ts-oidc-provider-pulumi-cloudThis example will create OIDC configuration between Pulumi Cloud and Azure, specifically demonstrating connectivity with Pulumi ESC. The program automates the process detailed in the Azure documentation for the following activities:
- Create a Microsoft Entra application and service principal that can access resources
- Create federated credentials
Last update: September 2025
Prerequisites#
Deploying the example#
This Pulumi example is written as a template. It is meant to be copied via pulumi new.
-
Log in to your Pulumi Cloud account if you haven’t already:
Terminal window pulumi login -
Copy the template to a new directory (
--diris optional; the current directory is used if omitted):Terminal window my_dir=my-azure-oidcpulumi new https://github.com/pulumi/examples/azure-ts-oidc-provider-pulumi-cloud --dir ${my_dir}cd ${my_dir}Once copied to your machine, feel free to edit as needed.
-
Install dependencies:
Terminal window npm install -
Deploy your infrastructure. This template will pick up the thumbprint from the URL that you set in the stack configuration. By default it will use the OIDC IDP URL for Pulumi Cloud.
Terminal window pulumi up
Cleaning up#
To clean up your infrastructure, run:
pulumi destroypulumi stack rm