Używanie prywatnych punktów końcowych dla usługi Azure Storage
Możesz użyć prywatnych punktów końcowych dla kont usługi Azure Storage, aby umożliwić klientom w sieci wirtualnej bezpieczny dostęp do danych za pośrednictwem usługi Private Link. Prywatny punkt końcowy używa osobnego adresu IP z przestrzeni adresowej sieci wirtualnej dla każdej usługi konta magazynu. Ruch sieciowy między klientami w sieci wirtualnej a kontem magazynu przechodzi przez sieć wirtualną i łącze prywatne w sieci szkieletowej firmy Microsoft, eliminując narażenie z publicznego Internetu.
Uwaga
Prywatne punkty końcowe nie są dostępne dla kont magazynu ogólnego przeznaczenia w wersji 1.
Korzystanie z prywatnych punktów końcowych dla konta magazynu umożliwia:
- Zabezpiecz konto magazynu przy użyciu linku prywatnego. Zaporę magazynu można skonfigurować ręcznie, aby blokowała połączenia w publicznym punkcie końcowym usługi magazynu. Tworzenie łącza prywatnego nie blokuje automatycznie połączeń w publicznym punkcie końcowym.
- zwiększenie bezpieczeństwa sieci wirtualnej (VNet) przez umożliwienie blokowania eksfiltracji danych z VNet.
- Bezpiecznie nawiąż połączenie z kontami magazynu z sieci lokalnych łączących się z siecią wirtualną przy użyciu sieci VPN lub usługi ExpressRoutes z prywatną komunikacją równorzędną.
Omówienie pojęć
Prywatny punkt końcowy to specjalny interfejs sieciowy dla usługi platformy Azure w sieci wirtualnej. Podczas tworzenia prywatnego punktu końcowego dla konta magazynu zapewnia bezpieczną łączność między klientami w sieci wirtualnej a magazynem. Prywatny punkt końcowy ma przypisany adres IP z zakresu adresów IP sieci wirtualnej. Połączenie między prywatnym punktem końcowym a usługą magazynu używa bezpiecznego łącza prywatnego.
Aplikacje w sieci wirtualnej mogą bezproblemowo łączyć się z usługą magazynu za pośrednictwem prywatnego punktu końcowego, korzystając z tych samych parametry połączenia i mechanizmów autoryzacji, których będą używać w przeciwnym razie. Prywatne punkty końcowe mogą być używane ze wszystkimi protokołami obsługiwanymi przez konto magazynu, w tym REST i SMB.
Prywatne punkty końcowe można tworzyć w podsieciach korzystających z punktów końcowych usługi. Klienci w podsieci mogą w ten sposób łączyć się z jednym kontem magazynu przy użyciu prywatnego punktu końcowego, używając punktów końcowych usługi w celu uzyskania dostępu do innych.
Podczas tworzenia prywatnego punktu końcowego dla usługi magazynu w sieci wirtualnej, żądanie zgody jest wysyłane do zatwierdzenia przez właściciela konta magazynu. Jeśli użytkownik żądający utworzenia prywatnego punktu końcowego jest też właścicielem konta magazynu, żądanie zgody jest zatwierdzane automatycznie.
Właściciele konta magazynu mogą zarządzać żądaniami zgody i prywatnymi punktami końcowymi za pomocą karty "Prywatne punkty końcowe" dla konta magazynu w witrynie Azure Portal.
Napiwek
Jeśli chcesz ograniczyć dostęp do konta magazynu tylko za pośrednictwem prywatnego punktu końcowego, skonfiguruj zaporę magazynu, aby blokować lub kontrolować dostęp za pośrednictwem publicznego punktu końcowego.
Konto magazynu można zabezpieczyć tak, aby akceptowały tylko połączenia z sieci wirtualnej, konfigurując zaporę magazynu w celu odmowy dostępu za pośrednictwem publicznego punktu końcowego domyślnie. Nie potrzebujesz reguły zapory, aby zezwolić na ruch z sieci wirtualnej, która ma prywatny punkt końcowy, ponieważ zapora magazynu kontroluje dostęp tylko za pośrednictwem publicznego punktu końcowego. Prywatne punkty końcowe polegają zamiast tego na przepływie zgody na udzielanie podsieciom dostępu do usługi magazynu.
Uwaga
Podczas kopiowania obiektów blob między kontami magazynu klient musi mieć dostęp sieciowy do obu kont. Jeśli więc zdecydujesz się użyć łącza prywatnego tylko dla jednego konta (źródła lub miejsca docelowego), upewnij się, że klient ma dostęp sieciowy do drugiego konta. Aby dowiedzieć się więcej o innych sposobach konfigurowania dostępu do sieci, zobacz Konfigurowanie zapór i sieci wirtualnych usługi Azure Storage.
Tworzenie prywatnego punktu końcowego
Aby utworzyć prywatny punkt końcowy przy użyciu witryny Azure Portal, zobacz Łączenie się prywatnie z kontem magazynu ze środowiska konta magazynu w witrynie Azure Portal.
Aby utworzyć prywatny punkt końcowy przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure, zobacz jeden z tych artykułów. Obie te funkcje obejmują aplikację internetową platformy Azure jako usługę docelową, ale kroki tworzenia łącza prywatnego są takie same dla konta usługi Azure Storage.
Tworzenie prywatnego punktu końcowego przy użyciu interfejsu wiersza polecenia platformy Azure
Tworzenie prywatnego punktu końcowego przy użyciu programu Azure PowerShell
Podczas tworzenia prywatnego punktu końcowego należy określić konto magazynu i usługę magazynu, z którą nawiązuje połączenie.
Potrzebujesz oddzielnego prywatnego punktu końcowego dla każdego zasobu magazynu, do którego chcesz uzyskać dostęp, czyli obiektów blob, usługi Data Lake Storage, plików, kolejek, tabel lub statycznych witryn internetowych. W prywatnym punkcie końcowym te usługi magazynu są zdefiniowane jako docelowy zasób skojarzonego konta magazynu.
Jeśli tworzysz prywatny punkt końcowy dla zasobu magazynu usługi Data Lake Storage, utwórz go również dla zasobu usługi Blob Storage. Dzieje się tak, ponieważ operacje przeznaczone dla punktu końcowego usługi Data Lake Storage mogą być przekierowywane do punktu końcowego obiektu blob. Podobnie, jeśli dodasz prywatny punkt końcowy tylko dla usługi Blob Storage, a nie dla usługi Data Lake Storage, niektóre operacje (takie jak Zarządzanie listą ACL, tworzeniem katalogu, usuwanie katalogu itp.), zakończy się niepowodzeniem, ponieważ interfejsy API wymagają prywatnego punktu końcowego systemu plików DFS. Tworząc prywatny punkt końcowy dla obu zasobów, upewnij się, że wszystkie operacje mogą zakończyć się pomyślnie.
Napiwek
Utwórz oddzielny prywatny punkt końcowy dla pomocniczego wystąpienia usługi magazynu, aby uzyskać lepszą wydajność odczytu na kontach RA-GRS. Pamiętaj, aby utworzyć konto magazynu ogólnego przeznaczenia w wersji 2 (Standardowa lub Premium).
Aby uzyskać dostęp do odczytu do regionu pomocniczego z kontem magazynu skonfigurowanym dla magazynu geograficznie nadmiarowego, potrzebne są oddzielne prywatne punkty końcowe zarówno dla wystąpień podstawowych, jak i pomocniczych usługi. Nie musisz tworzyć prywatnego punktu końcowego dla wystąpienia pomocniczego na potrzeby trybu failover. Prywatny punkt końcowy automatycznie połączy się z nowym wystąpieniem podstawowym po przejściu w tryb failover. Aby uzyskać więcej informacji na temat opcji nadmiarowości magazynu, zobacz Nadmiarowość usługi Azure Storage.
Nawiązywanie połączenia z prywatnym punktem końcowym
Klienci w sieci wirtualnej korzystającej z prywatnego punktu końcowego powinni używać tego samego parametry połączenia dla konta magazynu, co klienci łączący się z publicznym punktem końcowym. Polegamy na rozpoznawaniu nazw DNS w celu automatycznego kierowania połączeń z sieci wirtualnej do konta magazynu za pośrednictwem łącza prywatnego.
Ważne
Użyj tego samego parametry połączenia, aby nawiązać połączenie z kontem magazynu przy użyciu prywatnych punktów końcowych, które będą używane w przeciwnym razie. Nie nawiąż połączenia z kontem magazynu przy użyciu adresu privatelink
URL poddomeny.
Domyślnie tworzymy prywatną strefę DNS dołączoną do sieci wirtualnej z niezbędnymi aktualizacjami dla prywatnych punktów końcowych. Jeśli jednak używasz własnego serwera DNS, może być konieczne wprowadzenie dodatkowych zmian w konfiguracji DNS. W sekcji dotyczącej zmian DNS poniżej opisano aktualizacje wymagane dla prywatnych punktów końcowych.
Zmiany DNS dla prywatnych punktów końcowych
Uwaga
Aby uzyskać szczegółowe informacje na temat konfigurowania ustawień DNS dla prywatnych punktów końcowych, zobacz Konfiguracja usługi DNS prywatnego punktu końcowego platformy Azure.
Podczas tworzenia prywatnego punktu końcowego rekord zasobu CNAME systemu DNS dla konta magazynu jest aktualizowany do aliasu w poddomenie z prefiksem privatelink
. Domyślnie tworzymy również prywatną strefę DNS odpowiadającą privatelink
poddomenie z rekordami zasobów DNS A dla prywatnych punktów końcowych.
Po rozpoznaniu adresu URL punktu końcowego magazynu spoza sieci wirtualnej przy użyciu prywatnego punktu końcowego jest rozpoznawany jako publiczny punkt końcowy usługi magazynu. Po rozpoznaniu z sieci wirtualnej obsługującej prywatny punkt końcowy adres URL punktu końcowego magazynu jest rozpoznawany jako adres IP prywatnego punktu końcowego.
W przedstawionym przykładzie powyżej rekordy zasobów DNS dla konta magazynu "StorageAccountA", po rozpoznaniu poza siecią wirtualną hostująca prywatny punkt końcowy, będą następujące:
Nazwisko | Typ | Wartość |
---|---|---|
StorageAccountA.blob.core.windows.net |
CNAME | StorageAccountA.privatelink.blob.core.windows.net |
StorageAccountA.privatelink.blob.core.windows.net |
CNAME | <publiczny punkt końcowy usługi magazynu> |
<publiczny punkt końcowy usługi magazynu> | A | <publiczny adres IP usługi magazynu> |
Jak wspomniano wcześniej, można blokować lub kontrolować dostęp dla klientów spoza sieci wirtualnej za pośrednictwem publicznego punktu końcowego przy użyciu zapory magazynu.
Rekordy zasobów DNS dla usługi StorageAccountA, po rozpoznaniu przez klienta w sieci wirtualnej hostujące prywatny punkt końcowy, będą następujące:
Nazwisko | Typ | Wartość |
---|---|---|
StorageAccountA.blob.core.windows.net |
CNAME | StorageAccountA.privatelink.blob.core.windows.net |
StorageAccountA.privatelink.blob.core.windows.net |
A | 10.1.1.5 |
Takie podejście umożliwia dostęp do konta magazynu przy użyciu tego samego parametry połączenia dla klientów w sieci wirtualnej hostujących prywatne punkty końcowe, a także klientów spoza sieci wirtualnej.
Jeśli używasz niestandardowego serwera DNS w sieci, klienci muszą mieć możliwość rozpoznawania nazwy FQDN punktu końcowego konta magazynu do prywatnego adresu IP punktu końcowego. Należy skonfigurować serwer DNS, aby delegować poddomenę łącza prywatnego do prywatnej strefy DNS dla sieci wirtualnej lub skonfigurować rekordy A dla StorageAccountA.privatelink.blob.core.windows.net
z prywatnym adresem IP punktu końcowego.
Napiwek
W przypadku korzystania z niestandardowego lub lokalnego serwera DNS należy skonfigurować serwer DNS, aby rozpoznać nazwę konta magazynu w privatelink
poddomenie na prywatny adres IP punktu końcowego. Można to zrobić, delegując privatelink
poddomenę do prywatnej strefy DNS sieci wirtualnej lub konfigurując strefę DNS na serwerze DNS i dodając rekordy DNS A.
Zalecane nazwy stref DNS dla prywatnych punktów końcowych dla usług magazynu i skojarzonych zasobów docelowych punktu końcowego to:
Usługa magazynu | Docelowy zasób podrzędny | Nazwa strefy |
---|---|---|
Blob service | blob | privatelink.blob.core.windows.net |
Data Lake Storage | Systemu plików dfs | privatelink.dfs.core.windows.net |
Usługa plików | plik | privatelink.file.core.windows.net |
usługą kolejki | kolejka | privatelink.queue.core.windows.net |
Table service | table | privatelink.table.core.windows.net |
Statyczne witryny internetowe | web | privatelink.web.core.windows.net |
Aby uzyskać więcej informacji na temat konfigurowania własnego serwera DNS do obsługi prywatnych punktów końcowych, zapoznaj się z następującymi artykułami:
- Rozpoznawanie nazw dla zasobów w sieciach wirtualnych platformy Azure
- Konfiguracja DNS dla prywatnych punktów końcowych
Cennik
Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Private Link.
Znane problemy
Pamiętaj o następujących znanych problemach dotyczących prywatnych punktów końcowych dla usługi Azure Storage.
Ograniczenia dostępu do magazynu dla klientów w sieciach wirtualnych z prywatnymi punktami końcowymi
Klienci w sieciach wirtualnych z istniejącymi prywatnymi punktami końcowymi napotykają ograniczenia podczas uzyskiwania dostępu do innych kont magazynu, które mają prywatne punkty końcowe. Załóżmy na przykład, że sieć wirtualna N1 ma prywatny punkt końcowy dla konta magazynu A1 dla usługi Blob Storage. Jeśli konto magazynu A2 ma prywatny punkt końcowy w sieci wirtualnej N2 dla usługi Blob Storage, klienci w sieci wirtualnej N1 muszą również uzyskać dostęp do magazynu obiektów blob na koncie A2 przy użyciu prywatnego punktu końcowego. Jeśli konto magazynu A2 nie ma żadnych prywatnych punktów końcowych dla usługi Blob Storage, klienci w sieci wirtualnej N1 mogą uzyskać dostęp do magazynu obiektów blob na tym koncie bez prywatnego punktu końcowego.
To ograniczenie jest wynikiem zmian DNS wprowadzonych podczas tworzenia prywatnego punktu końcowego przez konto A2.
Kopiowanie obiektów blob między kontami magazynu
Obiekty blob można kopiować między kontami magazynu przy użyciu prywatnych punktów końcowych tylko wtedy, gdy używasz interfejsu API REST platformy Azure lub narzędzi korzystających z interfejsu API REST. Te narzędzia obejmują narzędzia AzCopy, Eksplorator usługi Storage, program Azure PowerShell, interfejs wiersza polecenia platformy Azure i zestawy SDK usługi Azure Blob Storage.
Obsługiwane są tylko prywatne punkty końcowe przeznaczone dla punktu końcowego blob
zasobu lub file
magazynu. Obejmuje to wywołania interfejsu API REST względem kont usługi Data Lake Storage, do których blob
odwołuje się jawnie lub niejawnie punkt końcowy zasobu. Prywatne punkty końcowe przeznaczone dla punktu końcowego zasobu usługi Data Lake Storage dfs
nie są jeszcze obsługiwane. Kopiowanie między kontami magazynu przy użyciu protokołu sieciowego systemu plików (NFS) nie jest jeszcze obsługiwane.