Dear Vikram,
Thank you for your question here at Q&A portal! I would be happy try to help you.
- Set Up the Central Storage Account
Create or Identify a Storage Account (e.g., azureacc12) in your central Azure subscription.
Enable Hierarchical Namespace (if using Azure Data Lake Storage Gen2) for better organization.
Configure Network Settings to allow traffic from other subscriptions. Under Networking, choose Selected networks and add the relevant VNets or allow access from All networks (if security policies permit). Alternatively, use Private Endpoints for secure access.
2.Configure Flow Logs in Each Subscription
For each subscription (azureacc1, azureacc2, azureacc3):
Navigate to the VNet > Flow Logs > + Add.
Select the Target Storage Account: choose "Another Azure account" and provide the Storage Account ID (e.g., /subscriptions/[central-sub-id]/resourceGroups/[rg-name]/providers/Microsoft.Storage/storageAccounts/azureacc12).
Ensure the Storage Account Contributor (or Storage Blob Data Contributor) role is assigned to the logging service principal or user account.
Define Retention & Logging Settings: set retention (e.g., 30 days). Specify a container name (e.g., vnetflowlogs-azureacc1 for subscription-specific segregation).
3.Cross-Subscription Access (RBAC)
Grant Permissions: In the central storage account (azureacc12), assign Storage Blob Data Contributor to: Each subscription’s Network Contributor role (or a custom role) or, use a Managed Identity from each subscription for secure access.
Automation (if u like)
Use Azure Policy to enforce flow log settings across subscriptions. Deploy via Terraform/ARM/Bicep for consistency.
And last one, data transfer across subscriptions may incur costs. Use Private Links or VNet peering for sensitive environments.
Best regards,
Alex
P.S. If my answer help to you, please Accept my answer