Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Данная статья посвящена предварительному выпуску и может быть изменена.]
Фильтрация конечных точек соединителя позволяет администраторам управлять подключением конкретных конечных точек при создании приложений, потоков или чат-ботов. Он настраивается в политике данных и доступен исключительно для следующих соединителей:
- HTTP
- HTTP с Microsoft Entra ID (AD)
- Веб-перехватчик HTTP
- SQL Server (включает использование соединителя SQL Server для доступа к хранилищу данных Azure Synapse)
- Хранилище BLOB-объектов Azure
- SMTP
- Автоматизация браузера
- Автоматизация пользовательского интерфейса
Когда производитель подключает свое приложение, поток или чат-бот к заблокированной конечной точке, они видят сообщение об ошибке политики данных.
Предупреждение
Правила фильтрации конечных точек не применяются к переменным среды, пользовательским входным данным или любой конечной точке, динамически созданной во время выполнения. В конструкторах приложений, потоков или чат-ботов с правилами сравниваются только статические конечные точки. Дополнительные сведения см. в описании известных ограничений.
Внимание
- Это предварительная версия функции.
- Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Доступ к ним предоставляется до их официального выпуска, чтобы клиенты могли их оценить и обеспечить обратную связь. На эти функции распространяются дополнительные условия использования.
Добавление правил фильтрации конечных точек в политики данных
Настраиваемая колонка конечная точка на странице готовых соединителей в разделе Политики данных указывает, поддерживает ли соединитель возможность фильтрации конечной точки.
Если значение Настраиваемая конечная точка — Да, вы можете использовать эту возможность, щелкнув правой кнопкой мыши и выбрав Настроить соединитель>Конечные точки соединителя.
Откроется боковая панель, где вы укажете упорядоченный список шаблонов URL-адресов для разрешения или запрета. Последняя строка в списке — это правило для подстановочного знака (*), которое применяется ко всем конечным точкам в этом соединителе. По умолчанию шаблон настраивается как "Разрешить" в рамках новой политики данных, * но можно также указать его как "Разрешить" или "Запретить".
Добавление новых правил
Вы можете добавить новые правила, выбрав Добавить конечную точку. Новые правила добавляются в конец списка шаблонов в качестве второго к последнему правилу. Это связано с тем, что * последняя запись в списке. Однако вы также можете обновить порядок шаблонов, используя раскрывающийся список Порядок или выбрав Вверх или Вниз.
После добавления шаблона его можно изменить или удалить, выбрав определенную строку, а затем нажав кнопку "Удалить".
После сохранения правил фильтрации конечных точек соединителя и политики данных, в которой они определены, они мгновенно применяются в целевых средах. На следующем рисунке показан пример, когда производитель пытается подключить свой облачный поток к конечной точке HTTP, которая не разрешена.
Известные ограничения
Правила фильтрации конечных точек не применяются к переменным среды, пользовательским входным данным и динамически привязанным конечным точкам во время выполнения. Применяются только статические конечные точки, известные и выбранные при создании приложения, потока или чат-бота во время разработки. Это означает, что правила фильтрации конечных точек соединителя для SQL Server и хранилища BLOB-объектов Azure не применяются, если подключения проходят проверку подлинности с помощью идентификатора Microsoft Entra. На следующих двух снимках экрана производитель создает облачный поток, определяющий 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 Динамика и Dataverse токовые соединители не рассматриваются. Кроме того, локальный экземпляр Dataverse (также известная как текущая среда) никогда не может быть заблокирован для использования в среде. Это означает, что создатели всегда могут получать доступ к текущей среде Dataverse в любой конкретной среде.
Поэтому правило, которое говорит:
- Разрешение
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Отклонить
*
Фактически означает:
- Разрешение
Dataverse current environment - Разрешение
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Отклонить
*
Разрешать Dataverse current environment всегда неявно является первым правилом в списке фильтрации конечной точки Dataverse для любой среды.
Хранилище BLOB-объектов Azure
Конечные точки Azure Blob Storage используют имя учетной записи хранения 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.microsoft.com/ и любого URL-адреса или веб-страницы, содержащих строку powerplatform.
- Отклонить
https://www.microsoft.com/ - Отклонить
*powerplatform* - Разрешение
*
Автоматизация пользовательского интерфейса
Эта функция позволяет определить, какие приложения и экраны рабочего потока могут взаимодействовать с Power Automate для настольных компьютеров. Конечные точки задаются с помощью имени процесса приложения. Если имя процесса — это ApplicationFrameHost, Java или Javaw, что указывает на приложение универсальной платформы Windows (UWP) или Java, где несколько экземпляров могут использовать одно и то же имя, Power Automate для настольных компьютеров использует как имя процесса, так и отображаемое имя окна для точного определения целевого объекта. Подстановочные знаки поддерживаются для гибкого сопоставления.
Проверка выполняется при любом действии в группе автоматизации пользовательского интерфейса. Он проверяет атрибут Process (указанный номер 1 на изображении) или атрибут Name (указанный номер 2 на изображении) в селекторе целевого экрана (как показано стрелкой на изображении). Обычно родительский элемент связанного пользовательского интерфейса используется для определения того, разрешено ли взаимодействие.
Правила фильтрации конечных точек не применяются к переменным или динамически привязанным конечным точкам. Если выражение содержит что-либо другое, кроме литеральной строки, фильтрация обходится, потенциально позволяя доступ к ограниченным аргументам соединителя. Поведение политики по умолчанию — все политики фильтрации конечных точек включают основное правило (разрешить * или запретить *), по умолчанию — разрешить * (разрешить все).
- Если параметр Allow * используется: динамические значения не фильтруются. Любое динамическое выражение обходит фильтрацию конечных точек, даже если определённые приложения ограничены.
- Если параметр Deny * используется: все динамические значения блокируются по умолчанию, обеспечивая более строгое применение.
Примечание.
- Фильтрация конечных точек не применяется, если соответствующие атрибуты (процесс или имя) не являются частью селектора.
- Фильтрация конечных точек не поддерживается для определенных элементов пользовательского интерфейса операционной системы Windows, включая значки рабочего стола, кнопки панели задач и компоненты в меню "Пуск ".
Ниже приведен пример сценария. Чтобы разрешить доступ ко всем приложениям и экранам, за исключением тех, где атрибут Process или Name является точно калькулятором или содержит строку Java, можно настроить следующие правила:
- Отклонить
Calculator - Отклонить
*Java* - Разрешение
*
Поддержка 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