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:

  • zabezpieczenie konta magazynu przez skonfigurowanie zapory magazynu w celu blokowania w publicznym punkcie końcowym wszystkich połączeń dla usługi magazynu,
  • 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ęć

Omówienie prywatnych punktów końcowych dla usługi Azure Storage

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 Połączenie prywatnie do konta 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.

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 Gen2, 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 Gen2, 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 Gen2 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 Gen2, niektóre operacje (takie jak Zarządzanie listą ACL, tworzeniem katalogu, usuwanie katalogu itp.), zakończy się niepowodzeniem, ponieważ interfejsy API 2. generacji 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.

Połączenie do prywatnego punktu końcowego

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
Usługa Data Lake Storage 2. generacji 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:

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 Gen2, w których blob punkt końcowy zasobu jest odwoływanych jawnie lub niejawnie. Prywatne punkty końcowe przeznaczone dla punktu końcowego zasobu usługi Data Lake Storage Gen2 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.

Następne kroki