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.
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.
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.
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.
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.
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.
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.
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
blockieren11.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 Sielocalhost
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:
*.database.windows.net*
zulassen*
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.)11.22.33*
zulassen*
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:
7b97cd5c-ce38-4930-9497-eec2a95bf5f7
zulassen*
ablehnen
eigentlich Folgendes:
Dataverse current environment
zulassen7b97cd5c-ce38-4930-9497-eec2a95bf5f7
zulassen*
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:
smtp.gmail.com,587
ablehnen*
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/
.
https://management.azure.com/subscriptions*
zulassenhttps://management.azure.com/*
ablehnen*
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
undhttps://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