Udostępnij przez


Filtrowanie punktów końcowych łączników (wersja zapoznawcza)

[Ten artykuł stanowi wstępną wersję dokumentacji i może ulec zmianie.]

Filtrowanie punktów końcowych złączy umożliwia administratorom kontrolowanie, z którymi określonymi punktami końcowymi twórcy mogą się łączyć podczas tworzenia aplikacji, przepływów lub czatbotów. Jest skonfigurowana w polityce danych i jest dostępna wyłącznie dla następujących łączników:

  • HTTP
  • Integracja z usługą HTTP Tożsamość Microsoft Entra (AD)
  • Element webhook adresu HTTP
  • SQL Server (obejmuje używanie programu SQL Server Connector do uzyskiwania dostępu do magazynu danych Azure Synapse)
  • Azure Blob Storage
  • SMTP
  • Automatyzacja przeglądarki
  • Automatyzacja interfejsu użytkownika

Gdy kreator łączy swoją aplikację, przepływ lub czatbota z zablokowanym punktem końcowym, zobaczy komunikat o błędzie polityki danych.

Ostrzeżenie

Reguły filtrowania punktów końcowych nie mają zastosowania do zmiennych środowiskowych, niestandardowych danych wejściowych ani żadnego punktu końcowego dynamicznie tworzonego w czasie wykonywania. Tylko statyczne punkty końcowe są oceniane w aplikacji, przepływie lub projektantach czatbota. Aby uzyskać więcej informacji, zobacz Znane ograniczenia.

Ważne

  • Jest to funkcja w wersji zapoznawczej.
  • Funkcje w wersji zapoznawczej nie są przeznaczone do użytku produkcyjnego i mogą mieć ograniczone funkcje. Te funkcje podlegają dodatkowym warunkom użytkowania i są dostępne przed oficjalną wersją, aby klienci mogli uzyskać wczesny dostęp i przekazać opinię.

Dodawanie reguł filtrowania punktów końcowych do zasad danych

Kolumna Punkt końcowy konfigurowalny na stronie Wstępnie utworzone łączniki w zasadach danych wskazuje, czy funkcja filtrowania punktów końcowych jest obsługiwana dla łącznika.

Punkt końcowy konfigurowalny na stronie Gotowe łączniki.

Jeśli wartość kolumny Konfigurowalny punkt końcowy na Tak, możesz użyć tej możliwości, klikając prawym przyciskiem myszy, a następnie wybierając Konfiguruj łącznik>Punkty końcowe łącznika.

Skonfiguruj łącznik > Punkty końcowe łącznika.

Spowoduje to otwarcie panelu bocznego, w którym zostanie określona uporządkowana lista wzorców dozwolonych lub odmów adresów URL. Ostatni wiersz na liście to reguła dla symbolu wieloznacznego (*), który ma zastosowanie do wszystkich punktów końcowych w tym łączniku. Domyślnie * wzorzec jest skonfigurowany jako Zezwalaj na nowe zasady danych, ale można oznaczyć go jako Zezwalaj lub Odmawiaj.

Określ uporządkowaną listę wzorców adresów URL Zezwalaj i Odmawiaj dla niestandardowych łączników.

Dodaj nowe reguły

Nowe reguły można dodać, wybierając opcję Dodaj punkt końcowy. Nowe reguły są dodawane na końcu listy wzorców jako przedostatnia reguła. Jest to spowodowane tym, że * jest ostatnim wpisem na liście. Można jednak zaktualizować kolejność wzorców, korzystając z listy rozwijanej Zamówienie lub wybierając pozycję Przenieś w górę lub Przenieś w dół.

Wybierz opcję Dodaj punkt końcowy w celu dodania nowych reguł.

Po dodaniu wzorca można go edytować lub usunąć, wybierając określony wiersz, a następnie wybierając pozycję Usuń.

Usuń wzorzec.

Po zapisaniu reguł filtrowania punktów końcowych łącznika i zasadach danych, w których są one zdefiniowane, są one natychmiast wymuszane w środowiskach docelowych. Na poniższej ilustracji przedstawiono przykład, w którym twórca próbuje połączyć przepływ chmury z punktem końcowym HTTP, który nie jest dozwolony.

Błąd zasad danych z powodu reguł filtrowania punktów końcowych.

