Sdílet prostřednictvím


Integrace služby Private Link a DNS ve velkém měřítku

Tento článek popisuje, jak integrovat Azure Private Link pro řešení PaaS, která mají zóny Azure Private DNS v architekturách typu hub-and-spoke.

Úvod

Mnoho zákazníků sestavuje svou síťovou infrastrukturu v Azure pomocí architektury hub-and-spoke, kde:

  • Sdílené síťové služby, jako jsou síťová virtuální zařízení, brány ExpressRoute nebo brány VPN nebo servery DNS, se nasazují v centrální virtuální síti.
  • Paprskové virtuální sítě využívají sdílené služby prostřednictvím propojení virtuálních sítí.

V hub-and-spoke síťových architekturách mají vlastníci aplikací obvykle předplatné Azure, které zahrnuje virtuální síť ("spoke"), která je připojená k virtuální síti "hub". V této architektuře můžou nasadit své virtuální počítače a mít privátní připojení k jiným virtuálním sítím nebo k místním sítím přes ExpressRoute nebo VPN.

Centrální síťové virtuální zařízení, jako je Azure Firewall, poskytuje odchozí připojení k internetu. Kromě toho se toto zařízení v kombinaci s jinou službou, jako je proxy DNS služby Azure Firewall, které je v centru nebo v blízkosti, obvykle používá k přizpůsobení předávání DNS.

Mnoho aplikačních týmů vytváří svá řešení pomocí kombinace prostředků Azure IaaS a PaaS. Některé služby Azure PaaS, jako je Azure SQL Managed Instance, je možné nasadit do zákaznických virtuálních sítí. V důsledku toho provoz zůstává privátní v rámci sítě Azure a je plně směrovatelný z místního prostředí.

Některé služby Azure PaaS, jako je Azure Storage nebo Azure Cosmos DB, se ale nedají nasadit do virtuálních sítí zákazníka a jsou přístupné přes svůj veřejný koncový bod. V některých případech tato konfigurace způsobuje kolize se zásadami zabezpečení zákazníka. Podnikový provoz nemusí povolit nasazení nebo přístup k podnikovým prostředkům, jako je databáze SQL, přes veřejné koncové body.

Private Link podporuje přístup k seznamu služeb Azure přes privátní koncové body, ale vyžaduje, abyste tyto záznamy privátních koncových bodů zaregistrovali v odpovídající privátní zóně DNS.

Tento článek popisuje, jak můžou aplikační týmy nasazovat služby Azure PaaS ve svých předplatných, které jsou přístupné jenom přes privátní koncové body.

Tento článek také popisuje, jak můžou aplikační týmy zajistit automatickou integraci služeb s privátními zónami DNS. Dělají automatizaci prostřednictvím privátního DNS Azure, což eliminuje potřebu ručního vytváření nebo odstraňování záznamů v DNS.

Privátní zóny DNS se obvykle hostují centrálně ve stejném předplatném Azure, ve kterém se nasazuje virtuální síť centra. Tento postup centrálního hostování je řízený překladem názvů DNS mezi místními místy a dalšími potřebami centrálního překladu DNS, jako je Windows Server Active Directory. Ve většině případů mají oprávnění ke správě záznamů DNS v zónách jenom správci sítí a identit.

Aplikační týmy mají oprávnění k vytvoření prostředku Azure ve vlastním předplatném. Nemají žádná oprávnění v předplatném centrálního síťového připojení, která zahrnuje správu záznamů DNS v privátních zónách DNS. Toto omezení přístupu znamená, že nemají možnost vytvářet záznamy DNS vyžadované při nasazování služeb Azure PaaS s privátními koncovými body.

Následující diagram znázorňuje typickou architekturu vysoké úrovně pro podniková prostředí s centrálním překladem DNS a překladem názvů pro prostředky Private Link přes Azure Private DNS:

Diagram architektury vysoké úrovně s centrálním překladem DNS a překladem názvů pro prostředky Private Linku

