Skip to content

Updated existing parameter "identity" to type string[] to configure Multiple MSIs#9782

Open
Balashivaram wants to merge 12 commits intoAzure:mainfrom
Balashivaram:bganesan/eproxy/newidentityparam
Open

Updated existing parameter "identity" to type string[] to configure Multiple MSIs#9782
Balashivaram wants to merge 12 commits intoAzure:mainfrom
Balashivaram:bganesan/eproxy/newidentityparam

Conversation

@Balashivaram
Copy link
Copy Markdown

@Balashivaram Balashivaram commented Apr 14, 2026


Desrciption:
As part of Explicit Proxy Version V2, we will be supporting both HTTP and HTTPs in single Port configuration and to align with SFI guidelines customer will not be passing PAC File SAS URL instead of that customer will be passing PAC File URL and a UAMI which will have “Storage Blob Data Contributor” and “Storage Blob Data Reader” access to download the file from customer storage, which will be used in data plane to serve Proxy auto configuration

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

Azure Firewall Policy Create Command:
az network firewall policy create --name createpremiumfwp1 --resource-group testcli --sku Premium --location centraluseuap --threat-intel-mode Deny --explicit-proxy "{enable-explicit-proxy:true,enable-pac-file:true,http-port:8000,pac-file-port:8001,pac-file:'https://teststgeproxywithrbacfix.blob.core.windows.net/pacfile/proxy.pac'}" --identity "/subscriptions/e7eb2257-46e4-4826-94df-153853fea38f/resourceGroups/newrgeproxy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/PacFileMSI-testmsirbacfix"
Azure Firewall Policy Update Command:
az network firewall policy update--name updatepremiumfwp--resource-group testcli --sku Premium --location centraluseuap --threat-intel-mode Deny --explicit-proxy "{enable-explicit-proxy:true,enable-pac-file:true,http-port:8000,pac-file-port:8001,pac-file:'https://teststgeproxywithrbacfix.blob.core.windows.net/pacfile/proxy.pac'}" --identity "/subscriptions/e7eb2257-46e4-4826-94df-153853fea38f/resourceGroups/newrgeproxy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/PacFileMSI-testmsirbacfix"

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

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

azure-client-tools-bot-prd Bot commented Apr 14, 2026

⚠️Azure CLI Extensions Breaking Change Test
⚠️azure-firewall
rule cmd_name rule_message suggest_message
⚠️ 1008 - ParaPropAdd network firewall policy create cmd network firewall policy create update parameter identity: added property nargs=+
⚠️ 1010 - ParaPropUpdate network firewall policy create cmd network firewall policy create update parameter identity: updated property aaz_type from string to AAZListArg
⚠️ 1010 - ParaPropUpdate network firewall policy create cmd network firewall policy create update parameter identity: updated property type from string to List<String>
⚠️ 1008 - ParaPropAdd network firewall policy update cmd network firewall policy update update parameter identity: added property nargs=+
⚠️ 1010 - ParaPropUpdate network firewall policy update cmd network firewall policy update update parameter identity: updated property aaz_type from string to AAZListArg
⚠️ 1010 - ParaPropUpdate network firewall policy update cmd network firewall policy update update parameter identity: updated property type from string to List<String>

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
2 pipeline(s) require an authorized user to comment /azp run to run.

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

Hi @Balashivaram,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Apr 14, 2026
@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Apr 14, 2026

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link
Copy Markdown
Contributor

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@github-actions
Copy link
Copy Markdown
Contributor

CodeGen Tools Feedback Collection

Thank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 14, 2026

@github-actions
Copy link
Copy Markdown
Contributor

Hi @Balashivaram

Release Suggestions

Module: azure-firewall

  • Please log updates into to src/azure-firewall/HISTORY.rst
  • Update VERSION to 2.2.0 in src/azure-firewall/setup.py

Notes

@necusjz
Copy link
Copy Markdown
Member

necusjz commented Apr 17, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

Comment thread src/azure-firewall/azext_firewall/custom.py
Comment thread src/azure-firewall/azext_firewall/custom.py
Comment thread src/azure-firewall/azext_firewall/custom.py Outdated
@necusjz
Copy link
Copy Markdown
Member

necusjz commented Apr 24, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@cshahra
Copy link
Copy Markdown
Contributor

cshahra commented Apr 27, 2026

Consider adding tests where --identity and --identities are provided together

@cshahra
Copy link
Copy Markdown
Contributor

cshahra commented Apr 27, 2026

LGTM

@bewatersmsft
Copy link
Copy Markdown
Member

Agreed with @cshahra and also LGTM

@necusjz
Copy link
Copy Markdown
Member

necusjz commented Apr 28, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

Copilot AI review requested due to automatic review settings April 30, 2026 08:38
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

This PR updates the azure-firewall Azure CLI extension to support configuring multiple user-assigned managed identities (MSIs) for Azure Firewall Policy create/update flows, aligning with Explicit Proxy V2 requirements (PAC file URL + UAMI-based access).

Changes:

  • Extend az network firewall policy create/update --identity to accept multiple identities and serialize them into userAssignedIdentities.
  • Update PAC file help text from “SAS URL” to “URL”.
  • Add/restore scenario coverage and recordings for explicit proxy + multiple MSI configurations.

Reviewed changes

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

Show a summary per file
File Description
src/azure-firewall/setup.py Bumps extension version to 2.2.0.
src/azure-firewall/azext_firewall/custom.py Changes --identity to a list arg and maps it to user_assigned_identities; updates PAC file help text.
src/azure-firewall/azext_firewall/aaz/latest/network/firewall/policy/_create.py Updates explicit proxy PAC file help text to “URL”.
src/azure-firewall/azext_firewall/aaz/latest/network/firewall/policy/_update.py Updates explicit proxy PAC file help text to “URL”.
src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py Makes extension install more tolerant; adds explicit proxy and multiple MSI scenario tests.
src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy_explicit_proxy.yaml Adds recording for explicit proxy + identity scenarios.
src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_policy_configure_multipleMSI.yaml Adds recording for multiple MSI update scenarios.
src/azure-firewall/HISTORY.rst Adds 2.2.0 release notes for multi-MSI identity support.

Comment thread src/azure-firewall/azext_firewall/custom.py
Comment thread src/azure-firewall/azext_firewall/custom.py Outdated
Comment thread src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py Outdated
@Balashivaram Balashivaram changed the title Added new Parameter "Identities" to configure Multiple MSIs Updated existing parameter "identity" to type string[] to configure Multiple MSIs Apr 30, 2026
@Balashivaram
Copy link
Copy Markdown
Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Commenter does not have sufficient privileges for PR 9782 in repo Azure/azure-cli-extensions

@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Apr 30, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

Copy link
Copy Markdown
Contributor

@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

@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Apr 30, 2026

Please fix CI issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

customer-reported Issues that are reported by GitHub users external to the Azure organization.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants