Dela via


Så här konfigurerar du de privata nätverken för Azure Cosmos DB Fabric-spegling

Den här guiden hjälper dig att konfigurera Azure Cosmos DB konton som använder virtuella nätverk eller privata slutpunkter för att arbeta med Microsoft Fabric spegling. Du kan spegla data från Azure Cosmos DB konton som konfigurerats med virtuella nätverk (VNET) eller privata slutpunkter, samtidigt som du upprätthåller förbättrad nätverkssäkerhet.

Förutsättningar

  • En befintlig Azure Cosmos DB för NoSQL-konto med virtuellt nätverk eller privat slutpunktsanslutning.
  • En befintlig Fabrickapacitet.
  • PowerShell med Azure PowerShell moduler (Az.Accounts, Az.CosmosDB, Az.Network) installerade.
  • Azure Cosmos DB för NoSQL konto måste konfigureras för infrastrukturspegling, inklusive:
    1. Kontinuerlig säkerhetskopiering med kvarhållning på 7 eller 30 dagar.
    2. Entra ID-autentisering aktiverad med...
    3. Inbyggd RBAC-policy för databidragsgivare – Se assign-contributor-rbac.ps1
    4. RBAC-policy för anpassad spegling – Se assign-mirroring-rbac.ps1
  • Cosmos DB-kontot och infrastrukturarbetsytan måste finnas i samma Azure region. Så här verifierar du din Fabric-arbetsyta:
    1. Öppna din Fabric-arbetsyta
    2. Gå till Arbetsyteinställningararbetsytetyp
    3. Observera regionen för fabric-kapaciteten
    4. Se till att detta matchar din Cosmos DB-kontoregion
  • Användaren som konfigurerar privata nätverk för Cosmos DB-spegling bör antingen vara en Azure prenumerationsägare eller ha deltagarbehörigheter för Cosmos DB-kontot med RBAC-tilldelningsbehörigheter för prenumerationen. Information om hur du tilldelar den här rollen till en användare finns i Tilldela en användare som administratör för en Azure-prenumeration med villkor.

Översikt över konfigurationsalternativ för nätverk

Azure Cosmos DB stöder två primära nätverkssäkerhetskonfigurationer för spegling:

  • Virtual network: Begränsa åtkomsten till ditt Azure Cosmos DB-konto till specifika virtuella nätverksundernät. Med den här konfigurationen underhåller du Väljna nätverk åtkomst och lägger till nödvändiga IP-adresser för Azure-tjänsten.
  • Private-slutpunkten: Ange en privat IP-adress från ditt virtuella nätverk till ditt Azure Cosmos DB-konto och behåll all trafik i Microsofts stamnätverk. Detta kräver att valda nätverk tillfälligt aktiveras för att lägga till Infrastrukturtjänst-IP-adresser under speglingskonfigurationen.

Båda konfigurationerna använder funktionen Nätverks-ACL för att tillåta Fabric att komma åt ditt Cosmos DB-konto som ett betrott arbetsutrymme som auktoriserar specifika Fabric arbetsyte-ID:n.

Snabbstart: Automatiserad konfiguration med PowerShell

Viktigt!

Det här PowerShell-skriptet kräver att du är administratör i mål-Fabric-arbetsytan.

Använd det powershell-skript som automatiserar alla konfigurationssteg för att få en smidig konfigurationsupplevelse. Skriptet utför följande åtgärder:

  1. Konfigurerar RBAC-behörigheter – Skapar en anpassad roll med nödvändiga läsbehörigheter för Fabric-spegling och tilldelar den till din Fabric-arbetsyteidentitet. Tillämpar även den inbyggda datahanteraren om den inte redan har konfigurerats.
  2. Konfigurerar IP-brandväggsregler – Aktiverar valda nätverk och lägger till regionspecifika IP-brandväggsregler för DataFactory och PowerQueryOnline så att dessa tjänster kan initiera spegling.
  3. Aktiverar funktionen Nätverks-ACL – Aktiverar funktionen på ditt Cosmos DB-konto för att en Fabric arbetsyta ska kunna autentiseras som en betrodd resurs.
  4. Konfigurerar betrodd arbetsyta – Auktoriserar din Fabric-arbetsytas ID.
  5. Återställer nätverksinställningar – För konfigurationer av privata slutpunkter återställer de ursprungliga inställningarna för nätverksåtkomst när speglingskonfigurationen har slutförts.

Kör det automatiserade skriptet

  1. Ladda ned PowerShell-skriptet ps-account-setup-cosmos-pe-mirroring.ps1.

  2. Öppna PowerShell som administratör och kör följande kommandon för att autentisera och ange din prenumerationskontext:

    # Connect to Azure
    Connect-AzAccount
    
    # Set your subscription context
    Set-AzContext -Subscription "<subscriptionId>"
    
  3. Kör konfigurationsskriptet för privat nätverk för att konfigurera spegling

    .\ps-account-setup-cosmos-pe-mirroring.ps1
    
  4. Ange följande information när du uppmanas att göra det:

    • Azure prenumerations-ID
    • Namnet på resursgruppen
    • Cosmos DB-kontonamn
    • Namn på Fabric-arbetsyta
    • Azure region för filtrering av tjänsttaggar (till exempel westus3)
  5. Skriptet vägleder dig genom varje steg med bekräftelsemeddelanden. Granska och bekräfta varje åtgärd.

  6. När du uppmanas till det skapar du din speglade databas i Fabric medan kontot är tillfälligt tillgängligt.

  7. När speglingen har skapats går du tillbaka till skriptet och trycker på Y för att återställa dina ursprungliga nätverkssäkerhetsinställningar, inklusive att ta bort de tillfälliga IP-brandväggsreglerna och återställa den ursprungliga nätverksåtkomstkonfigurationen.

Manuell konfiguration

Om du föredrar manuell konfiguration eller behöver förstå de detaljerade stegen följer du de här konfigurationsstegen:

Autentisera till Azure

Innan du påbörjar konfigurationsstegen ansluter du till ditt Azure-konto:

  1. Öppna PowerShell.

  2. Kör följande kommandon för att autentisera och ange din prenumerationskontext:

    # Connect to Azure
    Connect-AzAccount
    
    # Set your subscription context
    Set-AzContext -Subscription "<subscriptionId>"
    

Steg 1: Konfigurera RBAC-behörigheter

Konfigurera nödvändiga RBAC-behörigheter för både användaren som ställer in spegling och Fabric-arbetsytan.

Tilldela Cosmos DB-datadeltagare behörigheter till användaren

Viktigt!

Användaren måste ha behörigheten "Cosmos DB Data Contributor" eller högre för att konfigurera spegling. Utan den här rollen misslyckas speglingskonfigurationen. Mer information finns i Cosmos DB Inbyggd Data Bidragsgivare.

Använd det angivna skriptet assign-contributor-rbac.ps1 för att tillämpa den nödvändiga RBAC-deltagarpolicyn genom att automatisera användarens identitetsrolltilldelning.

