Service endpoints and personal endpoints hands-on: together with Azure Spine, storage account firewall, DNS, VNET and NSGs
Storage accounts play a significant position in a medallion structure for establishing an enterprise knowledge lake. They act as a centralized repository, enabling seamless knowledge change between producers and customers. This setup empowers customers to carry out knowledge science duties and construct machine studying (ML) fashions. Moreover, customers can use the info for Retrieval Augmented Era (RAG), facilitating interplay with firm knowledge via Giant Language Fashions (LLMs) like ChatGPT.
Extremely delicate knowledge is usually saved within the storage account. Protection in depth measures should be in place earlier than knowledge scientists and ML pipelines can entry the info. To do protection in depth, a number of measurement shall be in place reminiscent of 1) superior risk safety to detect malware, 2) authentication utilizing Microsoft Entra, 3) authorization to do fantastic grained entry management, 4) audit path to observe entry, 5) knowledge exfiltration prevention, 6) encryption, and final however not least 7) community entry management utilizing service endpoint or personal endpoints.
This text focuses on community entry management of the storage account. Within the subsequent chapter, the completely different ideas are defined (demystified) on storage account community entry. Following that, a hands-on comparability is finished between service endpoint and personal endpoints. Lastly, a conclusion is drawn.
A typical situation is {that a} digital machine must have community entry to a storage account. This digital machine usually acts as a Spark cluster to research knowledge from the storage account. The picture under offers an summary of the accessible community entry controls.
The elements within the picture might be described as follows:
Azure world community — spine: Visitors all the time goes over Azure spine between two areas (except buyer forces to not do it), see additionally Microsoft world community — Azure | Microsoft Be taught. That is no matter what firewall rule is used within the storage account and regardless whether or not service endpoints or personal endpoints are used.
Azure storage firewalls: Firewall guidelines can prohibit or disable public entry. Widespread guidelines embrace whitelisting VNET/subnet, public IP addresses, system-assigned managed identities as useful resource situations, or permitting trusted providers. When a VNET/subnet is whitelisted, the Azure Storage account identifies the site visitors’s origin and its personal IP deal with. Nonetheless, the storage account itself will not be built-in into the VNET/subnet — personal endpoints are wanted for that goal.
Public DNS storage account: Storage accounts will all the time have a public DNS that may be entry through community tooling, see additionally Azure Storage Account — Public Entry Disabled — however nonetheless some stage of connectivity — Microsoft Q&A. That’s, even when public entry is disabled within the storage account firewall, the general public DNS will stay.
Digital Community (VNET): Community through which digital machines are deployed. Whereas a storage account is rarely deployed inside a VNET, the VNET might be whitelisted within the Azure storage firewall. Alternatively, the VNET can create a non-public endpoint for safe, personal connectivity.
Service endpoints: When whitelisting a VNET/subnet within the Storage account firewall, the service endpoint should be turned on for the VNET/subnet. The service endpoint needs to be Microsoft.Storage when the VNET and storage account are in the identical area or Microsoft.Storage.International when the VNET and storage are in several areas. Observe that service endpoints can be used as an overarching time period, encompassing each the whitelisting of a VNET/subnet on the Azure Storage Firewall and the enabling of the service endpoint on the VNET/subnet.
Personal endpoints: Integrating a Community Interface Card (NIC) of a Storage Account throughout the VNET the place the digital machine operates. This integration assigns the storage account a non-public IP deal with, making it a part of the VNET.
Personal DNS storage account: Inside a VNET, a non-public DNS zone might be created through which the storage account DNS resolves to the personal endpoint. That is to guarantee that digital machine can nonetheless connect with the URL of the storage account and the URL of the storage account resolves to a non-public IP deal with moderately than a public deal with.
Community Safety Group (NSG): Deploy an NSG to restrict inbound and outbound entry of the VNET the place the digital machine runs. This may stop knowledge exfiltration. Nonetheless, an NSG works solely with IP addresses or tags, not with URLs. For extra superior knowledge exfiltration safety, use an Azure Firewall. For simplicity, the article omits this and makes use of NSG to dam outbound site visitors.
Within the subsequent chapter, service endpoints and personal endpoints are mentioned.
The chapter begins by exploring the situation of unrestricted community entry. Then the small print of service endpoints and personal endpoints are mentioned with sensible examples.
3.1 Not limiting community entry — public entry enabled
Suppose the next situation through which a digital machine and a storage account is created. The firewall of the storage account has public entry enabled, see picture under.
Utilizing this configuration, a the digital machine can entry the storage account over the community. For the reason that digital machine can be deployed in Azure, site visitors will go over Azure Spine and shall be accepted, see picture under.
Enterprises usually set up firewall guidelines to restrict community entry. This entails disabling public entry or permitting solely chosen networks and whitelisting particular ones. The picture under illustrates public entry being disabled and site visitors being blocked by the firewall.
Within the subsequent paragraph, service endpoints and chosen community firewall guidelines are used to grant community entry to storage account once more.
3.2 Limiting community entry through Service endpoints
To allow digital machine VNET entry to the storage account, activate the service endpoint on the VNET. Use Microsoft.Storage for throughout the areas or Microsoft.Storage.International for cross area. Subsequent, whitelist the VNET/subnet within the storage account firewall. Visitors is then blocked once more, see additionally picture under.
Visitors is now accepted. When VNET/subnet is faraway from Azure storage account firewall or public entry is disabled, then site visitors is blocked once more.
In case an NSG is used to dam public outbound IPs within the VNET of the digital machine, then site visitors can be blocked once more. It is because the general public DNS of the storage account is used, see additionally picture under.
In that case, personal endpoints shall be used to guarantee that site visitors doesn’t depart VNET. That is mentioned within the subsequent chapter.
3.3 Limiting entry through Personal endpoints
To reestablish community entry for the digital machine to the storage account, use a non-public endpoint. This motion creates a community interface card (NIC) for the storage account throughout the VNET of the digital machine, guaranteeing that site visitors stays throughout the VNET. The picture under offers additional illustration.
Once more, an NSG can be utilized once more to dam all site visitors, see picture under.
That is nevertheless counterintuitive, since first a non-public endpoint is created within the VNET after which site visitors is blocked by NSG in the identical VNET.
Enterprise all the time requires community guidelines in place to restrict community entry to their storage account. On this weblog publish, each service endpoints and personal endpoint are thought of to restrict entry.
Each is true for service endpoints and personal endpoints:
For service endpoints, the next maintain:
Requires to allow service endpoints on VNET/subnet and whitelisting of VNET/subnet in Azure storage account firewall.Requires that site visitors leaves the VNET of the digital machine that’s connecting to the storage account. See above, the site visitors stays on the Azure spine.
For personal endpoints, the next maintain:
Public entry might be disabled within the Azure Storage firewall. See above, public DNS entry of storage account will stay.Visitors doesn’t depart the VNET through which the digital machine additionally runs.
There are quite a lot of different issues to contemplate whether or not to make use of service endpoints or personal endpoints (prices, migration effort since service endpoints have been on the market longer than personal endpoints, networking complexity when utilizing personal endpoints, restricted service endpoint help of newer Azure providers, exhausting restrict of quantity personal endpoints in storage account of 200).
Nonetheless, in case it’s required (“should have”) that 1) site visitors shall by no means depart VNET/subnet of digital machine or 2) it isn’t allowed to create firewall guidelines in Azure storage firewall and should be locked down, then service endpoint will not be possible.
In different situations, it’s attainable to contemplate each options, and the very best match needs to be decided based mostly on the particular necessities of every situation.