Delen via


Eindpunten van connectors filteren (preview)

[Dit artikel maakt deel uit van de voorlopige documentatie en kan nog veranderen.]

Met filters voor eindpunten van connectors kunnen beheerders bepalen met welke specifieke eindpunten makers verbinding kunnen maken bij het bouwen van apps, stromen of chatbots. Dit wordt geconfigureerd binnen een DLP-beleid (Data Loss Prevention) en is exclusief beschikbaar voor zes connectors:

  • HTTP
  • HTTP met Microsoft Entra ID (AD)
  • HTTP-webhook
  • SQL Server (inclusief het gebruik van SQL Server Connector voor toegang tot Azure Synapse-datawarehouse)
  • Azure Blob Storage
  • SMTP

Wanneer een maker een app, stroom of chatbot probeert te verbinden met een geblokkeerde eindpunt, wordt een DLP-foutbericht weergegeven.

Waarschuwing

Regels voor eindpuntfiltering worden tijdens runtime niet afgedwongen bij omgevingsvariabelen, aangepaste invoer of dynamisch gemaakte eindpunten. Alleen statische eindpunten worden geëvalueerd in de app-, stroom- of chatbotontwerpers. Zie Bekende beperkingen voor meer informatie.

Belangrijk

Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar vóór een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.

Regels voor het filteren van eindpunten toevoegen aan uw DLP-beleid

De kolom Eindpunt configureerbaar op de pagina Vooraf gebouwde connectors in Gegevensbeleid geeft aan of eindpuntfiltering wordt ondersteund voor de connector.

Eindpunt is configureerbaar op de pagina Vooraf gebouwde connectors.

Als de waarde van de kolom Eindpunt is configureerbaar is ingesteld op Ja, kunt u deze mogelijkheid gebruiken door met de rechtermuisknop te klikken en vervolgens Connector configureren>Connector-eindpunten te selecteren.

Connector configureren > Connector-eindpunten.

Hierdoor wordt een zijpaneel geopend waar u een geordende lijst met de URL-patronen Toestaan of Weigeren kunt specificeren. De regel voor het jokerteken is altijd de laatste rij in de lijst (*) en is van toepassing op alle eindpunten in die connector. Standaard is het *-patroon ingesteld als Toestaan voor nieuw DLP-beleid, maar u kunt dit taggen als Toestaan of Weigeren.

Geef een geordende lijst op met URL-patronen voor toestaan en weigeren voor aangepaste connectors.

Nieuwe regels toevoegen

U kunt nieuwe regels toevoegen door Eindpunt toevoegen te selecteren. Nieuwe regels worden aan het einde van de lijst met patronen toegevoegd (als de op één na laatste regel). * is namelijk altijd het laatste item in de lijst. U kunt de volgorde van de patronen echter ook bijwerken via de vervolgkeuzelijst Volgorde of door Omhoog verplaatsen of Omlaag verplaatsen te selecteren.

Selecteer Eindpunt toevoegen om nieuwe regels toe te voegen.

Nadat u patronen hebt toegevoegd, kunt u de patronen bewerken of verwijderen door een specifieke rij te selecteren en vervolgens Verwijderen te selecteren.

Een patroon verwijderen.

Na het opslaan van uw regels voor het filteren van connectoreindpunten en het DLP-beleid waarin deze zijn gedefinieerd, worden ze onmiddellijk afgedwongen voor de beoogde omgevingen. Hieronder ziet u een voorbeeld waarbij een maker probeerde zijn cloudstroom te verbinden met een HTTP-eindpunt die niet is toegestaan.

DLP-fout vanwege regels voor eindpuntfilters.

Bekende beperkingen

  • Regels voor eindpuntfiltering worden tijdens runtime niet afgedwongen voor omgevingsvariabelen, aangepaste invoer en dynamisch gebonden eindpunten. Alleen statische eindpunten die bekend en geselecteerd zijn tijdens de bouw van een app, stroom of chatbot in de ontwerptijd worden afgedwongen. Dit houdt in dat de regels voor het filteren van connectoreindpunten voor SQL Server en Azure Blob Storage niet worden afgedwongen als de verbindingen worden geverifieerd met Microsoft Entra ID. In de twee schermopnamen hieronder heeft een maker een cloudflow gebouwd die de SQL-server en database in variabelen definieert en zijn die variabelen vervolgens gebruikt als invoer voor de verbindingsdefinitie. Daarom worden de filterregels voor eindpunten niet geëvalueerd en kan de cloudstroom worden uitgevoerd.

    Cloudstroom gebruikt variabelen om verbinding te maken met SQL.Cloudstroom wordt uitgevoerd.

  • Sommige Power Apps die voor het laatst vóór 1 oktober 2020 zijn gepubliceerd, moeten opnieuw worden gepubliceerd zodat DLP-actieregels voor connectors en eindpuntregels kunnen worden afgedwongen. Met het volgende script kunnen beheerders en makers apps identificeren die opnieuw moeten worden gepubliceerd om deze nieuwe gedetailleerde DLP-controleregels te respecteren:

    Add-PowerAppsAccount
    
    $GranularDLPDate = Get-Date -Date "2020-10-01 00:00:00Z"
    
    ForEach ($app in Get-AdminPowerApp){
    
        $versionAsDate = [datetime]::Parse($app.LastModifiedTime)
    
        $olderApp = $versionAsDate -lt $GranularDLPDate
    
        $wasBackfilled = $app.Internal.properties.executionRestrictions -ne $null -and $app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult -ne $null -and ![string]::IsNullOrEmpty($app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult.lastAdvancedBackfillDate) 
    
        If($($olderApp -and !$wasBackfilled)){
            Write-Host "App must be republished to be Granular DLP compliant: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular DLP compliant: " $app.AppName 
        }
    }
    

Invoerformaten en voorbeelden van eindpunten

Elke connector heeft een ander idee van wat een eindpunt inhoudt. Verder kunnen sommige eindpunten in meerdere indelingen worden gedefinieerd. Eindpunten moeten daarom in alle mogelijke indelingen worden ingevoerd om te voorkomen dat makers ze gebruiken tijdens het maken van apps en stromen. Beheerders kunnen ofwel de volledige naam van het eindpunt invoeren of patroonovereenkomsten gebruiken met het jokerteken (*) bij het maken van een filterregel voor een eindpunt. Deze regels worden ingevoerd en weergegeven in een geordende lijst met eindpuntpatronen, wat betekent dat ze in oplopende volgorde op nummer worden geëvalueerd. De laatste regel voor een bepaalde connector is altijd *Toestaan* of Weigeren. Toestaan is de standaardinstelling, die kan worden gewijzigd in Weigeren.

In de volgende richtlijnen wordt beschreven hoe u connectoreindpunten invoert terwijl u regels maakt om deze toe te staan of te weigeren.

SQL Server

SQL Server-connectoreindpunten moeten worden vermeld in de indeling <Server_name, database_name>. Zaken om rekening mee te houden:

  • De servernaam kan door makers in verschillende indelingen worden ingevoerd. Daarom moet een eindpunt in alle mogelijke indelingen worden ingevoerd om een eindpunt optimaal te gebruiken. Exemplaren on-premises kunnen bijvoorbeeld de indeling <machine_name\named_instance, database_name> of <IP address, custom port, database_name> hebben. In dit geval moet u regels voor toestaan of blokkeren in beide indelingen voor een eindpunt toepassen. Bijvoorbeeld:

    • Blokkeren WS12875676\Servername1,MktingDB
    • Blokkeren 11.22.33.444,1401,MktingDB
  • Er is geen speciale logica om relatieve adressen zoals localhost te verwerken. Als u *localhost* blokkeert, voorkomt u dus dat makers eindpunten gebruiken door localhost te gebruiken als deel van het SQL Server-eindpunt. Het weerhoudt hen er echter niet van om toegang te krijgen tot het eindpunt door het absolute adres te gebruiken, tenzij het absolute adres ook is geblokkeerd door de beheerder.

Hier volgen enkele voorbeelden:

  • Alleen Azure SQL Server-exemplaren toestaan:

    1. *.database.windows.net* toestaan
    2. * weigeren
  • Alleen een specifiek IP-bereik toestaan (de IP-adressen die niet zijn toegestaan, kunnen nog steeds door de maker worden ingevoerd in de indeling <machine_name\named_instance>.)

    1. 11.22.33* toestaan
    2. * weigeren

Dataverse

Dataverse-eindpunten worden vertegenwoordigd door de organisatie-id, zoals 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Alleen de reguliere Dataverse-connector komen in aanmerking voor eindpuntfiltering. Connectors van Dataverse dynamics en Dataverse current komen niet in aanmerking. Ook het lokale exemplaar van Dataverse (ook wel de huidige omgeving genoemd) kan nooit worden geblokkeerd voor gebruik binnen een omgeving. Dit betekent dat makers binnen een bepaalde omgeving altijd toegang hebben tot de Dataverse current-omgeving.

Daarom betekent een regel:

  1. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 toestaan
  2. * weigeren

eigenlijk:

  1. Dataverse current environment toestaan
  2. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 toestaan
  3. * weigeren

Dataverse current environment toestaan is altijd impliciet de eerste regel in de Dataverse-eindpuntfilterlijst voor een bepaalde omgeving.

Azure Blob Storage

Azure Blob Storage-eindpunten worden asngeduid met de naam van het Azure Storage-account.

SMTP

SMTP-eindpunten worden weergegeven in de indeling <SMTP server address, port number>.

Hier volgt een voorbeeldscenario:

  1. smtp.gmail.com,587 weigeren
  2. * toestaan

HTTP met Microsoft Entra ID, HTTP Webhook en HTTP-connectors

De eindpunten voor alle HTTP-connectors worden aangeduid door een URL-patroon. De actie Webresource ophalen van HTTP met Microsoft Entra-connector valt buiten het bereik.

Hier volgt een voorbeeldscenario:

Geef alleen toegang tot de Azure-pagina met abonnementen in https://management.azure.com/.

  1. https://management.azure.com/subscriptions* toestaan
  2. https://management.azure.com/* weigeren
  3. * weigeren

PowerShell-ondersteuning voor eindpuntfiltering

Regels voor eindpuntfiltering configureren voor een beleid

Het object dat regels voor eindpuntfiltering voor beleid bevat, wordt hieronder de connectorconfiguratie genoemd.

Het object voor de connectorconfiguraties heeft de volgende structuur:

$ConnectorConfigurations = @{ 
  connectorActionConfigurations = @() # used for connector action rules
  endpointConfigurations = @( # array – one entry per 
    @{  
      connectorId # string
      endpointRules = @( # array – one entry per rule 
        @{ 
          order # number 
          endpoint # string
          behavior # supported values: Allow/Deny
        }
      ) 
    }
  ) 
}

Notities

  • De laatste regel voor elke connector moet altijd op URL * worden toegepast om ervoor te zorgen dat de regels op alle URL's worden toegepast.
  • De eigenschap voor de volgorde van de regels voor elke connector moet worden gevuld met de nummers 1 tot en met N, waarbij N het aantal regels voor die connector is.

Bestaande connectorconfiguraties ophalen voor een DLP-beleid

Get-PowerAppDlpPolicyConnectorConfigurations 

Connectorconfiguraties maken voor een DLP-beleid

New-PowerAppDlpPolicyConnectorConfigurations

Connectorconfiguraties voor een DLP-beleid bijwerken

Set-PowerAppDlpPolicyConnectorConfigurations

Voorbeeld

Doel:

Voor de SQL-serverconnector:

  • Database 'testdatabase' van server 'mijnservernaam.database.windows.net' weigeren
  • Alle andere databases van server 'mijnservernaam.database.windows.net' toestaan
  • Alle andere servers weigeren

Voor de SMTP-connector:

  • Gmail toestaan (serveradres: smtp.gmail.com, poort: 587)
  • Alle andere adressen weigeren

Voor de HTTP-connector:

  • Eindpunten https://mywebsite.com/allowedPath1 en https://mywebsite.com/allowedPath2 toestaan
  • Alle andere URL's weigeren

Opmerking

In de volgende cmdlet verwijst PolicyName naar de unieke GUID. U kunt de DLP GUID ophalen door de cmdlet Get-DlpPolicy uit te voeren.

$ConnectorConfigurations = @{ 
  endpointConfigurations = @(
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_sql" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "myservername.database.windows.net,testdatabase" 
          behavior = "Deny"
        }, 
        @{ 
          order = 2 
          endpoint = "myservername.database.windows.net,*" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    }, 
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_smtp" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "smtp.gmail.com,587" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2 
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    },
    @{  
      connectorId = "http" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "https://mywebsite.com/allowedPath1" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2
          endpoint = "https://mywebsite.com/allowedPath2" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    } 
  ) 
}
New-PowerAppDlpPolicyConnectorConfigurations -TenantId $TenantId -PolicyName $PolicyName -NewDlpPolicyConnectorConfigurations $ConnectorConfigurations