Freigeben über


Connector-Endpunktfilterung (Vorschauversion)

[Dieser Artikel ist Teil der Dokumentation zur Vorschauversion und kann geändert werden.]

Mit der Filterung von Connector-Endpunkt können Administratoren steuern, mit welchen bestimmten Endpunkten Ersteller eine Verbindung herstellen können, wenn sie Apps, Flows oder Chatbots erstellen. Es wird innerhalb einer Richtlinie für die Verhinderung von Datenverlust (DLP-Richtlinie) konfiguriert und ist exklusiv für sechs Konnektoren verfügbar:

  • HTTP
  • HTTP mit Microsoft Entra ID (AD)
  • HTTP-Webhook
  • SQL Server (einschließlich der Verwendung des SQL Server-Connectors für den Zugriff auf Azure Synapse Data Warehouse)
  • Azure Blob Storage
  • SMTP

Wenn ein Ersteller versucht, seine App, seinen Flow oder Chatbot mit einem blockierten Endpunkt zu verbinden, wird ihm eine DLP-Fehlermeldung angezeigt.

Warnung

Die Endpunktfilterungsregeln werden für Umgebungsvariablen, benutzerdefinierte Eingaben oder dynamisch erstellte Endpunkte während der Laufzeit nicht durchgesetzt. In den App-, Flow- oder Chatbot-Designern werden nur statische Endpunkte ausgewertet. Weitere Informationen finden Sie unter Bekannte Einschränkungen.

Wichtig

Funktionen in der Vorschau sind nicht für den Produktionseinsatz gedacht und können eine eingeschränkte Funktionalität aufweisen. Diese Funktionen stehen vor der offiziellen Veröffentlichung zur Verfügung, damit Kunden frühzeitig Zugriff erhalten und Feedback geben können.

Fügen Sie Endpunkt Filterregeln zu Ihren DLP-Richtlinien hinzu

Die Spalte Endpunkt konfigurierbar auf der Seite Vordefinierte Connectors in Datenrichtlinien gibt an, ob die Filterfunktion für Endpunkte für den Connector unterstützt wird.

Endpunkt konfigurierbar auf der Seite „Vordefinierte Connectors“.

Wenn die Spalte Endpunkt konfigurierbar den Wert Ja enthält, können Sie diese Funktion verwenden, indem Sie mit der rechten Maustaste klicken und dann Connector konfigurieren>Connector-Endpunkte auswählen.

Konfigurieren Sie den Konnektor > Konnektor-Endpunkte.

Dadurch wird ein Seitenbereich geöffnet, in dem Sie eine sortierte Liste von URL-Mustern zum Zulassen oder Ablehnen angeben können. In der letzten Zeile befindet sich immer eine Regel für das Platzhalterzeichen (*), die für alle Endpunkte dieses Connectors gilt. Standardmäßig ist das Muster * für neue DLP-Richtlinien auf „Zulassen“ eingerichtet. Sie können es jedoch mit „Zulassen“ oder „Ablehnen“ markieren.

Geben Sie eine sortierte Liste von URL-Mustern zum Zulassen und Verweigern für benutzerdefinierte Connectors an.

Neue Regeln hinzufügen

Sie können neue Regeln hinzufügen, indem Sie Endpunkt hinzufügen auswählen. Neue Regeln werden am Ende der Musterliste hinzugefügt als vorletzte Regel. Das ist, weil * immer der letzte Eintrag in der Liste ist. Sie können die Reihenfolge der Muster jedoch aktualisieren, indem Sie die Dropdownliste Reihenfolge verwenden oder die Optionen Nach oben oder Nach unten auswählen.

Wählen Sie „Endpunkt hinzufügen“ aus, um neue Regeln hinzuzufügen.

Nachdem ein Muster hinzugefügt wurde, können Sie diese Muster bearbeiten oder löschen, indem Sie eine bestimmte Zeile und anschließend die Option Löschen verwenden.

Löschen Sie ein Muster.

Nachdem Sie die Endpunkt-Filterregeln Ihres Konnektors und die DLP-Richtlinie, in der sie definiert sind, gespeichert haben, werden sie sofort in den Zielumgebungen durchgesetzt. Unten sehen Sie ein Beispiel, in dem ein Ersteller versucht hat, seinen Cloud-Flow mit einem nicht zulässigen HTTP-Endpunkt zu verbinden.

DLP-Fehler aufgrund von Endpunkt Filterregeln.

Bekannte Einschränkungen

  • Die Endpunktfilterungsregeln werden für Umgebungsvariablen, benutzerdefinierte Eingaben und dynamisch gebundene Endpunkte während der Laufzeit nicht durchgesetzt. Es werden nur statische Endpunkte erzwungen, die beim Erstellen einer App, eines Flows oder eines Chatbots während der Entwurfszeit bekannt und ausgewählt wurden. Dies bedeutet, dass die Regeln zur Filterung von Konnektoren für SQL Server und Azure Blob Storage nicht durchgesetzt werden, wenn die Verbindungen mit der Microsoft Entra ID authentifiziert werden. In den beiden folgenden Screenshots hat ein Ersteller einen Cloud-Flow erstellt, der den SQL Server und die Datenbank innerhalb von Variablen definiert und diese Variablen dann als Eingabe für die Verbindungsdefinition verwendet. Daher werden die Endpunkt-Filterregeln nicht ausgewertet und der Cloud-Flow kann erfolgreich ausgeführt werden.

    Cloud Flow verwendet Variablen, um eine Verbindung zu SQL herzustellen.Cloud-Flow wird erfolgreich ausgeführt.

  • Einige vor dem 1. Oktober 2020 veröffentlichte Power Apps müssen erneut veröffentlicht werden, damit DLP-Connector-Aktionsregeln und -Endpunktregeln durchgesetzt werden. Das folgende Skript ermöglicht es Administratoren und Herstellern, Apps zu identifizieren, die neu veröffentlicht werden müssen, um diese neuen granularen DLP-Steuerelementregeln einzuhalten:

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

Endpunkt-Eingabeformate und Beispiele

Jeder Connector hat eine andere Vorstellung davon, was ein Endpunkt bedeutet. Außerdem können einige Endpunkte in mehreren Formaten definiert werden. Endpunkte müssen daher in allen möglichen Formaten eingegeben werden, um Hersteller daran zu hindern, sie beim Erstellen von Apps und Flows zu verwenden. Administratoren können entweder den vollständigen Endpunktnamen eingeben oder beim Erstellen einer Endpunktfilterregel den Mustervergleich mit dem Platzhalterzeichen (*) verwenden. Diese Regeln werden eingegeben und in einer sortierten Liste von Endpunktmustern dargestellt. Das bedeutet, dass sie in aufsteigender Reihenfolge nach Nummern ausgewertet werden. Beachten Sie, dass die letzte Regel für einen bestimmten Konnektor immer * „Zulassen“ oder * „Ablehnen“ lautet. „Zulassen“ ist die Standardeinstellung, die in „Ablehnen“ geändert werden kann.

Die folgende Anleitung beschreibt, wie Sie Connector-Endpunkte eingeben, während Sie Regeln erstellen, um sie zuzulassen oder abzulehnen.

SQL Server

Die Endpunkte der SQL Server-Verbindung müssen im Format <Server_name, database_name> aufgelistet sein. Einige Dinge, die Sie beachten sollten:

  • Der Servername kann von Herstellern in verschiedenen Formaten eingegeben werden. Um einen Endpunkt wirklich zu adressieren, muss er daher in allen möglichen Formaten eingegeben werden. Lokale Instanzen können beispielsweise im Format <machine_name\named_instance, database_name> oder <IP address, custom port, database_name> vorliegen. In diesem Fall müssen Sie für einen Endpunkt in beiden Formaten Regeln für das Zulassen oder Blockieren anwenden. Beispiel: ''

    • WS12875676\Servername1,MktingDB blockieren
    • 11.22.33.444,1401,MktingDB blockieren
  • Es gibt keine spezielle Logik für den Umgang mit relativen Adressen wie localhost. Wenn Sie daher *localhost* blockieren, können Hersteller keine Endpunkte verwenden, indem Sie localhost als Teil des SQL Server-Endpunkts verwenden. Es wird sie jedoch nicht daran hindern, mithilfe der absoluten Adresse auf Endpunkt zuzugreifen, es sei denn, die absolute Adresse wurde vom Administrator ebenfalls gesperrt.

Im Folgenden finden Sie Beispiele:

  • Nur Azure SQL Server-Instanzen zulassen:

    1. *.database.windows.net* zulassen
    2. * ablehnen
  • Nur einen bestimmten IP-Bereich zulassen: (Beachten Sie, dass die nicht zulässigen IP-Adressen vom Ersteller weiterhin im Format <machine_name\named_instance> eingegeben werden können.)

    1. 11.22.33* zulassen
    2. * ablehnen

Dataverse

Dataverse-Endpunkte werden durch die Organisations-ID dargestellt, wie zum Beispiel 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Bitte beachten Sie, dass sich derzeit nur der reguläre Dataverse-Connector im Geltungsbereich der Endpunktfilterung befindet. Dataverse Dynamics- und aktuelle Dataverse-Connectors befinden sich nicht im Geltungsbereich. Auch die lokale Instanz von Dataverse (auch als aktuelle Umgebung bezeichnet) kann niemals für die Verwendung in einer Umgebung blockiert werden. Das bedeutet, dass Hersteller in jeder gegebenen Umgebung jederzeit auf die aktuelle Dataverse-Umgebung zugreifen können.

Daher bedeutet die Regel:

  1. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 zulassen
  2. * ablehnen

eigentlich Folgendes:

  1. Dataverse current environment zulassen
  2. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 zulassen
  3. * ablehnen

Das Zulassen von Dataverse current environment ist immer implizit die erste Regel in der Dataverse-Endpunktfilterliste für jede beliebige Umgebung.

Azure Blob Storage

Azure Blob Storage-Endpunkte werden durch den Namen des Azure-Speicherkontos dargestellt.

SMTP

SMTP-Endpunkte werden im Format <SMTP server address, port number> dargestellt.

Nachfolgend ein Beispielszenario:

  1. smtp.gmail.com,587 ablehnen
  2. * zulassen

HTTP mit Microsoft Entra ID, HTTP-Webhook und HTTP-Connectors

Die Endpunkte für alle HTTP-Connectors werden durch ein URL-Muster dargestellt. Die Aktion Webressource abrufen des HTTP mit Microsoft Entra-Connectors liegt außerhalb des Geltungsbereichs.

Nachfolgend ein Beispielszenario:

Erlauben Sie nur den Zugriff auf die Azure-Abonnementseite innerhalb von https://management.azure.com/.

  1. https://management.azure.com/subscriptions* zulassen
  2. https://management.azure.com/* ablehnen
  3. * ablehnen

PowerShell-Unterstützung für Endpunktfilterung

Endpunktfilterung für eine Richtlinie konfigurieren

Das Objekt, das Regeln zur Endpunktfilterung für eine Richtlinie enthält, wird im Folgenden als „Connector-Konfigurationen“ bezeichnet.

Das Connector-Konfigurationsobjekt hat die folgende Struktur:

$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
        }
      ) 
    }
  ) 
}

Hinweise

  • Die letzte Regel für jeden Connector sollte immer auf die URL * angewendet werden, um zu gewährleisten, dass alle URLs von den Regeln abgedeckt werden.
  • Die Sortiereigenschaft der Regeln für jeden Connector sollte mit den Zahlen 1 bis N gefüllt werden, wobei N die Anzahl der Regeln für diesen Connector ist.

Abrufen vorhandener Connectorkonfigurationen für eine DLP-Richtlinie

Get-PowerAppDlpPolicyConnectorConfigurations 

Connectorkonfigurationen für eine DLP-Richtlinie erstellen

New-PowerAppDlpPolicyConnectorConfigurations

Connectorkonfigurationen für eine DLP-Richtlinie aktualisieren

Set-PowerAppDlpPolicyConnectorConfigurations

Beispiel

Ziel:

Für den SQL Server-Connector:

  • Datenbank „testdatabase“ des Servers „myservername.database.windows.net“ ablehnen
  • Alle anderen Datenbanken des Servers „myservername.database.windows.net“ zulassen
  • Alle anderen Server ablehnen

Für den SMTP-Connector:

  • Gmail zulassen (Serveradresse: smtp.gmail.com, Port: 587)
  • Alle anderen Adressen ablehnen

Für den HTTP-Connector:

  • Endpunkte https://mywebsite.com/allowedPath1 und https://mywebsite.com/allowedPath2 zulassen
  • Alle anderen URLs ablehnen

Notiz

In den folgenden Cmdlets bezieht sich PolicyName auf die eindeutige GUID. Sie können die DLP-GUID abrufen, indem Sie das Get-DlpPolicy-Cmdlet ausführen.

$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