Så här kör du dessa kommandon manuellt:

  1. Hämta ditt huvud-ID.

    $currentUser = Get-AzADUser -SignedIn
    $currentUser.Id
    
  2. Tillämpa RBAC-policy för databidragare.

    New-AzCosmosDBSqlRoleAssignment `
        -AccountName <accountName> `
        -ResourceGroupName <resourceGroupName> `
        -RoleDefinitionName "Cosmos DB Built-in Data Contributor" `
        -Scope "/" `
        -PrincipalId <principalId>
    

Tilldela Cosmos DB-metadata och analysläsarbehörigheter till användaren

För att tillämpa den RBAC-policy som krävs, använd det angivna skriptet ps-account-rbac-mirroring.ps1 för att automatisera användarens rolltilldelning.

Skriptet säkerställer att följande behörigheter för dataplanet läggs till: - Microsoft.DocumentDB/databaseAccounts/readMetadata - Microsoft.DocumentDB/databaseAccounts/readAnalytics

Mer information om hur du tillämpar anpassade RBAC-principer finns i Bevilja rollbaserad åtkomst för dataplanet.

Steg 2: Konfigurera nätverksåtkomst

Konfigurera nätverksåtkomst så att Fabric-tjänster kan ansluta till ditt Cosmos DB-konto.

Viktigt!

Manuell konfiguration med hjälp av Azure tjänst-IP-intervall kräver nedladdning och tillämpning av över 1 200 IP-adresser för PowerQueryOnline från filen Azure IP-intervall och tjänsttaggar. Vi rekommenderar att du använder PowerShell-skriptet ovan för att hantera Cosmos-nätverkskonfigurationen eller använda Nätverkssäkerhetsperimeter med tjänsttaggar (se nedan).

Viktigt!

Endast för privata slutpunktsanvändare: Innan du lägger till IP-adresser måste du tillfälligt aktivera valda nätverk under Åtkomst till offentligt nätverk för att tillåta Ip-adresser för Infrastruktur-tjänsten:

Skärmbild som visar inaktiverad åtkomst till offentligt nätverk för privata slutpunkter.

  1. Gå till ditt Azure Cosmos DB-konto i Azure-portalen.
  2. I resursmenyn väljer du Nätverk under Inställningar.
  3. Under Åtkomst till offentligt nätverk väljer du Valda nätverk.

Skärmbild som visar aktiverad offentlig nätverksåtkomst inställd på valda nätverk.

När speglingen har konfigurerats kan du återställa dina ursprungliga nätverksinställningar. Se Steg 6. Detta aktiverar inte åtkomst från alla nätverk. För privata slutpunktsaktiverade konton blockeras alternativet Alla nätverk och kan inte väljas.

Lägga till IP-adresser för Azure-tjänsten

Välj någon av följande metoder för att tillåta åtkomst till Fabric-tjänsten:

Alternativ A: Manuell IP-adresskonfiguration

Skärmbild som visar åtkomst till offentligt nätverk med IP-adresser som lagts till i brandväggen.

Anmärkning

Azure brandväggen stöder för närvarande inte IPv6. Om du lägger till en IPv6-adress i en regel misslyckas uppdateringen. Mer information finns i Azure Firewall kända problem och begränsningar.

  1. Ladda ned den senaste JSON-filen Azure Service Tags från Azure IP-intervall och tjänsttaggar.

  2. Extrahera IPv4-adressintervall för Data Factory för din Fabric-kapacitetsregion.

    • DataFactory.<region> - Till exempel DataFactory.WestUS3
  3. Extrahera ALLA IPv4-adressintervall för PowerQueryOnline

    • PowerQueryOnline.<region> Till exempel PowerQueryOnline.WestUS3, PowerQueryOnline.EastUS, osv.
    • Inkludera PowerQueryOnline även utan någon region som läggs till i namnet.

    Viktigt!

    Detta resulterar i över 1 200 IP-adresser. Du kan välja att ta bort dubbletter som resulterar i cirka 400+ IPv4-adresser som manuellt behöver läggas till i Cosmos DB IP-brandväggsreglerna. PowerShell-skriptet ovan kan hantera detta automatiskt eller använda nätverkssäkerhetsperimeter med tjänsttaggar (se nedan).

  4. I Azure-portalen går du till ditt Azure Cosmos DB konto.

  5. I resursmenyn väljer du Nätverk under Inställningar.

  6. Under Brandvägg lägger du till DE IP-adressintervall som du extraherade.

    Viktigt!

    Du måste lägga till alla IPv4-adressintervall för DataFactory- och PowerQueryOnline-tjänsterna. Att bara lägga till en delmängd av adresser kan orsaka anslutningsproblem. Det angivna PowerShell-skriptet automatiserar den här processen.

  7. Se till att dina befintliga nätverksregler (regler för virtuellt nätverk eller privata slutpunktsanslutningar) finns kvar.

  8. Välj Spara för att tillämpa ändringarna.

Alternativ B: Nätverkssäkerhetsperimeter med tjänsttaggar (förhandsversion)

Använd Nätverkssäkerhetens Perimeter (NSP) för att tillåta åtkomst med hjälp av tjänstetiketter, vilket automatiskt inkluderar alla IP-adresser för tjänsterna utan manuell inmatning.

Skärmbild som visar nätverkssäkerhetsperimeter konfigurerad med tjänsttaggar.

Anmärkning

Nätverkssäkerhetsperimetern är för närvarande i förhandsversion för Cosmos DB och Fabric. Mer information om stöd för nätverkssäkerhetsperimeter för Azure Cosmos DB finns i begreppen Network Security Perimeter.

  1. I Azure-portalen går du till ditt Azure Cosmos DB konto.

  2. I resursmenyn väljer du Nätverk under Inställningar.

  3. Välj Nätverkssäkerhetsperimeter överst på sidan.

  4. Skapa eller välj en befintlig nätverkssäkerhetsperimeter.

  5. Lägg till följande tjänsttaggar i dina regler för inkommande anslutning för din Fabric kapacitetsregion:

    • DataFactory.<region> - Till exempel DataFactory.WestUS3
    • PowerQueryOnline.<region> - Till exempel PowerQueryOnline.WestUS3
  6. Se till att dina befintliga nätverksregler (regler för virtuellt nätverk eller privata slutpunktsanslutningar) finns kvar.

  7. Välj Spara för att tillämpa ändringarna.

Anmärkning

Den här sparåtgärden kan ta 5–15 minuter att slutföra.

Steg 3: Aktivera ACL-kapacitet för nätverk

Aktivera kapaciteten för Fabric Network ACL i ditt Cosmos DB-konto:

  1. Öppna PowerShell.

  2. Kör följande kommandon för att aktivera funktionen:

    $cosmos = Get-AzResource -ResourceGroupName <resourceGroup> -Name <accountName> -ResourceType "Microsoft.DocumentDB/databaseAccounts"
    $cosmos.Properties.capabilities += @{ name = "EnableFabricNetworkAclBypass" }
    $cosmos | Set-AzResource -UsePatchSemantics -Force
    

Steg 4: Konfigurera den betrodda Fabric-arbetsytan

Auktorisera din Fabric-arbetsyta som en betrodd resurs:

Tips/Råd

Använd en delad arbetsyta i stället för Min arbetsyta. Arbetsyte-ID är mer lättillgängliga i delade arbetsytor.

  1. Hämta ditt fabric-arbetsyte-ID från Fabric-portalen:

    • Navigera till din arbetsyta i Fabric-portalen
    • Titta på webbläsarens URL för ett segment som /groups/{GUID}/.
    • Det GUID är ditt arbetsyte-ID.

    Till exempel:

    https://app.fabric.com/groups/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4/list?experience=fabric-developer

    Arbetsyta-ID i det här exemplet är d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4.

    Skärmbild som visar hur du hämtar Fabric klient-ID.

  2. Hämta ditt Fabric-hyresgäst-ID.

    • Gå till fabric-portalen
    • Välj din avatar längst upp till höger i Fabric-portalen
    • Hovra över informationsikonen bredvid ditt klientnamn
  3. Kör följande PowerShell-kommando:

    Update-AzCosmosDBAccount `
    -ResourceGroupName <CosmosDbResourceGroupName> `
    -Name <CosmosDbAccountName> `
    -NetworkAclBypass AzureServices `
    -NetworkAclBypassResourceId "/tenants/<FabricTenantId>/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Fabric/providers/Microsoft.Fabric/workspaces/<FabricWorkspaceId>"
    

Steg 5: Skapa den speglade databasen

Skapa en replikerad databas i Fabric:

  1. Gå till Fabricportalen.

  2. Öppna arbetsytan som du har konfigurerat för betrodd åtkomst.

  3. I navigeringsmenyn väljer du Skapa.

  4. Leta upp avsnittet Mirror och välj sedan Mirrored Azure Cosmos DB.

  5. Ange ett namn för den speglade databasen och välj sedan Skapa.

  6. I avsnittet Ny anslutning väljer du Azure Cosmos DB v2.

    Skärmbild som visar en skärm för konfigurationskonfiguration för Cosmos DB-spegling före OAuth-autentisering.

  7. Ange autentiseringsuppgifter för Azure Cosmos DB för NoSQL konto:

    Kontoautentiseringsuppgifter Värde
    Azure Cosmos DB-endpunkt URL-slutpunkt för källkontot.
    Anslutningens namn Unikt namn för anslutningen.
    Typ av autentisering Välj Organisationskonto.
    Organisationskonto Åtkomsttoken från Microsoft Entra ID.

    Anmärkning

    Stöd för privat nätverk för replikering av Cosmos DB är endast tillgängligt för OAuth-baserad autentisering.

    Skärmbild som visar en skärm för konfigurationskonfiguration för Cosmos DB-spegling efter OAuth-autentisering.

  8. Välj Anslut.

  9. Välj en databas som ska speglas. Du kan också välja specifika containrar som ska speglas.

  10. Välj Anslut för att starta speglingsprocessen.

    Skärmbild som visar en speglande artefakt som körs framgångsrikt med aktiverade privata slutpunkter.

  11. Övervaka replikeringen för att kontrollera att anslutningen fungerar korrekt.

Steg 6: Återställa ursprungliga nätverksinställningar (valfritt för privata slutpunkter)

När du har skapat speglingen och verifierat replikeringen inaktiverar du åtkomsten till det offentliga nätverket för att återställa konfigurationen för endast privat slutpunkt. Du kan göra detta med antingen Azure-portalen eller PowerShell:

Alternativ A: Azure-portalen

  1. Gå till ditt Azure Cosmos DB-konto i Azure-portalen.

  2. I resursmenyn väljer du Nätverk under Inställningar.

  3. Under Åtkomst till offentligt nätverk väljer du Inaktiverad.

  4. Välj Spara för att tillämpa ändringarna.

Alternativ B: PowerShell

  1. Öppna PowerShell.

  2. Kör följande kommando:

    Update-AzCosmosDBAccount `
        -ResourceGroupName <resourceGroup> `
        -Name <accountName> `
        -PublicNetworkAccess "Disabled"
    