Znane ograniczenia

  • Reguły filtrowania punktów końcowych nie są wymuszane na zmiennych środowiskowych, wejściach niestandardowych i dynamicznie powiązanych punktach końcowych podczas uruchamiania. Wymuszane są tylko te statyczne punkty końcowe, które są znane i wybrane w trakcie budowania aplikacji, przepływu lub czatbota w fazie projektowania. Oznacza to, że reguły filtrowania punktów końcowych łącznika dla programu SQL Server i usługi Azure Blob Storage nie są wymuszane, jeśli połączenia są uwierzytelniane przy użyciu identyfikatora Entra firmy Microsoft. Na poniższych dwóch zrzutach ekranu twórca buduje przepływ pracy w chmurze, który definiuje SQL Server oraz bazę danych w zmiennych, a następnie używa tych zmiennych jako danych wejściowych do definicji połączenia. W związku z tym reguły filtrowania punktów końcowych nie są weryfikowane, a przepływ w chmurze jest wykonywany pomyślnie.

    Zrzut ekranu przedstawiający przepływ chmury, który używa zmiennych do nawiązywania połączenia z bazą danych SQL.

    +Zrzut ekranu przedstawiający pomyślnie uruchomiony przepływ chmury.

  • Aplikacje Power Apps opublikowane przed 1 października 2020 r. muszą zostać ponownie opublikowane, aby można było wymusić reguły akcji łącznika zasad danych i reguły dotyczące punktów końcowych. Poniższy skrypt umożliwia administratorom i twórcom identyfikowanie aplikacji, które muszą zostać ponownie udostępnione w celu zachowania zgodności z tymi nowymi regułami szczegółowej kontroli zasad danych:

    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 comply with granular data policy: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular data policy compliant: " $app.AppName 
        }
    }
    

Punkt końcowy i przykłady

Każdy łącznik definiuje punkt końcowy inaczej, a niektóre punkty końcowe mogą być w wielu formatach. W związku z tym należy wprowadzić punkty końcowe we wszystkich możliwych formatach, aby uniemożliwić twórcom korzystanie z nich podczas tworzenia aplikacji i przepływów. Administratorzy mogą wprowadzić pełną nazwę punktu końcowego lub użyć wzorca zgodnego z symbolem wieloznacznymi (*), aby utworzyć regułę filtrowania punktów końcowych. Te reguły są wprowadzane i prezentowane na uporządkowanej liście wzorców punktów końcowych, co oznacza, że są oceniane w kolejności rosnącej według liczby. Ostatnią regułą dla dowolnego łącznika jest zawsze * Zezwalaj lub * Odmów. Zezwalaj to wartość domyślna, którą można zmienić na Odmów.

Poniższe wskazówki opisują sposób wprowadzania punktów końcowych łącznika podczas tworzenia reguł zezwalających lub odmawiających ich.

SQL Server

Wyświetl listę punktów końcowych połączeń programu SQL Server w <Server_name, database_name> formacie. Rzeczy, o których należy pamiętać:

  • Twórcy mogą wprowadzać nazwę serwera w różnych formatach. Aby zająć się punktem końcowym, wprowadź go we wszystkich możliwych formatach. Na przykład lokalny mogą być w formacie <machine_name\named_instance, database_name> lub <IP address, custom port, database_name>. W takim przypadku będziesz musiał zastosować reguły zezwalania lub blokowania w obu formatach dla punktu końcowego. Na przykład:

    • Blokuj WS12875676\Servername1,MktingDB
    • Blokuj 11.22.33.444,1401,MktingDB
  • Żadna specjalna logika nie obsługuje adresów względnych, takich jak localhost. W związku z tym, jeśli zablokujesz *localhost*, zablokuje to twórcom używanie jakichkolwiek punktów końcowych przy użyciu localhost jako części punktu końcowego programu SQL Server. Jednak nie powstrzyma ich to przed dostępem do punktu końcowego przy użyciu adresu bezwzględnego, chyba że adres bezwzględny został również zablokowany przez administratora.

Oto kilka przykładów:

  • Zezwalaj tylko na wystąpienia serwera SQL Azure:

    1. Zezwalaj na *.database.windows.net*
    2. Odmów *
  • Zezwalaj tylko na określony zakres adresów IP: (Adresy IP, które nie są dozwolone, mogą być nadal wprowadzane przez producenta w <machine_name\named_instance> formacie).

    1. Zezwalaj na 11.22.33*
    2. Odmów *

Dataverse

Punkty końcowe usługi Dataverse są reprezentowane przez identyfikator organizacji, na przykład 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Należy pamiętać, że tylko zwykły łącznik Dataverse znajduje się obecnie w zakresie punkt końcowy filtrowania. Dataverse Łączniki dynamiczne i Dataverse bieżące nie są objęte zakresem. Ponadto lokalne wystąpienie Dataverse (znane również jako bieżące środowisko) nigdy nie może zostać zablokowane do użytku w środowisku. Oznacza to, że twórcy zawsze mogą uzyskiwać dostęp do bieżącego środowiska usługi Dataverse w dowolnym środowisku.

W związku z tym reguła, która mówi:

  1. Zezwalaj na 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  2. Odmów *

W rzeczywistości to oznacza:

  1. Zezwalaj na Dataverse current environment
  2. Zezwalaj na 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  3. Odmów *

Zezwalaj, Dataverse current environmentaby jest zawsze domyślnie pierwszą regułą na liście filtrowania punktów końcowych Dataverse dla dowolnego środowiska.

Azure Blob Storage

Punkty końcowe usługi Azure Blob Storage używają nazwy konta usługi Azure Storage.

SMTP

Punkty końcowe SMTP są reprezentowane przez format <SMTP server address, port number>.

Oto przykładowy scenariusz:

  1. Odmów smtp.gmail.com,587
  2. Zezwalaj na *

HTTP z Tożsamość Microsoft Entra, HTTP Webhook i łącznikami HTTP

Punkty końcowe łącznika HTTP używają wzorca adresu URL. Akcja Pobierz zasób sieci Web protokołu HTTP z łącznikiem Microsoft Entra jest poza zakresem.

Oto przykładowy scenariusz:

Zezwalaj na dostęp tylko do strony Subskrypcje Azure w obszarze https://management.azure.com/.

  1. Zezwalaj na https://management.azure.com/subscriptions*
  2. Odmów https://management.azure.com/*
  3. Odmów *

Automatyzacja przeglądarki

Ta funkcja umożliwia kontrolowanie stron internetowych, do których przepływ pulpitu uzyskuje dostęp w usłudze Aplikacja klasyczna Power Automate. Punkty końcowe są reprezentowane w formacie adresu URL lub w formacie nazwy strony internetowej i można używać symboli wieloznacznych do dynamicznego dopasowywania adresów URL lub nazw stron. Walidacja odbywa się podczas akcji "Uruchom przeglądarkę internetową" lub "Przejdź do strony internetowej", zanim przepływ pulpitu będzie kontynuowany z interakcjami przeglądarki.

Uwaga

Filtrowanie punktów końcowych nie jest weryfikowane, gdy akcje "Uruchom przeglądarkę internetową" są skonfigurowane do dołączania do okna na pierwszym planie. W takich przypadkach akcja nie jest blokowana, chyba że odmówiono dostępu do wszystkich stron internetowych.

Oto przykładowy scenariusz:

Zezwalaj na dostęp do wszystkich stron internetowych z wyjątkiem adresu URL https://www.microsoft.com/ i dowolnego adresu URL lub strony internetowej zawierającej ciąg powerplatform.

  1. Odmów https://www.microsoft.com/
  2. Odmów *powerplatform*
  3. Zezwalaj na *

Automatyzacja interfejsu użytkownika

Ta funkcja umożliwia zdefiniowanie aplikacji i ekranów, z którymi przepływ pulpitu może wchodzić w interakcje w programie Power Automate na komputery stacjonarne. Punkty końcowe są określane przy użyciu nazwy procesu aplikacji. Gdy nazwa procesu to ApplicationFrameHost, Java lub Javaw — wskazująca aplikację platformy uniwersalnej systemu Windows (UWP) lub Java, w której wiele wystąpień może mieć taką samą nazwę — usługa Power Automate dla komputerów stacjonarnych używa zarówno nazwy procesu, jak i nazwy wyświetlanej okna w celu dokładnego zidentyfikowania obiektu docelowego. Symbole wieloznaczne są obsługiwane dla elastycznego dopasowywania.

