Share via


Privát kapcsolat és DNS-integráció nagy méretekben

Ez a cikk azt ismerteti, hogyan integrálható az Azure Private Link for PaaS-szolgáltatások az Azure saját DNS zónákkal a küllős hálózati architektúrákban.

Bevezetés

Sok ügyfél a küllős hálózati architektúra használatával építi ki hálózati infrastruktúráját az Azure-ban, ahol:

  • A megosztott hálózati szolgáltatások (például hálózati virtuális berendezések, ExpressRoute/VPN-átjárók vagy DNS-kiszolgálók) üzembe helyezése a központi virtuális hálózaton (VNet).
  • A küllős virtuális hálózatok virtuális társviszony-létesítéssel használják fel a megosztott szolgáltatásokat.

A küllős hálózati architektúrákban az alkalmazástulajdonosok általában azure-előfizetéssel vannak ellátva, amely magában foglalja a központi virtuális hálózathoz csatlakoztatott virtuális hálózatot (küllőt). Ebben az architektúrában üzembe helyezhetik a virtuális gépeiket, és privát kapcsolatot létesíthetnek más virtuális hálózatokkal vagy helyszíni hálózatokkal expressRoute vagy VPN használatával.

Egy központi hálózati virtuális berendezés (NVA), például az Azure Firewall internetkapcsolatot biztosít.

Számos alkalmazáscsapat azure IaaS- és PaaS-erőforrások kombinációjával készíti el a megoldásait. Egyes Azure PaaS-szolgáltatások (például felügyelt SQL-példány) üzembe helyezhetők az ügyfél virtuális hálózataiban. Ennek eredményeképpen a forgalom privát marad az Azure-hálózaton belül, és teljes mértékben irányítható a helyszíni forgalomból.

Egyes Azure PaaS-szolgáltatások (például az Azure Storage vagy az Azure Cosmos DB) azonban nem helyezhetők üzembe az ügyfél virtuális hálózataiban, és nyilvános végpontjukon keresztül érhetők el. Bizonyos esetekben ez a konfiguráció egy ügyfél biztonsági szabályzataival való versengést okoz. Előfordulhat, hogy a vállalati forgalom nem teszi lehetővé a vállalati erőforrások (például SQL-adatbázis) nyilvános végpontokon keresztüli üzembe helyezését vagy elérését.

Az Azure Private Link támogatja az Azure-szolgáltatások listájának elérését privát végpontokon keresztül, de ehhez regisztrálnia kell ezeket a privát végpontrekordokat egy megfelelő privát DNS-zónában.

Ez a cikk azt ismerteti, hogy az alkalmazáscsapatok hogyan helyezhetnek üzembe Azure PaaS-szolgáltatásokat az előfizetéseikben, amelyek csak privát végpontokon keresztül érhetők el.

Ez a cikk azt is ismerteti, hogyan biztosíthatják az alkalmazáscsapatok, hogy a szolgáltatások automatikusan integrálhatók legyenek a privát DNS-zónákkal. Az Automatizálást az Azure saját DNS keresztül hajtják végre, ami szükségtelenné teszi a rekordok manuális létrehozását vagy törlését a DNS-ben.

saját DNS zónák központi üzemeltetése általában ugyanabban az Azure-előfizetésben történik, amelyben a központi virtuális hálózat üzemel. Ezt a központi üzemeltetési gyakorlatot a helyek közötti DNS-névfeloldás és a központi DNS-feloldáshoz, például az Active Directoryhoz szükséges egyéb igények vezérlik. A legtöbb esetben csak a hálózati és identitásgazdák rendelkeznek engedéllyel a zónák DNS-rekordjainak kezeléséhez.

Az alkalmazáscsapatok saját előfizetésükben hozhatnak létre Azure-erőforrást. Nincsenek engedélyeik a központi hálózati kapcsolati előfizetésben, amely magában foglalja a DNS-rekordok privát DNS-zónákban való kezelését. Ez a hozzáférési korlátozás azt jelenti, hogy nem tudják létrehozni a privát végpontokkal rendelkező Azure PaaS-szolgáltatások üzembe helyezésekor szükséges DNS-rekordokat.

Az alábbi ábra egy tipikus magas szintű architektúrát mutat be a központi DNS-feloldással rendelkező vállalati környezetekhez, és ahol a Private Link-erőforrások névfeloldása az Azure-saját DNS keresztül történik:

Egy magas szintű architektúra diagramja, amely központi DNS-felbontást és a Private Link-erőforrások névfeloldását mutatja be.

Az előző ábrán fontos kiemelni a következőt:

  • A helyszíni DNS-kiszolgálók feltételes továbbítókat konfiguráltak minden privát végpont nyilvános DNS-zónához, és a központi virtuális hálózaton üzemeltetett saját DNS Feloldóra mutatnak.
  • A központi virtuális hálózaton üzemeltetett saját DNS-feloldó az Azure által biztosított DNS-t (168.63.129.16) használja továbbítóként.
  • A központi virtuális hálózatot hozzá kell kapcsolni az Azure-szolgáltatások saját DNS zónaneveihez (például privatelink.blob.core.windows.neta diagramon látható módon).
  • Minden Azure-beli virtuális hálózat a központi virtuális hálózatban üzemeltetett saját DNS Resolvert használja
  • Mivel a saját DNS Resolver nem mérvadó az ügyfél vállalati tartományai számára, mivel ez csak egy továbbító (például Active Directory-tartománynevek), kimenő végponttovábbítókkal kell rendelkeznie az ügyfél vállalati tartományaihoz, és a helyszíni DNS-kiszolgálókra (172.16.1.10 és 172.16.1.11) vagy az Azure-ban telepített DNS-kiszolgálókra kell mutatnia, amelyek mérvadóak az ilyen zónákhoz.

Bár az előző diagram egyetlen küllős architektúrát ábrázol, előfordulhat, hogy az ügyfeleknek több régióra is ki kell terjeszteniük Az Azure-beli lábnyomukat a rugalmassági, a közelségi vagy az adattárolási követelmények kielégítése érdekében, számos olyan forgatókönyv jelent meg, ahol ugyanazt a Private-Link-kompatibilis PaaS-példányt több privát végponton (PE-n) keresztül kell elérni.

Diagram egy magas szintű architektúráról, amely központi DNS-feloldással és névfeloldással rendelkezik a több régióban található Private Link-erőforrásokhoz.

Az alábbi ábra egy tipikus magas szintű architektúrát mutat be a központi DNS-feloldással rendelkező vállalati környezetekhez (régiónként egyet), ahol a Private Link-erőforrások névfeloldása az Azure saját DNS keresztül történik.

Javasoljuk, hogy több, a PaaS-példányhoz társított regionális privát végpontot helyezzen üzembe, amelyek mindegyike olyan régióban található, ahol az ügyfelek léteznek, engedélyezze a régiónkénti privát kapcsolatot és saját DNS zónákat. Ha paaS-szolgáltatásokkal dolgozik beépített DR-képességekkel (georedundáns tárfiókok, SQL DB feladatátvételi csoportok stb.), több régió privát végpontja kötelező.

Ez a forgatókönyv minden régióban manuális karbantartást/frissítést igényel a Private Link DNS-rekord beállításához, mivel ezekhez jelenleg nincs automatizált életciklus-kezelés.

Egyéb használati esetekben egyetlen globális privát végpont helyezhető üzembe, amely az összes ügyfél számára elérhetővé válik azáltal, hogy az adott régiókból egy adott régióban lévő egyetlen privát végponthoz ad útválasztást.

A megoldás és így a kapcsolat engedélyezéséhez a helyszíni hálózatoktól a privát DNS-zónáig és a privatelink privát végpontokhoz a DNS-infrastruktúrában ki kell építeni a megfelelő DNS-konfigurációt (például feltételes továbbítókat).

Az alkalmazáscsapatoknak két feltételnek kell teljesülniük ahhoz, hogy bármilyen szükséges Azure PaaS-erőforrást létrehozhassanak az előfizetésükben:

  • A központi hálózatkezelési és/vagy központi platformcsapatnak biztosítania kell, hogy az alkalmazáscsapatok csak privát végpontokon keresztül tudják üzembe helyezni és elérni az Azure PaaS-szolgáltatásokat.
  • A központi hálózatkezelési és/vagy központiplatform-csapatoknak gondoskodniuk kell arról, hogy privát végpontok létrehozásakor beállíthassák a megfelelő rekordok kezelését. Állítsa be a megfelelő rekordokat úgy, hogy azok automatikusan létre legyenek hozva a létrehozott szolgáltatásnak megfelelő központosított privát DNS-zónában.
  • A DNS-rekordoknak a privát végpont életciklusát kell követnie, ebben az esetben a rendszer automatikusan eltávolítja őket a privát végpont törlésekor.

Feljegyzés

Ha a DNS-feloldáson alapuló hálózati szabályok teljes tartományneveit az Azure Firewall és a Tűzfal szabályzatban kell használni (Ez a funkció lehetővé teszi a kimenő forgalom szűrését bármilyen TCP/UDP protokollal (beleértve az NTP-t, az SSH-t, az RDP-t és egyebeket). Engedélyeznie kell az Azure Firewall DNS-proxyt, hogy teljes tartományneveket használjon a hálózati szabályokban, majd a küllős virtuális hálózatoknak módosítaniuk kell a DNS-beállításukat az egyéni DNS-kiszolgálóról az Azure Firewall DNS-proxyra. A küllős virtuális hálózatok DNS-beállításainak módosításához újra kell indítani a virtuális hálózaton belüli összes virtuális gépet.

A következő szakaszok azt ismertetik, hogy az alkalmazáscsapatok hogyan engedélyezik ezeket a feltételeket az Azure Policy használatával. A példa az Azure Storage-t használja az alkalmazáscsapatok által üzembe helyezendő Azure-szolgáltatásként. Ugyanez az elv vonatkozik a private linket támogató Azure-szolgáltatások többségére is.

A platformcsapat által igényelt konfiguráció

A platformcsapat konfigurációs követelményei közé tartozik a privát DNS-zónák létrehozása, a szabályzatdefiníciók beállítása, a szabályzatok üzembe helyezése és a szabályzat-hozzárendelések beállítása.

Saját DNS-zónák létrehozása

Hozzon létre privát DNS-zónákat a támogatott Private Link-szolgáltatások központi kapcsolati előfizetésében. További információ: Azure-beli privát végpont DNS-konfigurálása.

Ebben az esetben a blobos Storage-fiók a példa. Ez egy privát DNS-zóna létrehozását privatelink.blob.core.windows.net jelenti a kapcsolati előfizetésben.

Képernyőkép a privát DNS-zónáról a kapcsolati előfizetésben.

Szabályzatdefiníciók

A privát DNS-zónák mellett egyéni Azure Policy-definíciókat is létre kell hoznia. Ezek a definíciók kényszerítik a privát végpontok használatát, és automatizálják a DNS-rekord létrehozását a létrehozott DNS-zónában:

  1. Deny nyilvános végpont a PaaS-szolgáltatási szabályzathoz.

    Ez a szabályzat megakadályozza, hogy a felhasználók nyilvános végpontokkal hozzanak létre Azure PaaS-szolgáltatásokat, és hibaüzenetet adnak nekik, ha nem választják ki a privát végpontot az erőforrás létrehozásakor.

    Képernyőkép az összes kiválasztott hálózat nyilvános végpontjának beállításról.

    Képernyőkép a nyilvános végpont kiválasztásából eredő hibaüzenetről.

    Képernyőkép a nyilvános végpont kiválasztásával kapcsolatos teljes hibaadatokról.

    A pontos szabályzatszabály eltérhet a PaaS-szolgáltatásoktól. Az Azure Storage-fiókok esetében tekintse meg a networkAcls.defaultAction tulajdonságot , amely meghatározza, hogy a nyilvános hálózatoktól érkező kérelmek engedélyezettek-e vagy sem. Ebben az esetben állítson be egy feltételt, amely megtagadja a Microsoft.Storage/storageAccounts erőforrástípus létrehozását, ha a networkAcls.defaultAction tulajdonság nemDeny. A következő szabályzatdefiníció a viselkedést mutatja:

    {
      "mode": "All",
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.Storage/storageAccounts"
            },
            {
              "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction",
              "notEquals": "Deny"
            }
          ]
        },
        "then": {
          "effect": "Deny"
        }
      }
    }
    
  2. Deny privát DNS-zóna létrehozása az privatelink előtagszabályzattal.

    Központosított DNS-architektúrát használhat feltételes továbbítóval és privát DNS-zónákkal a platformcsapat által felügyelt előfizetésekben. Meg kell akadályozni, hogy az alkalmazáscsapatok tulajdonosai létrehozhassák saját Private Link privát DNS-zónáikat, és összekapcsolhassák a szolgáltatásokat az előfizetésükkel.

    Győződjön meg arról, hogy amikor az alkalmazás csapata létrehoz egy privát végpontot, a beállítás Integrate with private DNS zone az Azure Portalon van beállítva No .

    Képernyőkép az Integrálás privát DNS-zónával beállításról, amely nem értékre van állítva az Azure Portalon.

    Ha ezt választja Yes, az Azure Policy megakadályozza a privát végpont létrehozását. A szabályzatdefinícióban tagadja a Microsoft.Network/privateDnsZones erőforrástípus létrehozását, ha a privatelink zóna előtaggal rendelkezik. Az alábbi szabályzatdefiníció az előtagot privatelink mutatja:

    {
      "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 szabályzatot, amely automatikusan létrehozza a szükséges DNS-rekordot a központi privát DNS-zónában.

    Az alábbi házirend-példák két módszert mutatnak be a privát végponton létrehozott adatok azonosítására privateDNSZoneGroup .

    Az első szabályzat a második és a groupIdmásodik szabályzatraprivateLinkServiceIdgroupIDtámaszkodik. Használja a második szabályzatot , amikor groupId ütközik (ütközik) egy másik erőforrással.

    Az SQL például a groupIdCosmos DB-hez és a Synapse Analyticshez is használható. Ha mindkét erőforrástípus üzembe van helyezve, és az első szabályzat hozzá lett rendelve a privateDNSZoneGroup privát végpont bejegyzés létrehozásához, akkor a rendszer a Cosmos DB vagy a Synapse Analytics helytelen saját DNS zónájára van leképezve. Ezután válthat az egyes zónák között az első szabályzat által a szabályzatszabályban keresendő ütközés groupId miatt.

    A privát kapcsolatú erőforrások groupIdlistáját a Mi a privát végpont? című részforrás oszlopban találja.

Tipp.

Az Azure Policy beépített definícióit folyamatosan bővítjük, töröljük és frissítjük. Erősen ajánlott beépített szabályzatokat használni a saját szabályzatok kezelése helyett (ahol elérhető). Az AzPolicyAdvertizer használatával keresse meg a meglévő beépített szabályzatokat, amelyek neve "xxx ... privát DNS-zónák használata". Emellett az Azure Landing Zones (ALZ) rendelkezik egy szabályzat kezdeményezéssel, az Azure PaaS-szolgáltatások konfigurálása privát DNS-zónák használatára, amely beépített szabályzatokat tartalmaz, és rendszeresen frissül. Ha egy beépített szabályzat nem érhető el az Ön helyzetéhez, fontolja meg egy probléma létrehozását az Azure Governance visszajelzési azure-policy webhelyen · Az Azure Policy GitHub-adattár új beépített Szabályzatjavaslatok folyamatát követő közösség.

Első DeployIfNotExists szabályzat – Egyeztetés groupId csak

Ez a szabályzat akkor aktiválódik, ha szolgáltatásspecifikus groupIdprivát végponterőforrást hoz létre. Annak groupId a távoli erőforrásnak (szolgáltatásnak) a csoportazonosítója, amelyhez ennek a privát végpontnak csatlakoznia kell. Ezután elindítja a privát végponton belüli üzembe helyezést privateDNSZoneGroup , amely a privát végpontot a privát DNS-zónához társítja. A példában az groupId Azure Storage-blobok az .blob További információ a groupId többi Azure-szolgáltatásról: Azure Private Endpoint DNS-konfiguráció a Subresource oszlopban. Amikor a szabályzat megkeresi a groupId privát végpontot, üzembe helyez egy privateDNSZoneGroup privát végponton belül, és a paraméterként megadott privát DNS-zóna erőforrás-azonosítójával kapcsolja össze. A példában a privát DNS-zóna erőforrás-azonosítója a következő:

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

Az alábbi kódminta a szabályzatdefiníciót mutatja be:

{
  "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"
      }
    }
  }
}

