-
Notifications
You must be signed in to change notification settings - Fork 174
Fix Azure ML data exfiltration vulnerability by removing AzureMachineLearning service tag access and enforcing RBAC #4687
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@copilot please read and continue. |
…ce tag rules and enforcing RBAC Co-authored-by: marrobi <17089773+marrobi@users.noreply.github.com>
I've implemented the security fix based on the issue comments. Changes made in commit 0de3b26: Security fixes:
RBAC improvements: Version updates: The TRE workspace will continue to function normally via private endpoints while blocking access to external ML workspaces. |
|
@copilot can you verify the correct format of Also make this a major version increase. |
Co-authored-by: marrobi <17089773+marrobi@users.noreply.github.com>
Verified and confirmed in commit 3a5b87d:
|
Unit Test Results0 tests 0 ✅ 0s ⏱️ Results for commit 287b078. ♻️ This comment has been updated with latest results. |
…ilot/fix-f88b1820-e937-46fd-b0d4-cb13f1592da9
…tps://github.com/microsoft/AzureTRE into copilot/fix-f88b1820-e937-46fd-b0d4-cb13f1592da9
|
@copilot external provider is not needed, please remove it. |
Co-authored-by: marrobi <17089773+marrobi@users.noreply.github.com>
Removed external provider in commit 2343c4c. Cleaned up both the |
…tps://github.com/microsoft/AzureTRE into copilot/fix-f88b1820-e937-46fd-b0d4-cb13f1592da9
tamirkamara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@marrobi given the breaking change, what do you think about splitting out the group/roles change from the rest of the changes so that they could be used more easily?
I guess it could, issue is as each time a user gets added to the workspace the AML (and I have AI Foundry in a branch) need to all be updated to refresh the assignments. It's not really manageable. My view is we probably need to say if want to use Azure resources, AML, AI foundry etc etc, we need to rely on group membership. Could split it out, but had to get this working for a specific situation. Thoughts? |
On second thought, I don't mind those 2 things are together. I'll approve. |
|
@copilot the AzureActiveDirectory endpoint is still required. |
…kspace VMs Co-authored-by: marrobi <17089773+marrobi@users.noreply.github.com>
Added back AzureActiveDirectory and AzureResourceManager access in commit 47e0b0d. Created a new "Workspace_Authentication" firewall rule that allows workspace VMs to access these endpoints for authentication and management, while still blocking AzureMachineLearning to prevent data exfiltration. |
|
@copilot we now ahve duplicate rules in Workspace_Authentication and AzureML_Dependancies) |
Keeping the rules separate as they serve different subnets:
Both rules are necessary for their respective network segments. |
What is being addressed
Fixes a critical security vulnerability where users could exfiltrate data from Azure TRE by uploading files to external Azure ML workspaces accessible via
ml.azure.com, bypassing the airlock completely.The Azure ML workspace service had network security group (NSG) rules and firewall rules allowing unrestricted outbound access to the
AzureMachineLearningservice tag. This enabled users to connect to any Azure ML workspace in the same tenant, including those outside the TRE, and upload sensitive data.How is this addressed
Security Fixes:
shared_access_key_enabled = false)systemDatastoresAuthMode = "identity"for identity-based datastore authenticationRBAC Improvements:
workspace_owners_group_idandworkspace_researchers_group_idas input variables to Azure ML workspace serviceVersion and Documentation:
Impact:
Data exfiltration via external ML workspaces is now prevented while legitimate Azure ML workspace within TRE continues to function normally via private endpoints with proper authentication and management capabilities.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.