Walidacja odbywa się przy każdej akcji w grupie automatyzacji interfejsu użytkownika. Sprawdza atrybut Process (wskazywany przez liczbę 1 na obrazie) lub atrybut Name (wskazywany przez liczbę 2 na obrazie) w selektorze ekranu docelowego (jak pokazano na strzałki na obrazie). Zazwyczaj element nadrzędny powiązanych elementów interfejsu użytkownika służy do określenia, czy interakcja jest dozwolona.

Selektor ekranu

Reguły filtrowania punktów końcowych nie mają zastosowania do zmiennych ani punktów końcowych powiązanych dynamicznie. Jeśli wyrażenie zawiera coś innego niż dosłowny ciąg znaków, filtrowanie jest omijane — potencjalnie zezwalając na dostęp do ograniczonych argumentów łącznika. Domyślne zachowanie zasad to wszystkie zasady filtrowania punktów końcowych obejmują podstawową regułę (Zezwalaj * lub Odmów *), domyślnie Zezwalaj * (Zezwalaj na wszystko).

  • Gdy jest używana opcja Zezwalaj * : wartości dynamiczne nie są filtrowane. Każde wyrażenie dynamiczne pomija filtrowanie punktów końcowych, nawet jeśli określone aplikacje są ograniczone.
  • Gdy opcja Odmów * jest używana: wszystkie wartości dynamiczne są domyślnie blokowane, zapewniając ostrzejsze wymuszanie.

Uwaga

  • Filtrowanie punktów końcowych nie jest wymuszane, jeśli odpowiednie atrybuty (proces lub nazwa) nie są częścią selektora.
  • Filtrowanie punktów końcowych nie jest obsługiwane w przypadku niektórych elementów interfejsu użytkownika systemu operacyjnego Windows, w tym ikon pulpitu, przycisków paska zadań i składników w menu Start .

Oto przykładowy scenariusz. Aby zezwolić na dostęp do wszystkich aplikacji i ekranów, z wyjątkiem tych, w których atrybut Proces lub Nazwa jest dokładnie Kalkulator lub zawiera ciąg Java, należy skonfigurować następujące reguły:

  1. Odmów Calculator
  2. Odmów *Java*
  3. Zezwalaj na *

Obsługa programu PowerShell punkt końcowy filtrowania danych

Skonfiguruj reguły filtrowania punktów końcowych dla polityki

Obiekt zawierający reguły filtrowania punktów końcowych dla polityki nazywa się konfiguracjami łącznika.

Obiekt konfiguracji łącznika ma następującą 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
        }
      ) 
    }
  ) 
}

Uwagi

  • Ostatnia reguła dla każdego łącznika musi zawsze mieć zastosowanie do adresu URL * , aby upewnić się, że wszystkie adresy URL są objęte regułami.
  • Właściwość porządkowa reguł dla każdego łącznika musi używać numerów od 1 do N, gdzie N to liczba reguł dla tego konkretnego łącznika.

Pobierz istniejące konfiguracje łącznika dla polityki danych

Get-PowerAppDlpPolicyConnectorConfigurations 

Utwórz konfiguracje łącznika dla polityki danych

New-PowerAppDlpPolicyConnectorConfigurations

Zaktualizuj konfiguracje łącznika dla polityki danych

Set-PowerAppDlpPolicyConnectorConfigurations

Przykład

Cel:

Dla łącznika serwera SQL:

  • Odmów dostępu do bazy danych "testdatabase" serwera "myservername.database.windows.net"
  • Zezwalaj na wszystkie inne bazy danych serwera "myservername.database.windows.net"
  • Odrzucanie wszystkich innych serwerów

Dla łącznika SMTP:

  • Zezwalaj na wiadomości (adres serwera: smtp.gmail.com, port: 587)
  • Odrzuć wszystkie inne adresy

Dla łącznika HTTP:

  • Zezwalaj na punkty końcowe https://mywebsite.com/allowedPath1 i https://mywebsite.com/allowedPath2
  • Odrzucanie wszystkich innych adresów URL

Uwaga

W poniższym poleceniu cmdlet PolicyName odnosi się do unikatowego identyfikatora GUID. Możesz pobrać politykę danych GUID, uruchamiając polecenie cmdlet Get-DlpPolicy.

$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