Споделяне чрез


Филтриране на крайните точки за конектора (преглед)

[Тази статия е предварителна версия на документацията и подлежи на промяна.]

Филтрирането на крайни точки на конектора позволява на администраторите да управляват с кои конкретни създатели на крайни точки могат да се свързват, когато изграждат приложения, потоци или чатботове. Той е конфигуриран в рамките на политика за предотвратяване на загуба на данни (DLP) и е достъпен изключително за шест конектора:

  • HTTP
  • HTTP с Microsoft Entra ID (AD)
  • HTTP уеб кукичка
  • SQL Server (включва използване на SQL Server Connector за достъп Azure Synapse до хранилище за данни)
  • Azure Blob Storage
  • SMTP

Когато производителят се опита да свърже своето приложение, поток или чатбот към блокирана крайна точка, той ще срещне DLP съобщение за грешка.

Предупреждение

Правилата за филтриране на крайни точки не се прилагат върху променливи на средата, персонализирани входове или крайна точка, която се създава динамично по време на изпълнение. Само статичните крайни точки се оценяват в дизайнерите на приложението, потока или чатбота. За повече информация вижте Известни ограничения.

Важно

Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.

Добавяне на правила за филтриране на крайни точки към вашите DLP правила

Колоната Конфигурируема крайна точка на страницата Предварително изградени конектори в Правила за данни показва дали възможността за филтриране на крайни точки се поддържа за конектора.

Крайна точка може да се конфигурира на страницата Предварително изградени конектори.

Ако стойността на Конфигуриране на крайна точка колоната е Да, можете да използвате тази възможност, като щракнете с десния бутон и след това изберете Конфигурирайте конектора>Крайни точки на конектора.

Конфигуриране на крайни точки на конектора > на конектора.

Това отваря страничен панел, където можете да посочите подреден списък с разрешени или отхвърлени URL модели. Последният ред в списъка винаги ще бъде правило за заместващия символ (*), което се прилага за всички крайни точки в този конектор. По подразбиране, моделът * е настроен като Разрешаване на нови DLP политики, но можете да го маркирате като Разрешаване или Отказ.

Задайте подреден списък с модели за разрешаване и отказване на URL адреси за персонализирани конектори.

Добавяне на нови правила

Можете да добавите нови правила, като изберете Добавяне на крайна точка. Новите правила се добавят в края на списъка с шаблони като предпоследно правило. Това е така, защото * винаги ще бъде последният запис в списъка. Можете обаче да актуализирате реда на моделите, като използвате падащия списък Поръчка или изберете Преместване нагоре или Преместване надолу.

Изберете Добавяне на крайна точка, за да добавите нови правила.

След като шаблон е добавен, можете да редактирате или изтриете тези модели, като изберете конкретен ред и след това изберете Изтриване.

Изтриване на шаблон.

След като запазите правилата за филтриране на крайните точки на конектора и DLP правилата, в които са дефинирани, те незабавно се налагат в целевите среди. По-долу е даден пример, при който създател се опитва да свърже своя поток за облак с HTTP крайна точка, която не е разрешена.

DLP грешка поради правила за филтриране на крайни точки.

Известни ограничения

  • Правилата за филтриране на крайни точки не се прилагат върху променливи на средата, персонализирани входове и динамично обвързани крайни точки по време на изпълнение. Прилагат се само статични крайни точки, известни и избрани при изграждането на приложение, поток или чатбот по време на проектиране. Това означава, че правилата за филтриране на крайни точки на конектора за SQL Server и Azure Blob Storage не се прилагат, ако връзките са удостоверени с Microsoft Entra ИД. В двете екранни снимки по-долу производителят е изградил поток за облак, който дефинира SQL Server и базата данни вътре в променливите и след това използва тези променливи като входни данни за дефиницията на връзката. Следователно правилата за филтриране на крайни точки не се оценяват и потокът за облак може да се изпълни успешно.

    поток за облак използва променливи за свързване към SQL.поток за облак работи успешно.

  • Някои Power Apps , публикувани преди 1 октомври 2020 г., трябва да бъдат публикувани отново, за да бъдат приложени правилата за действие на DLP конектора и правилата за крайни точки. Следният скрипт позволява на администраторите и създателите да идентифицират приложения, които трябва да бъдат публикувани повторно, за да спазят тези нови правила за подробен контрол на 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 
        }
    }
    

Формати и примери за въвеждане на крайни точки

Всеки конектор има различна представа за това какво означава крайна точка. Освен това някои крайни точки могат да бъдат дефинирани в множество формати. По тази причина крайните точки трябва да бъдат въведени във всички възможни формати, за да блокират производителите да ги използват, докато създават приложения и потоци. Администраторите могат или да въведат пълното име на крайната точка, или да използват модел, съвпадащ с заместващия знак (*) при създаване на правило за филтриране на крайна точка. Тези правила са въведени и представени в подреден списък от модели на крайни точки, което означава, че те ще бъдат оценени във възходящ ред по номер. Имайте предвид, че последното правило за всеки даден конектор винаги * е Разреши или * Откажи. Allow е по подразбиране, което може да бъде променено на Deny.