V předchozím diagramu je důležité zdůraznit, že:

  • Místní servery DNS mají nakonfigurované podmíněné předávání pro každou veřejnou DNS zónu privátního koncového bodu, která odkazuje na privátní překladač DNS hostovaný ve virtuální síti uzlu.

  • Privátní překladač DNS hostovaný ve virtuální síti centra používá jako předávací nástroj DNS poskytovaný Azure (168.63.129.16).

  • Virtuální síť centra musí být propojena s názvy privátních zón DNS pro služby Azure, jako je privatelink.blob.core.windows.net, jak je znázorněno v diagramu.

  • Všechny virtuální sítě Azure používají privátní překladač DNS hostovaný ve virtuální síti centra.

  • Privátní řešitel DNS není autoritativní pro firemní domény zákazníka, například jména domén Active Directory, protože je to jen předávací nástroj. Privátní překladač DNS by měl mít předávací servery odchozích koncových bodů do podnikových domén zákazníka, které odkazují na místní servery DNS (172.16.1.10 a 172.16.1.11) nebo servery DNS nasazené v Azure, které jsou pro takové zóny autoritativní.

Poznámka:

Privátní překladač DNS můžete nasadit ve virtuální síti centra společně s bránou ExpressRoute. Musíte ale zajistit, aby bylo umožněno překládání veřejných FQDN a aby platná odpověď byla zprostředkována prostřednictvím pravidla předávání DNS cílovému serveru DNS. Některé služby Azure spoléhají na schopnost překládat veřejné názvy DNS tak, aby fungovaly. Další informace najdete v tématu pravidla sady pravidel předávání DNS.

I když předchozí diagram znázorňuje jednu hvězdicovou architekturu, zákazníci možná budou muset rozšířit svou přítomnost v Azure napříč několika regiony, aby vyřešili požadavky na odolnost, blízkost nebo rezidenci dat. V několika scénářích musí být stejná instance PaaS s podporou služby Private Link přístupná prostřednictvím několika privátních koncových bodů.

Následující diagram znázorňuje typickou architekturu vysoké úrovně pro podniková prostředí s centrálním překladem DNS nasazeným v centru (jedna pro každou oblast), kde se překlad názvů pro prostředky Private Link provádí přes Azure Private DNS.

Diagram architektury vysoké úrovně s centrálním překladem DNS a překladem názvů pro prostředky Private Linku v několika oblastech

Měli byste nasadit několik regionálních privátních koncových bodů přidružených k instanci PaaS, jednu v každé oblasti, kde existují klienti. Pro každou oblast povolte privátní propojení a privátní zóny DNS. Při práci se službami PaaS, které mají integrované možnosti zotavení po havárii, jako jsou geograficky redundantní účty úložiště a skupiny převzetí služeb při selhání databáze SQL, musíte mít privátní koncové body v několika oblastech.

Tento scénář vyžaduje ruční údržbu a aktualizace sady záznamů DNS služby Private Link v každé oblasti, protože pro tyto účely aktuálně neexistuje žádná automatizovaná správa životního cyklu.

V případě jiných případů použití je možné nasadit jeden globální privátní koncový bod a zpřístupnit ho všem klientům přidáním směrování z příslušných oblastí do jednoho privátního koncového bodu v jedné oblasti.

Chcete-li povolit rozlišení, a tím i konektivitu, z místních sítí k privatelink privátní zóně DNS a privátním koncovým bodům, zřiďte v infrastruktuře DNS příslušnou konfiguraci DNS, jako jsou podmíněná předávání.

