jason-johnson / azure-pipelines-tasks-terraform

Azure Pipelines extension for Terraform
MIT License
121 stars 52 forks source link

Feature: Support workload identity federation and managed identity service connections #354

Closed jaredfholgate closed 11 months ago

jaredfholgate commented 1 year ago

This PR is to support service connections configured for managed identity or workload identity federation.

This will be a non-breaking change for existing users leveraging the service principal scheme.

Testing Evidence:

In order to run this test, the following steps were followed:

  1. Compiled and packaged the extension as per the steps HERE.
  2. Removed the public extension from the organisation.
  3. Published the extension to the market place, shared it to the organisation and installed it in the organisation.
  4. Deployed the Service Connection, Managed Identity, etc using this example code: https://github.com/Azure-Samples/azure-devops-terraform-oidc-ci-cd
  5. Updated the oidc.yml pipeline to include the Terraform task steps (see below).
  6. Ran the pipeline.

Pipeline Code

image

Test Extension

image

Service Connection

image

Terraform Init

image

Terraform Apply

image
jaredfholgate commented 11 months ago

Closed in favour of: https://github.com/jason-johnson/azure-pipelines-tasks-terraform/pull/359