Második DeployIfNotExists szabályzat – Egyeztetés >groupIdprivateLinkServiceId

Ez a szabályzat akkor aktiválódik, ha szolgáltatásspecifikus groupId és privateLinkServiceId. Annak groupId a távoli erőforrásnak (szolgáltatásnak) a csoportazonosítója, amelyhez ennek a privát végpontnak csatlakoznia kell. Ez privateLinkServiceId annak a távoli erőforrásnak (szolgáltatásnak) az erőforrás-azonosítója, amelyhez a privát végpontnak csatlakoznia kell. Ezután aktiváljon egy központi telepítést privateDNSZoneGroup a privát végponton belül, amely a privát végpontot a privát DNS-zónához társítja.

A példában az groupId Azure Cosmos DB (SQL) azSQL, és tartalmaznia kell.Microsoft.DocumentDb/databaseAccountsprivateLinkServiceId További információ az Azure-szolgáltatásokról és más groupId Azure-szolgáltatásokról: Azure Private Endpoint DNS-konfiguráció a Subresource oszlopban.privateLinkServiceId Amikor a szabályzat megtalálja groupId és privateLinkServiceId a privát végponton belül üzembe helyez egy privateDNSZoneGroup privát végpontot. És a paraméterként megadott privát DNS-zóna erőforrás-azonosítójával van társítva. A következő szabályzatdefiníció a privát DNS-zóna erőforrás-azonosítóját mutatja:

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