Dvě podmínky, které musí platit, aby aplikační týmy mohly vytvořit požadované prostředky Azure PaaS ve svém předplatném:

  • Centrální síťové nebo centrální týmy platforem musí zajistit, aby aplikační týmy mohly nasazovat a přistupovat pouze ke službám Azure PaaS prostřednictvím privátních koncových bodů.

  • Centrální sítě nebo centrální týmy platforem musí zajistit, aby při vytváření privátních koncových bodů nastavili, jak zpracovávat odpovídající záznamy. Nastavte odpovídající záznamy tak, aby se automaticky vytvořily v centralizované privátní zóně DNS, která odpovídá vytvářené službě.

  • Záznamy DNS musí dodržovat životní cyklus privátního koncového bodu, aby se záznamy po odstranění privátního koncového bodu automaticky odebraly.

Poznámka:

Na základě překladu DNS, pokud potřebujete plně kvalifikované názvy domén v pravidlech sítě pro Azure Firewall a zásady Azure Firewall, umožněte proxy serveru DNS služby Azure Firewall používat plně kvalifikované názvy domén ve vašich pravidlech sítě. Paprskové virtuální sítě pak musí změnit nastavení DNS z vlastního serveru DNS na proxy DNS služby Azure Firewall. Plně kvalifikované názvy domén v pravidlech sítě umožňují filtrovat odchozí provoz pomocí libovolného protokolu TCP nebo UDP, včetně protokolů NTP, SSH a RDP. Když změníte nastavení DNS paprskové virtuální sítě, musíte restartovat všechny virtuální počítače v této virtuální síti.

Následující části popisují, jak týmy aplikací umožňují tyto podmínky pomocí služby Azure Policy. Příklad používá Azure Storage jako službu Azure, kterou aplikační týmy potřebují nasadit. Stejný princip se ale vztahuje na většinu služeb Azure, které podporují Službu Private Link.

Požadavky na konfiguraci platformového týmu

Požadavky na konfiguraci týmu platformy zahrnují vytvoření privátních zón DNS, nastavení definic zásad, nasazení zásad a nastavení přiřazení zásad.

Vytvoření privátních zón DNS

Vytvořte privátní zóny DNS v předplatném centrálního připojení pro podporované služby Private Link. Další informace najdete v tématu Konfigurace DNS privátního koncového bodu Azure.

V tomto případě je příkladem účet úložiště s objektem blob . Překládá se na vytvoření privatelink.blob.core.windows.net privátní zóny DNS v předplatném připojení.

Snímek obrazovky znázorňující privátní zónu DNS v předplatném připojení

Vytváření definic zásad

