Updated existing parameter "identity" to type string[] to configure Multiple MSIs#9782
Updated existing parameter "identity" to type string[] to configure Multiple MSIs#9782Balashivaram wants to merge 12 commits intoAzure:mainfrom
Conversation
|
| rule | cmd_name | rule_message | suggest_message |
|---|---|---|---|
| network firewall policy create | cmd network firewall policy create update parameter identity: added property nargs=+ |
||
| network firewall policy create | cmd network firewall policy create update parameter identity: updated property aaz_type from string to AAZListArg |
||
| network firewall policy create | cmd network firewall policy create update parameter identity: updated property type from string to List<String> |
||
| network firewall policy update | cmd network firewall policy update update parameter identity: added property nargs=+ |
||
| network firewall policy update | cmd network firewall policy update update parameter identity: updated property aaz_type from string to AAZListArg |
||
| network firewall policy update | cmd network firewall policy update update parameter identity: updated property type from string to List<String> |
|
Azure Pipelines: 2 pipeline(s) require an authorized user to comment /azp run to run. |
|
Hi @Balashivaram, |
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
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). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
CodeGen Tools Feedback CollectionThank 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 |
|
Release SuggestionsModule: azure-firewall
Notes
|
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
Consider adding tests where --identity and --identities are provided together |
|
LGTM |
|
Agreed with @cshahra and also LGTM |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
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 --identityto accept multiple identities and serialize them intouserAssignedIdentities. - 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. |
|
/azp run |
|
Commenter does not have sufficient privileges for PR 9782 in repo Azure/azure-cli-extensions |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
Please fix CI issues |
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
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)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.jsonautomatically.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.