Следващите указания описват как да въведете крайните точки на конектора, докато създавате правила, които да ги разрешават или отказват.

SQL Server

Крайните точки за свързване на SQL Server трябва да бъдат изброени във формат <Server_name, database_name>. Няколко неща, които трябва да имате предвид:

  • Името на сървъра може да бъде въведено в различни формати от производителите. Следователно, за да се обърне истинска крайна точка, тя трябва да бъде въведена във всички възможни формати. Например, екземплярите локален могат да бъдат в <machine_name\named_instance, database_name> или <IP address, custom port, database_name> формат. В този случай ще трябва да приложите правила за разрешаване или блокиране и в двата формата за крайна точка. Например:

    • Блокиране на WS12875676\Servername1,MktingDB
    • Блокиране на 11.22.33.444,1401,MktingDB
  • Няма специална логика за обработка на относителни адреси като localhost. Следователно, ако блокирате *localhost*, ще блокира производителите да използват каквито и да е крайни точки, като използват localhost като част от крайната точка на SQL Server. Това обаче няма да им попречи да получат достъп до крайната точка, като използват абсолютния адрес, освен ако абсолютният адрес също не е блокиран от администратора.

Следват примери:

  • Разрешаване само на екземпляри на Azure SQL Server:

    1. Активиране на *.database.windows.net*
    2. Отказване на *
  • Разрешаване само на определен диапазон от IP адреси: (Имайте предвид, че IP адресите, които не са разрешени, все още могат да бъдат въведени от производителя във <machine_name\named_instance> формат.)

    1. Активиране на 11.22.33*
    2. Отказване на *

Dataverse

Dataverse крайните точки са представени от идентификатора наорганизацията, като например, 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Моля, обърнете внимание, че само редовният конектор на Dataverse в момента е в обхвата за филтриране на крайни точки. Динамиката на Dataverse и текущите конектори на Dataverse не са в обхвата. Също така локалният екземпляр на Dataverse (известен също като текущата среда) никога не може да бъде блокиран за използване в среда. Това означава, че в рамките на дадена среда производителите винаги имат достъп до настоящата среда на Dataverse.

Следователно правило, което гласи следното:

  1. Активиране на 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  2. Отказване на *

Всъщност означава:

  1. Активиране на Dataverse current environment
  2. Активиране на 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  3. Отказване на *

Разрешете Dataverse current environment винаги имплицитно да е първото правило в Dataverse списък за филтриране на крайни точки за всяка дадена среда.

Azure Blob Storage

Крайните точки на хранилището на Azure Blob Storage са представени от името на акаунта за съхранение на Azure.

SMTP

Крайните точки на SMTP са представени във формат на <SMTP server address, port number>.

По-долу е посочен примерен сценарий:

  1. Отказване на smtp.gmail.com,587
  2. Активиране на *

HTTP с Microsoft Entra ID, HTTP Webhook и HTTP конектори

Крайните точки за всички HTTP конектори са представени с URL модел. Действието Получаване на уеб ресурс на конектора HTTP с Microsoft Entra е извън обхвата.

По-долу е посочен примерен сценарий:

Разрешете достъп само до страницата с абонаменти за Azure в рамките на https://management.azure.com/.

  1. Активиране на https://management.azure.com/subscriptions*
  2. Отказване на https://management.azure.com/*
  3. Отказване на *

Поддръжка на PowerShell за филтриране на крайни точки

Конфигурирайте правилата за филтриране на крайна точка за политика

Обектът, който съдържа правила за филтриране на крайна точка, е посочен по -долу като конфигурации на конектора.

Обектът за конфигурации на конектори има следната структура:

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

Бележки

  • Последното правило за всеки конектор винаги трябва да се прилага към URL, * за да се гарантира, че всички URL адреси са обхванати от правилата.
  • Свойството order на правилата за всеки конектор трябва да бъде попълнено с номера от 1 до N, където N е броят на правилата за този конектор.

Извличане на съществуващи конфигурации на конектори за DLP политика

Get-PowerAppDlpPolicyConnectorConfigurations 

Създаване на конфигурации на конектори за DLP политика

New-PowerAppDlpPolicyConnectorConfigurations

Актуализиране на конфигурациите на конектора за DLP правила

Set-PowerAppDlpPolicyConnectorConfigurations

Пример

Цел:

За конектора SQL Server:

  • Отказ на базата данни „testdatabase“ на сървъра „myservername.database.windows.net“
  • Разрешаване на всички други бази данни на сървъра „myservername.database.windows.net“
  • Откажете всички други сървъри

За SMTP конектора:

  • Разрешаване на Gmail (адрес на сървъра: smtp.gmail.com, порт: 587)
  • Откажете всички други адреси

За HTTP конектора:

  • Разрешаване на крайни точки https://mywebsite.com/allowedPath1 и https://mywebsite.com/allowedPath2
  • Откажете всички други URL адреси

Бележка

В следната кратка команда PolicyNameсе отнася до уникалния GUID. Можете да извлечете DLP GUID, като изпълните Get-DlpPolicy cmdlet.

$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