Az alábbi kódminta a szabályzatdefiníciót mutatja be:

{
  "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"
     }
  }
}

Szabályzat-hozzárendelések

A szabályzatdefiníciók üzembe helyezése után rendelje hozzá a szabályzatokat a kívánt hatókörhöz a felügyeleti csoport hierarchiájában. Győződjön meg arról, hogy a szabályzat-hozzárendelések azokat az Azure-előfizetéseket célják, amelyeket az alkalmazáscsapatok kizárólag privát végpont-hozzáféréssel rendelkező PaaS-szolgáltatások üzembe helyezéséhez használnak.

Fontos

A szabályzatban meghatározott roleDefinition hozzárendelése mellett ne felejtse el hozzárendelni a saját DNS zóna közreműködői szerepkörét abban az előfizetésben és erőforráscsoportban, ahol a privát DNS-zónák a szabályzat-hozzárendelés által DeployIfNotExists létrehozott felügyelt identitáshoz vannak üzemeltetve, amely a privát DNS-zónában lévő privát végpont DNS-rekordjának létrehozásáért és kezeléséhez felelős. Ennek az az oka, hogy a privát végpont az alkalmazástulajdonos Azure-előfizetésben található, míg a privát DNS-zóna egy másik előfizetésben (például központi kapcsolati előfizetésben) található.

Miután a platformcsapat befejezte a konfigurációt:

  • Az alkalmazások csapatai Azure-előfizetései készen állnak arra, hogy a csapat kizárólag privát végpont-hozzáféréssel rendelkező Azure PaaS-szolgáltatásokat hozzon létre.
  • A csapatnak gondoskodnia kell arról, hogy a privát végpontok DNS-rekordjai automatikusan regisztrálva legyenek (és a privát végpontok törlése után törlődjenek) a megfelelő privát DNS-zónákból.

Alkalmazástulajdonosi élmény

Miután a platformcsapat üzembe helyezi a platforminfrastruktúra-összetevőket (privát DNS-zónákat és szabályzatokat), az alkalmazás tulajdonosa a következő tapasztalattal rendelkezik, amikor egy Azure PaaS-szolgáltatást próbálnak üzembe helyezni az Azure-előfizetésben. Ez a felhasználói élmény ugyanaz, akár az Azure Portalon, akár más ügyfeleken, például a PowerShellen vagy a PARANCSSOR-on keresztül hajtják végre a tevékenységüket, mivel az Azure-szabályzatok szabályozzák az előfizetéseiket.

  1. Hozzon létre egy tárfiókot az Azure Portalon keresztül. Az Alapszintű beállítások lapon válassza ki a kívánt beállításokat, adja meg a tárfiók nevét, és válassza a Tovább gombot.

    Képernyőkép az Alapszintű beállítások lapról és a tárfiók Azure Portalon való létrehozásának lehetőségeiről.

  2. A hálózatkezelés lapon válassza a Privát végpont lehetőséget. Ha nem privát végpontot választ, az Azure Portal nem engedélyezi a tárfiók létrehozását az üzembe helyezési varázsló Áttekintés + létrehozás szakaszában. A szabályzat megakadályozza a szolgáltatás létrehozását, ha a nyilvános végpont engedélyezve van.

    Képernyőkép a Hálózatkezelés lapról és a privát végpontok beállításról.

  3. A privát végpontot most vagy a tárfiók létrehozása után is létrehozhatja. Ez a példa a tárfiók létrehozása után hozza létre a privát végpontot. A lépés végrehajtásához válassza a Véleményezés + létrehozás lehetőséget .

  4. A tárfiók létrehozása után hozzon létre egy privát végpontot az Azure Portalon keresztül.

    Képernyőkép a privát végpontok beállításairól.

  5. Az Erőforrás szakaszban keresse meg az előző lépésben létrehozott tárfiókot. A cél-alforrás alatt válassza a Blob, majd a Tovább lehetőséget.

    Képernyőkép az Erőforrások lapról a cél-alforrás kiválasztásához.

  6. A Konfiguráció szakaszban a virtuális hálózat és az alhálózat kiválasztása után győződjön meg arról, hogy a privát DNS-zónával való integráció nem értékre van állítva. Ellenkező esetben az Azure Portal megakadályozza a privát végpont létrehozását. Az Azure Policy nem teszi lehetővé privát DNS-zóna létrehozását az privatelink előtaggal.

    Képernyőkép a Konfiguráció lapról, amellyel a privát DNS-zónával való integrációt nem értékre állíthatja.

  7. Válassza a Véleményezés + létrehozás lehetőséget, majd a Létrehozás lehetőséget a privát végpont üzembe helyezéséhez.

  8. Néhány perc elteltével a DeployIfNotExists szabályzat aktiválódik. Az ezt követő dnsZoneGroup üzembe helyezés ezután hozzáadja a központilag felügyelt DNS-zónában lévő privát végponthoz szükséges DNS-rekordokat.

  9. A privát végpont létrehozása után válassza ki, és tekintse át annak teljes tartománynevét és privát IP-címét:

    Képernyőkép arról, hogy hol tekintheti át a privát végpontot, a teljes tartománynevet és a privát IP-címet.

  10. Ellenőrizze annak az erőforráscsoportnak a tevékenységnaplóját, amelyben a privát végpont létre lett hozva. Vagy ellenőrizheti a privát végpont tevékenységnaplóját is. Megfigyelheti, hogy néhány perc múlva egy DeployIfNotExist szabályzatművelet fut, amely konfigurálja a DNS-zónacsoportot a privát végponton:

    Képernyőkép az erőforráscsoport és a privát végpont tevékenységnaplóiról.

  11. Ha a központi hálózati csapat a privatelink.blob.core.windows.net privát DNS-zónába kerül, megerősíti, hogy a DNS-rekord a létrehozott privát végponthoz tartozik, és a név és az IP-cím megegyezik a privát végponton belüli értékekkel.

    Képernyőkép a privát DNS-zónáról és annak ellenőrzéséről, hogy a DNS-rekord létezik-e.

Ezen a ponton az alkalmazáscsapatok egy privát végponton keresztül használhatják a tárfiókot a központi és küllős hálózati környezet bármely virtuális hálózatáról, valamint a helyszíniről. A RENDSZER automatikusan rögzíti a DNS-rekordot a privát DNS-zónában.

Ha egy alkalmazás tulajdonosa törli a privát végpontot, a rendszer automatikusan eltávolítja a privát DNS-zónában lévő megfelelő rekordokat.

Következő lépések

Tekintse át a DNS-t a helyszíni és az Azure-erőforrások esetében. Tekintse át a virtuális gépek távelérési tervét.

Fontos

Ez a cikk a DNS és a privát kapcsolat nagy léptékű integrációját ismerteti a felügyeleti csoporthoz rendelt DINE -házirendek (DeployIfNotExists) használatával. Ami azt jelenti, hogy a privát végpontok létrehozásakor nem szükséges kezelni a kód DNS-integrációját, mivel a szabályzatok kezelik. Az is valószínűtlen, hogy az alkalmazáscsapatok RBAC-hozzáféréssel rendelkeznek a központosított saját DNS zónákhoz is.

Az alábbiakban hasznos hivatkozásokat talál a Privát végpont létrehozásakor a Bicep és a HashiCorp Terraform használatával.

A privát végpontok kódként használható infrastruktúrával történő létrehozása esetén:

Továbbra is létrehozhat privát végpontokat az Infrastruktúra kódként eszközben, azonban ha a jelen cikkben ismertetett DINE-házirend-megközelítést használja, hagyja ki a DNS-integrációs oldalt a kódból, és hagyja, hogy a szükséges RBAC-t tartalmazó DINE-szabályzatok a saját DNS Zónákhoz kezeljék ezt.