Udostępnij za pośrednictwem


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

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

Filtrowanie punktu końcowego łącznika umożliwia administratorom określić, z którymi punktami końcowymi mogą się łączyć podczas tworzenia aplikacji, przepływów i czatbotów. Jest ona skonfigurowana w ramach zasad ochrony przed utratą danych (DLP) i jest dostępna wyłącznie dla sześciu łączników:

  • HTTP
  • HTTP z Tożsamością 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)
  • Magazyn obiektów blob Azure
  • SMTP

Gdy twórca będzie próbować połączyć aplikację, przepływ lub rozmowę z zablokowanym punktem końcowym, napotka komunikat o błędzie DLP.

Ostrzeżenie

Reguły punktu końcowego filtrowania nie są wymuszane dla zmiennych środowiska, niestandardowych danych wejściowych ani żaden punkt końcowy, który jest tworzony dynamicznie podczas czasu uruchomienia. Tylko statyczne punkty końcowe są oceniane w aplikacji, przepływie lub projektantach czatbota. Aby uzyskać więcej informacji, zobacz Znane ograniczenia.

Ważne

Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.

Dodawanie reguł punktu końcowego do zasad DLP

Kolumna Konfigurowalny punkt końcowy na stronie Gotowe łą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 to 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.

Otwiera to panel boczny, w którym możesz określić uporządkowaną listę wzorców URL typu Allow (Zezwalaj) lub Deny (Odmawiaj). Ostatni wiersz na liście zawsze będzie regułą dla znaku wieloznacznego (*), która dotyczy wszystkich punktów końcowych w tym łączniku. Domyślnie wzorzec * jest ustawiany jako Zezwalaj na nowe zasady DLP, ale można go oznaczać 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. Stanie się tak dlatego, że * zawsze będzie 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 edytować lub usuwać te wzorce, wybierając konkretny wiersz i wybierając opcję Usuń.

Usuń wzorzec.

Po zapisaniu łącznika punkt końcowy filtrowania i zasad DLP, w których są zdefiniowane, są one natychmiast wymuszane w środowiskach docelowych. Poniżej po przedstawiono przykład, w którym twórca próbował połączyć przepływ chmury z punktem końcowym HTTP, co nie jest niedozwolone.

Błąd DLP z powodu reguł punktu końcowego.

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 statyczne punkty końcowe znane i wybrane podczas tworzenia aplikacji, przepływu lub chatbota w czasie projektowania. Oznacza to, że reguły filtrowania punktów końcowych łącznika dla SQL Server i Azure Blob Storage nie są wymuszane, jeśli połączenia są uwierzytelniane za pomocą Microsoft Entra ID. Na dwóch poniższych zrzutach ekranu twórca kompiluje przepływ w chmurze definiujący serwer SQL Server i bazę danych w zmiennych, a następnie używa tych zmiennych jako danych wejściowych do definicji połączenia. Z tego powodu punkt końcowy filtrowania nie jest szacowany i przepływ chmury może być wykonywany pomyślnie.

    Przepływ w chmurze używa zmiennych do łączenia się z usługą SQL.Pomyślne przebiegi przepływu w chmurze.

  • Niektóre opublikowane Power Apps przed 1 października 2020 r. należy ponownie opublikować w celu wymuszania reguł akcji łącznika DLP i punktu końcowego programu. Poniższy skrypt umożliwia administratorom i twórcom zidentyfikowanie aplikacji, które muszą zostać ponownie opublikowane, aby przestrzegać nowych zasad kontroli granularnej DLP:

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

Punkt końcowy i przykłady

Każdy łącznik ma inne punkt końcowy łącznika. Ponadto niektóre punkty końcowe można zdefiniować w wielu formatach. Punkty końcowe muszą być wprowadzane 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ć dopasowania wzorca ze znakiem wieloznacznym (*) podczas tworzenia reguły filtrowania punktu końcowego. Te reguły są wprowadzane i przedstawiane w uporządkowanej liście punkt końcowy wzorców, co oznacza, że będą one szacowane w porządku rosnącym według numeru. Należy zauważyć, że ostatnią regułą dla danego łą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

Punkty końcowe połączenia z programem SQL Server muszą być wyświetlane w formacie <Server_name, database_name>. Rzeczy, o których należy pamiętać:

  • Nazwa serwera może być wprowadzana w różnych formatach przez twórców. Dlatego, aby naprawdę zaadresować punkt końcowy, należy go wprowadzić 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
  • Nie ma specjalnych reguł do obsługi względnych adresów, 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.

Poniżej znajdują się przykłady:

  • 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: (pamiętaj, że niedozwolone adresy IP mogą być nadal wprowadzane przez twórcę w formacie <machine_name\named_instance>).

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

Dataverse

Punkty końcowe Dataverse są reprezentowane przez identyfikator organizacji, na przykład 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Należy pamiętać, że tylko zwykły łącznik Dataverse znajduje się obecnie w zakresie punkt końcowy filtrowania. Bieżące łączniki Dataverse Dynamics i Dataverse znajdują się w zakresie. 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 w każdym środowisku twórcy mogą zawsze uzyskać dostęp do bieżącego środowiska Dataverse.

Dlatego też reguła, która stwierdza:

  1. Zezwalaj na 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  2. Odmów *

W rzeczywistości to oznacza:

  1. Zezwalaj na Dataverse current environment
  2. Zezwalaj na 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  3. Odmów *

Zezwalaj, że Dataverse current environment 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 są reprezentowane przez nazwę 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 Microsoft Entra ID, HTTP Webhook i łącznikami HTTP

Punkty końcowe dla wszystkich łączników HTTP są reprezentowane przez wzorzec 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 *

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 zasad jest określany poniżej jako konfiguracje łą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
        }
      ) 
    }
  ) 
}

Notatki

  • Ostatnia reguła dla każdego łącznika powinna być zawsze stosowana do adresu URL *, aby zapewnić, że wszystkie adresy URL są objęte regułami.
  • Właściwość kolejności reguł dla każdego łącznika powinna być wypełniona liczbami od 1 do N, gdzie N jest liczbą reguł dla tego łącznika.

Pobieranie istniejących konfiguracji łączników dla zasad DLP

Get-PowerAppDlpPolicyConnectorConfigurations 

Tworzenie konfiguracji łączników dla zasad DLP

New-PowerAppDlpPolicyConnectorConfigurations

Aktualizowanie konfiguracji łączników dla zasad DLP

Set-PowerAppDlpPolicyConnectorConfigurations

Przykład

Cel:

Dla łącznika serwera SQL:

  • Odmowa 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ć identyfikator GUID DLP, 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