Kromě privátních zón DNS musíte také vytvořit sadu vlastních definic Azure Policy. Tyto definice vynucují použití privátních koncových bodů a automatizují vytváření záznamu DNS v zóně DNS, kterou vytvoříte:

  1. Deny Veřejný koncový bod pro zásady služeb PaaS.

    Tato zásada brání uživatelům v vytváření služeb Azure PaaS s veřejnými koncovými body.

    Snímek obrazovky znázorňující vybranou možnost veřejného koncového bodu pro všechny sítě.

    Pokud uživatelé při vytváření prostředku nevybírejí privátní koncový bod, zobrazí se jim chybová zpráva.

    Snímek obrazovky znázorňující chybovou zprávu, která je výsledkem výběru veřejného koncového bodu

    Snímek obrazovky znázorňující úplné podrobnosti o chybě při výběru veřejného koncového bodu

    Přesné pravidlo zásad se může mezi službami PaaS lišit. U účtů Azure Storage vlastnost networkAcls.defaultAction definuje, jestli jsou nebo nejsou povolené požadavky z veřejných sítí. V tomto případě nastavte podmínku tak, aby odepřela vytvoření typu prostředku Microsoft.Storage/storageAccounts , pokud vlastnost networkAcls.defaultAction není Deny. Následující definice zásady ukazuje chování:

    {
      "mode": "All",
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.Storage/storageAccounts"
            },
            {
              "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction",
              "notEquals": "Deny"
            }
          ]
        },
        "then": {
          "effect": "Deny"
        }
      }
    }
    
  2. Deny možnost vytvořit privátní zónu DNS se zásadou předpony privatelink.

    Použijte centralizovanou architekturu DNS s podmíněným předáváním a privátními zónami DNS hostovanými v předplatných spravovaných týmem platformy. Je nutné zabránit vlastníkům týmů aplikací vytvářet vlastní privátní zóny DNS služby Private Link a propojit služby se svými předplatnými.

    Ujistěte se, že když váš aplikační tým vytvoří privátní koncový bod, je možnost Integrate with private DNS zone nastavena na No v Azure portalu.

    Snímek obrazovky znázorňující možnost Integrace s privátní zónou DNS nastavenou na ne na webu Azure Portal

    Pokud vyberete Yes, Azure Policy vám zabrání ve vytvoření privátního koncového bodu. V definici zásady odmítne možnost vytvořit typ prostředku Microsoft.Network/privateDnsZones , pokud má zóna předponu privatelink . Následující definice zásady ukazuje předponu privatelink :

    {
      "description": "This policy restricts creation of private DNS zones with the `privatelink` prefix",
      "displayName": "Deny-PrivateDNSZone-PrivateLink",
      "mode": "All",
      "parameters": null,
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.Network/privateDnsZones"
            },
            {
              "field": "name",
              "contains": "privatelink."
            }
          ]
        },
        "then": {
          "effect": "Deny"
        }
      }
    }
    
  3. DeployIfNotExists politika automaticky vytvořit požadovaný záznam DNS v centrální privátní zóně DNS.

    Následující příklady zásad ukazují dva přístupy k identifikaci toho, které privateDNSZoneGroup je vytvořeno na privátním koncovém bodu.

    První zásada spoléhá na groupId, zatímco druhá zásada používá obojí privateLinkServiceId a groupID. Použijte druhou zásadu, když dojde ke konfliktu nebo kolizi s jiným prostředkem.

    Seznam groupId prostředků služby Private Link najdete ve sloupci subresources v části Co je privátní koncový bod?

Návod

Integrované definice Azure Policy se neustále přidávají, odstraňují a aktualizují. Předdefinované zásady byste měli používat místo správy vlastních zásad, pokud jsou k dispozici. Pomocí AzPolicyAdvertizer vyhledejte existující předdefinované zásady, které mají následující název xxx ... používat privátní zóny DNS. Cílové zóny Azure (ALZ) mají navíc iniciativu zásad, nakonfigurujte služby Azure PaaS tak, aby používaly privátní zóny DNS, které obsahují předdefinované zásady, které se pravidelně aktualizují. Pokud pro vaši situaci není k dispozici integrovaná zásada, zvažte vytvoření nápadu azure-policy na webu zásad správného řízení Azure s využitím integrovaného procesu návrhů zásad v úložišti Azure Policy Na GitHubu.

Zásady „DeployIfNotExists“ pouze pro groupId

Tato zásada se aktivuje, pokud vytvoříte prostředek soukromého koncového bodu, který je specifický pro službu groupId. Tento groupId je ID skupiny získané ze vzdáleného prostředku (služby), ke kterému se má připojit tento privátní koncový bod. Potom aktivuje nasazení v rámci privátního privateDNSZoneGroup koncového bodu, které přidruží privátní koncový bod k zóně privátního DNS. V příkladu je groupId pro objekty blob služby Azure Storage blob. Další informace o groupId ostatních službách Azure najdete ve sloupci Subresource v konfiguraci DNS privátního koncového bodu Azure. Když zásada najde groupId v privátním koncovém bodu, nasadí privateDNSZoneGroup v rámci privátního koncového bodu a připojí ho k ID prostředku privátní zóny DNS, které je zadané jako parametr. V tomto příkladu je ID prostředku privátní zóny DNS:

/subscriptions/<subscription-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net

Následující ukázka kódu ukazuje definici zásady:

