Skip to content

Added support to pass multiple UAMI to Azure Firewall Policy#29419

Merged
VeryEarly merged 13 commits intoAzure:mainfrom
Balashivaram:bganesan/eproxy/addidentity
May 4, 2026
Merged

Added support to pass multiple UAMI to Azure Firewall Policy#29419
VeryEarly merged 13 commits intoAzure:mainfrom
Balashivaram:bganesan/eproxy/addidentity

Conversation

@Balashivaram
Copy link
Copy Markdown
Contributor

@Balashivaram Balashivaram commented Apr 19, 2026

Description

   	As part of explicit proxy V2, we will be migrating from PAC File SAS URL to PAC File URL and we will be moving from two two port to single Port, which means both HTTP and HTTPs will be served in single Port. To support PAC File URL , cx needs to input an identity which has Storage Blob Data Contributor and Storage Blob Data reader role to the respective storage account. Customer can either configure a separate Managed Identity for Explicit Proxy or else they can use same identity which is being used in TLS Inspection with the above roles added to it. If they wish to configure separate identity for Explicit Proxy they need to create MSI with this prefix PacFileMSI-. To support the above changes, In CLI and PowerShell we will be updating the existing Parameter Identity type from string to list of strings. PowerShell do support value as string even though the parameter type is list of strings

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

@azure-client-tools-bot-prd
Copy link
Copy Markdown

Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

@Balashivaram
Copy link
Copy Markdown
Contributor Author

Balashivaram commented Apr 20, 2026

@Balashivaram please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@Balashivaram
Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="Microsoft"

Comment thread src/Network/Network/AzureFirewallPolicy/SetAzureFirewallPolicyCommand.cs Outdated
Comment thread src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.cs Outdated
Comment thread src/Network/Network/AzureFirewallPolicy/SetAzureFirewallPolicyCommand.cs Outdated
Comment thread src/Network/Network/AzureFirewallPolicy/SetAzureFirewallPolicyCommand.cs Outdated
@VeryEarly VeryEarly removed their assignment Apr 24, 2026
@VeryEarly VeryEarly added Contains Breaking Change This PR contains breaking change and removed Contains Breaking Change This PR contains breaking change labels Apr 24, 2026
@VeryEarly VeryEarly self-assigned this Apr 24, 2026
@github-actions
Copy link
Copy Markdown

To the author of the pull request,
This PR was labeled "Contains Breaking Change" because breaking changes have been detected by the static analysis pipeline.

  • According to our policy, breaking changes can only take place during major release and they must be preannounced.
  • Please follow our guide on the detailed steps.
  • Required: Please fill in the task below to facilitate our contact,you will receive notifications related to breaking changes.

@Balashivaram Balashivaram force-pushed the bganesan/eproxy/addidentity branch from 0cb7e8c to 785997f Compare April 24, 2026 03:53
@cshahra
Copy link
Copy Markdown

cshahra commented Apr 27, 2026

LGTM.
Consider adding test cases where -UserAssignedIdentityId and -UserAssignedIdentityIds are provided together.
Update the docs for New/Set Command

@bewatersmsft
Copy link
Copy Markdown
Member

+1 again to @cshahra , LGTM

@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@VeryEarly
Copy link
Copy Markdown
Collaborator

https://github.com/Azure/azure-powershell/blob/main/documentation/development-docs/design-guidelines/parameter-best-practices.md#singularity

Remove the new parameter and make existing UserAssignedIdentityId type from string to string[], this will not be considered as breaking change.

Copilot AI review requested due to automatic review settings April 29, 2026 11:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR extends Azure Firewall Policy cmdlets to support assigning multiple user-assigned managed identities (UAMIs) (enabling scenarios like explicit proxy PAC file access + TLS inspection), and updates related help/test assets.

Changes:

  • Updated New-AzFirewallPolicy / Set-AzFirewallPolicy to accept multiple values for -UserAssignedIdentityId and map them into Identity.UserAssignedIdentities.
  • Updated markdown help to reflect the parameter type change and added -ProgressAction documentation blocks.
  • Updated/added scenario tests and recordings around explicit proxy + identity assignment.

Reviewed changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
src/Network/Network/help/Set-AzFirewallPolicy.md Updates syntax/type docs for -UserAssignedIdentityId and adds -ProgressAction section.
src/Network/Network/help/New-AzFirewallPolicy.md Updates syntax/type docs for -UserAssignedIdentityId and adds -ProgressAction section.
src/Network/Network/ChangeLog.md Notes the UserAssignedIdentityId type change.
src/Network/Network/AzureFirewallPolicy/SetAzureFirewallPolicyCommand.cs Implements multi-UAMI mapping for set/update paths.
src/Network/Network/AzureFirewallPolicy/NewAzureFirewallPolicyCommand.cs Implements multi-UAMI mapping on create path.
src/Network/Network/AzureFirewallPolicy/ExplicitProxy/NewAzureFirewallPolicyExplicitProxyCommand.cs Updates PAC file help message from SAS URL to URL.
src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.ps1 Updates explicit proxy CRUD test and adds a multi-UAMI scenario test.
src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.cs Wires up the new multi-UAMI scenario test.
src/Network/Network.Test/SessionRecords/.../TestAzureFirewallPolicyExplicitProxyCRUD.json Updates recordings for explicit proxy CRUD.

Comment thread src/Network/Network/help/Set-AzFirewallPolicy.md
Comment thread src/Network/Network/help/New-AzFirewallPolicy.md
Comment thread src/Network/Network/help/Set-AzFirewallPolicy.md
Comment thread src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.ps1
Comment thread src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.ps1
Comment thread src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.cs
Comment thread src/Network/Network/ChangeLog.md Outdated
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Copy Markdown

@cshahra cshahra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for most of the practical scenarios unless someone is using a script like this in their pipeline:

Image

Copilot AI review requested due to automatic review settings May 4, 2026 05:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 11 changed files in this pull request and generated 3 comments.

VeryEarly
VeryEarly previously approved these changes May 4, 2026
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@VeryEarly VeryEarly dismissed their stale review May 4, 2026 06:01

wait for pr validation

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copilot AI review requested due to automatic review settings May 4, 2026 08:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 11 changed files in this pull request and generated 2 comments.

Comment thread src/Network/Network/ChangeLog.md
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@VeryEarly VeryEarly enabled auto-merge (squash) May 4, 2026 12:10
@VeryEarly VeryEarly merged commit c1c0a7c into Azure:main May 4, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants