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 information lake. They act as a centralized repository, enabling seamless information change between producers and customers. This setup empowers customers to carry out information science duties and construct machine studying (ML) fashions. Moreover, customers can use the information for Retrieval Augmented Technology (RAG), facilitating interplay with firm information by means of Massive Language Fashions (LLMs) like ChatGPT.
Extremely delicate information is usually saved within the storage account. Protection in depth measures have to be in place earlier than information scientists and ML pipelines can entry the information. To do protection in depth, a number of measurement shall be in place corresponding to 1) superior menace safety to detect malware, 2) authentication utilizing Microsoft Entra, 3) authorization to do positive grained entry management, 4) audit path to watch entry, 5) information exfiltration prevention, 6) encryption, and final however not least 7) network access control utilizing service endpoint or personal endpoints.
This text focuses on community entry management of the storage account. Within the subsequent chapter, the totally 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 state of affairs is {that a} digital machine must have community entry to a storage account. This digital machine typically acts as a Spark cluster to investigate information from the storage account. The picture under gives an summary of the obtainable community entry controls.
The parts within the picture might be described as follows:
Azure world community — spine: Site visitors all the time goes over Azure spine between two areas (except buyer forces to not do it), see additionally Microsoft global network — Azure | Microsoft Learn. 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. Frequent guidelines embrace whitelisting VNET/subnet, public IP addresses, system-assigned managed identities as useful resource cases, or permitting trusted providers. When a VNET/subnet is whitelisted, the Azure Storage account identifies the visitors’s origin and its personal IP deal with. Nonetheless, the storage account itself shouldn’t be built-in into the VNET/subnet — personal endpoints are wanted for that function.
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 Access Disabled — but still some level 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 by 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 have to be turned on for the VNET/subnet. The service endpoint must 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 numerous areas. Notice 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 inside 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 by 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 reasonably 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 will forestall information exfiltration. Nonetheless, an NSG works solely with IP addresses or tags, not with URLs. For extra superior information exfiltration safety, use an Azure Firewall. For simplicity, the article omits this and makes use of NSG to dam outbound visitors.
Within the subsequent chapter, service endpoints and personal endpoints are mentioned.
The chapter begins by exploring the state of affairs 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 state of affairs by 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. Because the digital machine can be deployed in Azure, visitors will go over Azure Spine and can be accepted, see picture under.
Enterprises sometimes 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 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 inside the areas or Microsoft.Storage.International for cross area. Subsequent, whitelist the VNET/subnet within the storage account firewall. Site visitors is then blocked once more, see additionally picture under.
Site visitors is now accepted. When VNET/subnet is faraway from Azure storage account firewall or public entry is disabled, then visitors is blocked once more.
In case an NSG is used to dam public outbound IPs within the VNET of the digital machine, then 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 visitors doesn’t go away 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 inside the VNET of the digital machine, guaranteeing that visitors stays inside the VNET. The picture under gives additional illustration.
Once more, an NSG can be utilized once more to dam all visitors, see picture under.
That is nevertheless counterintuitive, since first a non-public endpoint is created within the VNET after which 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 submit, each service endpoints and personal endpoint are thought-about 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 visitors leaves the VNET of the digital machine that’s connecting to the storage account. See above, the 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.
- Site visitors doesn’t go away the VNET by which the digital machine additionally runs.
There are a whole 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 assist 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) visitors shall by no means go away VNET/subnet of digital machine or 2) it’s not allowed to create firewall guidelines in Azure storage firewall and have to be locked down, then service endpoint shouldn’t be possible.
In different eventualities, it’s attainable to contemplate each options, and one of the best match must be decided based mostly on the particular necessities of every state of affairs.