{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Network/privateEndpoints"
        },
        {
          "count": {
            "field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
            "where": {
              "field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
              "equals": "blob"
            }
          },
          "greaterOrEquals": 1
        }
      ]
    },
    "then": {
      "effect": "deployIfNotExists",
      "details": {
        "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
        "roleDefinitionIds": [
          "/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
        ],           
        "deployment": {
          "properties": {
            "mode": "incremental",
            "template": {
              "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
              "contentVersion": "1.0.0.0",
              "parameters": {
                "privateDnsZoneId": {
                  "type": "string"
                },
                "privateEndpointName": {
                  "type": "string"
                },
                "location": {
                  "type": "string"
                }
              },
              "resources": [
                {
                  "name": "[concat(parameters('privateEndpointName'), '/deployedByPolicy')]",
                  "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
                  "apiVersion": "2020-03-01",
                  "location": "[parameters('location')]",
                  "properties": {
                    "privateDnsZoneConfigs": [
                      {
                        "name": "storageBlob-privateDnsZone",
                        "properties": {
                          "privateDnsZoneId": "[parameters('privateDnsZoneId')]"
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "parameters": {
              "privateDnsZoneId": {
                "value": "[parameters('privateDnsZoneId')]"
              },
              "privateEndpointName": {
                "value": "[field('name')]"
              },
              "location": {
                "value": "[field('location')]"
              }
            }
          }
        }
      }
    }
  },
  "parameters": {
    "privateDnsZoneId": {
      "type": "String",
      "metadata": {
        "displayName": "privateDnsZoneId",
        "strongType": "Microsoft.Network/privateDnsZones"
      }
    }
  }
}

Zásady DeployIfNotExists pro groupId a privateLinkServiceId

Tato zásada se aktivuje, pokud vytvoříte prostředek privátního koncového bodu s určitými parametry služby groupId a privateLinkServiceId. Tento groupId je ID skupiny získané ze vzdáleného prostředku (služby), ke kterému se má připojit tento privátní koncový bod. privateLinkServiceId je ID vzdáleného prostředku (služby), ke kterému se má tento privátní koncový bod připojit. Poté spusťte nasazení privateDNSZoneGroup na privátním koncovém bodu, které přidruží privátní koncový bod k soukromé DNS zóně.

V příkladu groupId je SQL pro Službu Azure Cosmos DB (SQL) a privateLinkServiceId musí obsahovat Microsoft.DocumentDb/databaseAccounts. Další informace o službách groupId Azure a privateLinkServiceId dalších službách Azure najdete ve sloupci Subresource v konfiguraci DNS privátního koncového bodu Azure. Když zásada najde groupId a privateLinkServiceId v privátním koncovém bodu, nasadí privateDNSZoneGroup do privátního koncového bodu. A také je propojený s ID prostředku privátní DNS zóny, které je zadané jako parametr. Následující definice zásad zobrazuje ID prostředku privátní zóny DNS:

/subscriptions/<subscription-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/privateDnsZones/privatelink.documents.azure.com

Následující ukázka kódu ukazuje definici zásady:

{
  "mode": "Indexed",
  "policyRule": {
    "if": {
     "allOf": [
       {
         "field": "type",
         "equals": "Microsoft.Network/privateEndpoints"
       },
       {
         "count": {
           "field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*]",
           "where": {
             "allOf": [
               {
                 "field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].privateLinkServiceId",
                 "contains": "Microsoft.DocumentDb/databaseAccounts"
               },
               {
                 "field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
                 "equals": "[parameters('privateEndpointGroupId')]"
               }
             ]
           }
         },
         "greaterOrEquals": 1
       }
     ]
   },
    "then": {
      "effect": "[parameters('effect')]",
      "details": {
        "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
        "roleDefinitionIds": [
          "/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
        ],           
        "deployment": {
          "properties": {
            "mode": "incremental",
            "template": {
              "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
              "contentVersion": "1.0.0.0",
              "parameters": {
                "privateDnsZoneId": {
                  "type": "string"
                },
                "privateEndpointName": {
                  "type": "string"
                },
                "location": {
                  "type": "string"
                }
              },
              "resources": [
                {
                  "name": "[concat(parameters('privateEndpointName'), '/deployedByPolicy')]",
                  "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
                  "apiVersion": "2020-03-01",
                  "location": "[parameters('location')]",
                  "properties": {
                    "privateDnsZoneConfigs": [
                      {
                        "name": "cosmosDB-privateDnsZone",
                        "properties": {
                          "privateDnsZoneId": "[parameters('privateDnsZoneId')]"
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "parameters": {
              "privateDnsZoneId": {
                "value": "[parameters('privateDnsZoneId')]"
              },
              "privateEndpointName": {
                "value": "[field('name')]"
              },
              "location": {
                "value": "[field('location')]"
              }
            }
          }
        }
      }
    }
  },
  "parameters": {
     "privateDnsZoneId": {
       "type": "String",
       "metadata": {
         "displayName": "Private Dns Zone Id",
         "description": "The private DNS zone to deploy in a new private DNS zone group and link to the private endpoint",
         "strongType": "Microsoft.Network/privateDnsZones"
       }
     },
     "privateEndpointGroupId": {
       "type": "String",
       "metadata": {
         "displayName": "Private Endpoint Group Id",
         "description": "A group Id for the private endpoint"
       }
     },
     "effect": {
       "type": "String",
       "metadata": {
         "displayName": "Effect",
         "description": "Enable or disable the execution of the policy"
       },
       "allowedValues": [
         "DeployIfNotExists",
         "Disabled"
       ],
       "defaultValue": "DeployIfNotExists"
     }
  }
}

Přiřazení politik

Po nasazení definic zásad přiřaďte zásady v požadovaném oboru v hierarchii skupin pro správu. Ujistěte se, že přiřazení zásad cílí na předplatná Azure, která aplikační týmy používají k nasazení služeb PaaS s výhradním přístupem k privátnímu koncovému bodu.

Důležité

Kromě přiřazení role definované v zásadě přiřaďte roli Přispěvatel privátní zóny DNS ke spravované identitě vytvořené přiřazením DeployIfNotExists této zásady. Tato role by měla být přiřazena k předplatnému a skupině zdrojů, kde jsou umístěny soukromé zóny DNS. Spravovaná identita vytvoří a spravuje záznam DNS privátního koncového bodu v privátní zóně DNS. Tato konfigurace je nezbytná, protože privátní koncový bod se nachází v předplatném Azure vlastníka aplikace, zatímco privátní zóna DNS se nachází v jiném předplatném, například v předplatném centrálního připojení.

Jakmile tým platformy dokončí konfiguraci:

  • Předplatná Azure týmů aplikací jsou připravená k vytvoření služeb Azure PaaS, které mají výhradní přístup k privátnímu koncovému bodu.

  • Tým musí zajistit, aby se záznamy DNS pro privátní koncové body automaticky zaregistrovaly do odpovídajících privátních zón DNS a že se záznamy DNS odeberou po odstranění privátního koncového bodu.

Vlastník aplikace nasadí službu Azure PaaS.

Jakmile tým platformy nasadí komponenty infrastruktury platformy (privátní zóny a zásady DNS), vlastník aplikace provede při pokusu o nasazení služby Azure PaaS do předplatného Azure následující kroky. Tyto kroky jsou stejné bez ohledu na to, jestli provádějí své aktivity prostřednictvím webu Azure Portal nebo jiných klientů, jako je PowerShell nebo rozhraní příkazového řádku, protože zásady Azure řídí svá předplatná.

  1. Vytvořte účet úložiště prostřednictvím webu Azure Portal. Na kartě Základy zvolte požadované nastavení, zadejte název účtu úložiště a vyberte Další.

    Snímek obrazovky znázorňující kartu Základy a možnosti pro vytvoření účtu úložiště na webu Azure Portal

  2. Na kartě Sítě vyberte privátní koncový bod. Pokud vyberete jinou možnost než privátní koncový bod, azure Portal neumožňuje vytvořit účet úložiště v části Zkontrolovat a vytvořit průvodce nasazením. Zásady vám brání v vytváření této služby, pokud je povolený veřejný koncový bod.

    Snímek obrazovky, který zobrazuje záložku Sítě a možnost privátních koncových bodů.

  3. Je možné vytvořit privátní koncový bod buď teď, nebo po vytvoření účtu úložiště. Tento příklad ukazuje vytvoření privátního koncového bodu po vytvoření účtu úložiště. Dokončete tento krok výběrem Zkontrolovat a vytvořit.

  4. Po vytvoření účtu úložiště vytvořte privátní koncový bod prostřednictvím webu Azure Portal.

    Snímek obrazovky znázorňující nastavení privátních koncových bodů

  5. V části Prostředek vyhledejte účet úložiště, který jste vytvořili v předchozím kroku. Ve výběru cílového podzdroje vyberte Objekt typu blob a poté zvolte Další.

    Snímek obrazovky znázorňující kartu Prostředky pro výběr cílového podsourcu

  6. V části Konfigurace po výběru virtuální sítě a podsítě se ujistěte, že je možnost Integrace s privátní zónou DNS nastavená na Ne. Jinak vám Azure Portal brání ve vytváření privátního koncového bodu. Azure Policy neumožňuje vytvořit privátní zónu DNS s předponou privatelink .

    Snímek obrazovky znázorňující kartu Konfigurace pro nastavení možnosti integrace s privátní zónou DNS na ne

  7. Vyberte Zkontrolovat a vytvořit, poté klikněte na Vytvořit pro nasazení privátního koncového bodu.

  8. Po několika minutách se DeployIfNotExists politika spustí. Následné dnsZoneGroup nasazení pak přidá požadované záznamy DNS pro privátní koncový bod v centrálně spravované zóně DNS.

  9. Po vytvoření privátního koncového bodu ho vyberte a zkontrolujte jeho plně kvalifikovaný název domény a privátní IP adresu:

    Snímek obrazovky, který ukazuje, kde zkontrolovat privátní koncový bod, plně kvalifikovaný název domény a privátní IP adresu

  10. Zkontrolujte protokol aktivit pro skupinu prostředků, ve které byl vytvořen privátní koncový bod. Nebo můžete zkontrolovat protokol aktivit samotného privátního koncového bodu. Po několika minutách se DeployIfNotExist spustí akce zásad, která nakonfiguruje skupinu zón DNS na privátním koncovém bodu:

    Snímek obrazovky znázorňující protokol aktivit pro skupinu prostředků a privátní koncový bod

  11. Pokud centrální síťový tým přejde do privatelink.blob.core.windows.net privátní zóny DNS, potvrdí, že pro vytvořený privátní koncový bod existuje záznam DNS, a název i IP adresa odpovídají hodnotám v privátním koncovém bodu.

    Snímek obrazovky znázorňující privátní zónu DNS a místo pro potvrzení, že záznam DNS existuje

V tomto momentu mohou aplikační týmy používat účet úložiště prostřednictvím privátního koncového bodu z jakékoli virtuální sítě ve struktuře hub-and-spoke a z místního prostředí. Záznam DNS se automaticky zaznamenal v privátní zóně DNS.

Pokud vlastník aplikace odstraní privátní koncový bod, odpovídající záznamy v privátní zóně DNS se automaticky odeberou.

Důležité

Privátní koncové body můžete ve své infrastruktuře vytvářet jako nástroje kódu. Pokud ale používáte DeployIfNotExists přístup zásad v tomto článku, neměli byste do kódu integrovat DNS. Zásady DeployIfNotExists s požadovaným RBAC pro privátní zóny DNS spravují integraci DNS.

Další kroky