Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Данная статья посвящена предварительному выпуску и может быть изменена.]
Фильтрация конечных точек соединителя позволяет администраторам управлять подключением конкретных конечных точек при создании приложений, потоков или чат-ботов. Он настраивается в политике данных и доступен исключительно для следующих соединителей:
- HTTP
- HTTP с Microsoft Entra ID (AD)
- Веб-перехватчик HTTP
- SQL Server (включает использование соединителя SQL Server для доступа к хранилищу данных Azure Synapse)
- Хранилище BLOB-объектов Azure
- SMTP
- Автоматизация браузера
- Автоматизация пользовательского интерфейса
Когда производитель подключает свое приложение, поток или чат-бот к заблокированной конечной точке, они видят сообщение об ошибке политики данных.
Предупреждение!
Правила фильтрации конечных точек не применяются к переменным среды, пользовательским входным данным или любой конечной точке, динамически созданной во время выполнения. В конструкторах приложений, потоков или чат-ботов с правилами сравниваются только статические конечные точки. Дополнительные сведения см. в описании известных ограничений.
Важно
- Это предварительная версия функции.
- Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Доступ к ним предоставляется до их официального выпуска, чтобы клиенты могли их оценить и обеспечить обратную связь. На эти функции распространяются дополнительные условия использования.
Добавление правил фильтрации конечных точек в политики данных
Настраиваемая колонка конечная точка на странице готовых соединителей в разделе Политики данных указывает, поддерживает ли соединитель возможность фильтрации конечной точки.
Если значение Настраиваемая конечная точка — Да, вы можете использовать эту возможность, щелкнув правой кнопкой мыши и выбрав Настроить соединитель>Конечные точки соединителя.
Откроется боковая панель, где вы укажете упорядоченный список шаблонов URL-адресов для разрешения или запрета. Последняя строка в списке — это правило для подстановочного знака (*), которое применяется ко всем конечным точкам в этом соединителе. По умолчанию шаблон * настроен как "Разрешить" для новых политик данных, но вы можете пометить его как "Разрешить" или "Запретить".
Добавление новых правил
Вы можете добавить новые правила, выбрав Добавить конечную точку. Новые правила добавляются в конец списка шаблонов в качестве второго к последнему правилу. Это связано с тем, что * последняя запись в списке. Однако вы также можете обновить порядок шаблонов, используя раскрывающийся список Порядок или выбрав Вверх или Вниз.
После добавления шаблона его можно изменить или удалить, выбрав определенную строку, а затем нажав кнопку "Удалить".
После сохранения правил фильтрации конечных точек соединителя и политики данных, в которой они определены, они мгновенно применяются в целевых средах. На следующем рисунке показан пример, когда производитель пытается подключить свой облачный поток к конечной точке HTTP, которая не разрешена.
Известные ограничения
Правила фильтрации конечных точек не применяются принудительно в переменных среды, пользовательских входных данных и динамически привязанных конечных точках во время выполнения. Применяются только статические конечные точки, известные и выбранные при создании приложения, потока или чат-бота во время разработки. Это означает, что правила фильтрации конечных точек соединителя для SQL Server и хранилища BLOB-объектов Azure не применяются, если подключения проходят проверку подлинности с помощью Microsoft Entra ID. На следующих двух снимках экрана производитель создает облачный поток, определяющий SQL Server и базу данных внутри переменных, а затем использует эти переменные в качестве входных данных для определения подключения. В результате правила фильтрации конечных точек не оцениваются, и поток облака успешно выполняется.
Power Apps, опубликованные до 1 октября 2020 года, необходимо повторно опубликовать, чтобы обеспечить соблюдение правил действий соединителя политики данных и правил конечной точки. Следующий скрипт позволяет администраторам и разработчикам определять приложения, которые должны быть повторно опубликованы для соблюдения этих новых правил управления политикой данных:
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 } }
Форматы ввода конечной точки и примеры
Каждый соединитель определяет конечную точку по-разному, а некоторые конечные точки могут находиться в нескольких форматах. Таким образом, необходимо указать конечные точки во всех возможных форматах, чтобы предотвратить их использование разработчиками при создании приложений и потоков. Администраторы могут ввести полное имя конечной точки или использовать шаблон, соответствующий подстановочным знаком (*) для создания правила фильтрации конечных точек. Эти правила вводятся и представлены в упорядоченном списке шаблонов конечных точек, что означает, что они оцениваются в порядке возрастания по числу. Последнее правило для любого соединителя всегда * Разрешить или * Запретить. «Разрешить» — это значение по умолчанию, которое можно изменить на «Запретить».
В следующем руководстве описывается, как вводить конечные точки соединителя при создании правил, разрешающих или запрещающих их.
Сервер 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:
- Разрешение
*.database.windows.net* - Отклонить
*
- Разрешение
Разрешить только определенный диапазон IP-адресов: (IP-адреса, которые не разрешены, по-прежнему могут быть введены создателем в
<machine_name\named_instance>формате.)- Разрешение
11.22.33* - Отклонить
*
- Разрешение
Dataverse
Конечные точки Dataverse представлены идентификатором организации, например 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Обратите внимание, что только обычный соединитель Dataverse в настоящее время находится в области фильтрации конечной точки. Dataverse Dynamics и текущие соединители Dataverse не рассматриваются. Кроме того, локальный экземпляр Dataverse (также известная как текущая среда) никогда не может быть заблокирован для использования в среде. Это означает, что создатели всегда могут получать доступ к текущей среде Dataverse в любой конкретной среде.
Поэтому правило, которое говорит:
- Разрешение
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Отклонить
*
Фактически означает:
- Разрешение
Dataverse current environment - Разрешение
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Отклонить
*
Разрешать Dataverse current environment всегда неявно является первым правилом в списке фильтрации конечной точки Dataverse для любой среды.
Хранилище BLOB-объектов Azure
Конечные точки Хранилище BLOB-объектов Azure используют имя учетной записи хранения Azure.
SMTP
Конечные точки SMTP представлены в формате <SMTP server address, port number>.
Рассмотрим пример сценария:
- Отклонить
smtp.gmail.com,587 - Разрешение
*
HTTP с Microsoft Entra ID, веб-перехватчик HTTP и соединители HTTP
Конечные точки соединителя HTTP используют шаблон URL-адреса. Действие Получить веб-ресурс HTTP с соединителем Microsoft Entra находится вне области.
Приведем пример сценария:
Разрешить доступ только к странице подписок Azure в https://management.azure.com/.
- Разрешение
https://management.azure.com/subscriptions* - Отклонить
https://management.azure.com/* - Отклонить
*
Автоматизация браузера
Эта функция позволяет управлять доступом классических потоков к веб-страницам в Power Automate для компьютеров. Конечные точки представлены либо в формате URL-адреса, либо в формате имени веб-страницы, и вы можете использовать подстановочные знаки для динамического сопоставления URL-адресов или имен страниц. Проверка выполняется во время действий "Запустить веб-браузер" или "Перейти на веб-страницу", прежде чем поток рабочего стола переходит к взаимодействию с браузером.
Заметка
Фильтрация конечных точек не проверяется, если действия "Запустить веб-браузер" настроены на присоединение к окну переднего плана. В таких случаях действие не блокируется, если только не запрещен доступ ко всем веб-страницам.
Рассмотрим пример сценария:
Разрешить доступ ко всем веб-страницам, за исключением URL-адреса https://www.contoso.com/ и любого URL-адреса или веб-страницы, содержащих строку powerplatform.
- Отклонить
https://www.contoso.com/ - Отклонить
*powerplatform* - Разрешение
*
Автоматизация пользовательского интерфейса
Эта функция позволяет определить, какие приложения и экраны рабочего потока могут взаимодействовать с Power Automate для настольных компьютеров. Конечные точки задаются с помощью имени процесса приложения. Если имя процесса — это ApplicationFrameHost, Java или Javaw, что указывает на приложение универсальной платформы Windows (UWP) или Java, где несколько экземпляров могут использовать одно и то же имя, Power Automate для настольных компьютеров использует как имя процесса, так и отображаемое имя окна для точного определения целевого объекта. Подстановочные знаки поддерживаются для гибкого сопоставления.
Проверка выполняется при любом действии в группе автоматизации пользовательского интерфейса. Он проверяет атрибут Process (указанный номер 1 на изображении) или атрибут Name (указанный номер 2 на изображении) в селекторе целевого экрана (как показано стрелкой на изображении). Обычно родительский элемент связанного пользовательского интерфейса используется для определения того, разрешено ли взаимодействие.
Правила фильтрации конечных точек не применяются к переменным или динамически привязанным конечным точкам. Если выражение содержит что-либо другое, кроме литеральной строки, фильтрация обходится, потенциально позволяя доступ к ограниченным аргументам соединителя. Поведение политики по умолчанию — все политики фильтрации конечных точек включают основное правило (разрешить * или запретить *), по умолчанию — разрешить * (разрешить все).
- Если параметр Allow * используется: динамические значения не фильтруются. Любое динамическое выражение обходит фильтрацию конечных точек, даже если определённые приложения ограничены.
- Если параметр Deny * используется: все динамические значения блокируются по умолчанию, обеспечивая более строгое применение.
Заметка
- Фильтрация конечных точек не применяется, если соответствующие атрибуты (процесс или имя) не являются частью селектора.
- Фильтрация конечных точек не поддерживается для определенных элементов пользовательского интерфейса операционной системы Windows, включая значки рабочего стола, кнопки панели задач и компоненты в меню "Пуск ".
Ниже приведен пример сценария. Чтобы разрешить доступ ко всем приложениям и экранам, за исключением тех, где атрибут Process или Name является точно калькулятором или содержит строку Java, можно настроить следующие правила:
- Отклонить
Calculator - Отклонить
*Java* - Разрешение
*
HTTP
Эта функция позволяет управлять конечными точками, к которым может обращаться поток рабочего стола при использовании действий HTTP в Power Automate для настольных компьютеров. Конечные точки определяются с помощью формата URL-адреса и можно использовать подстановочные знаки для гибкого сопоставления динамических URL-адресов.
Если запрошенная конечная точка нарушает заданные правила фильтрации, действие блокируется, а выполнение потока завершается ошибкой из-за нарушения политики.
Правила фильтрации конечных точек оцениваются по порядку на основе шаблонов разрешения и запрета, настроенных в политике защиты от потери данных (DLP).
Пример сценария: разрешить доступ ко всем конечным точкам, кроме URL-адреса https://www.contoso.com/ и любого URL-адреса, содержащего строку powerplatform.
- Отклонить
https://www.contoso.com/ - Отклонить
powerplatform - Разрешение
*
Поддержка 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-адреса охватываются правилами. - Свойство порядка правил для каждого соединителя должно использовать номера 1–N, где N — это число правил для этого соединителя.
Получение существующих настроек соединителя для политики данных
Get-PowerAppDlpPolicyConnectorConfigurations
Создание конфигураций соединителя для политики данных
New-PowerAppDlpPolicyConnectorConfigurations
Обновление конфигураций соединителя для политики данных
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. Получите GUID политики данных, выполнив командлет 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