Anmärkning

Den här åtgärden kan ta 5–15 minuter att slutföra.

När du har inaktiverat offentlig åtkomst kontrollerar du att speglingen fortsätter att fungera. Nätverks-ACL:n möjliggör att din Fabric-arbetsyta kan nå ditt konto via den auktoriserade arbetsytan även när offentlig åtkomst är inaktiverad.

Verifiera speglingsanslutningen

Skärmbild som visar en speglande artefakt som körs framgångsrikt med aktiverade privata slutpunkter.

När du har konfigurerat den speglade databasen kontrollerar du att anslutningen fungerar korrekt:

  1. I den speglade databasen väljer du Övervaka replikering för att se replikeringsstatusen.

  2. Efter några minuter bör statusen ändras till Körs, vilket indikerar att containrarna synkroniseras.

  3. Kontrollera att data replikeras genom att kontrollera den senaste uppdateringen och de totala radkolumnerna .

Begränsningar och överväganden

När du använder virtuella nätverk eller privata slutpunkter med Azure Cosmos DB spegling bör du vara medveten om dessa begränsningar:

  • Målarbetsytans region för Fabric måste vara densamma som källregionen för Azure Cosmos DB-kontot.
  • Användaren som konfigurerar privata nätverk för Cosmos DB-spegling måste vara en Azure prenumerationsägare. Information om hur du tilldelar den här rollen till en användare finns i Tilldela en användare som administratör för en Azure-prenumeration med villkor.
  • Stöd för privat nätverk för replikering av Cosmos DB är endast tillgängligt för OAuth-baserad autentisering.
  • När du använder Microsoft Entra ID autentisering kontrollerar du att nödvändiga RBAC-behörigheter har konfigurerats. Mer information finns i säkerhetsbegränsningar.
  • Funktionen EnableFabricNetworkAclBypass måste vara aktiverad på ditt Cosmos DB-konto innan du konfigurerar nätverks-ACL:n.
  • Nätverks-ACL-konfigurationen är arbetsytespecifik. Varje arbetsyta som behöver åtkomst till Cosmos DB-kontot måste auktoriseras separat.
  • Du måste lägga till alla IPv4-adresser för tjänsttaggar för DataFactory och PowerQueryOnline i din region. Partiella IP-listor kan orsaka anslutningsfel.
  • För konfigurationer av privata slutpunkter måste du tillfälligt aktivera valda nätverk under Åtkomst till offentligt nätverk för att lägga till Infrastrukturtjänst-IP-adresser under den inledande speglingskonfigurationen. När speglingen har upprättats kan du återställa dina ursprungliga nätverksinställningar.
  • För att konfigurera containrar krävs att PowerQueryOnline- och DataFactory-IP-adresser tillåts. Om IP-brandväggsreglerna inte finns på plats blockeras ändringar i containerkonfigurationen. Men om Automatisk spegling av framtida tabeller är aktiverad fortsätter speglingen för nya containrar utan problem.
  • För att skapa en ny speglad databas på ett nätverkskonto med ACL-aktiverat krävs att IP-adresser för PowerQueryOnline och DataFactory läggs till i tillåtellistan. Återaktivera IP-brandväggsreglerna innan du skapar en ny spegling.
  • För konfigurationer av virtuella nätverk måste slutpunktsreglerna finnas kvar tillsammans med de tillagda IP-adresserna.
  • Det kan ta 5–15 minuter att konfigurera åtkomsten till det offentliga nätverket.

Felsökning

Om du har problem med att ansluta till ditt Azure Cosmos DB konto:

  1. Kontrollera att nätverks-ACL-funktionen är aktiverad:

    $account = Get-AzCosmosDBAccount -ResourceGroupName <resourceGroup> -Name <accountName>
    $account.Capabilities.Name
    

    Bekräfta att EnableFabricNetworkAclBypass visas i utdata. Om det inte finns några utdata har nätverks-ACL-funktionen inte aktiverats.

  2. Kontrollera konfigurationen av betrodd arbetsyta:

    $account = Get-AzCosmosDBAccount -ResourceGroupName <resourceGroup> -Name <accountName>
    $account.NetworkAclBypassResourceIds
    

    Kontrollera att resursen finns och har rätt klient-ID och arbetsyte-ID. Om det inte finns några utdata har fabric-arbetsytan inte konfigurerats.

  3. Kontrollera att IP-adresserna är korrekta:

    • Ladda ned den senaste JSON-filen Azure Service Tags
    • Bekräfta att du har lagt till alla IPv4-intervall för DataFactory för din region och ALLA PowerQueryOnline-tjänster
    • Kontrollera att inga IP-adresser har angetts felaktigt
  4. Review Azure Cosmos DB brandväggsinställningar:

    • För virtuella nätverk kontrollerar du att slutpunktsreglerna fortfarande är på plats
    • För privata slutpunkter återställer du endast ursprungliga nätverksinställningar när speglingskonfigurationen har slutförts
  5. Kontrollera autentiseringsuppgifterna för anslutningen:

    • Kontonycklar stöds inte för spegling med privata nätverk. Kontrollera att du använder Microsoft Entra ID autentisering och kontrollera att de behörigheter som krävs har tilldelats
  6. Kontrollera Fabric och Azureregioner

    • Kontrollera att både din infrastrukturarbetsyta och Azure Cosmos DB kontoregion är samma.
  7. Granska övervakningsloggar:

    • Kontrollera speglingsreplikeringsstatusen för eventuella felmeddelanden

För mer felsökningsvägledning, se Felsökning: Microsoft Fabric speglade databaser från Azure Cosmos DB.