Lọc điểm cuối trình kết nối (bản xem trước)

[Bài viết này là tài liệu trước khi phát hành và có thể thay đổi.]

Tính năng lọc điểm cuối của trình kết nối cho phép quản trị viên quản lý những nhà sản xuất điểm cuối cụ thể nào có thể kết nối khi xây dựng ứng dụng, quy trình hoặc chatbot. Nó được định cấu hình trong chính sách ngăn ngừa mất dữ liệu (DLP) và chỉ có sẵn cho sáu trình kết nối:

  • HTTP
  • HTTP có Microsoft Entra ID (AD)
  • Webhook HTTP
  • SQL Server (bao gồm việc sử dụng SQL Server Connector để truy cập Azure Synapse kho dữ liệu)
  • Azure Blob Storage
  • SMTP

Khi người tạo cố gắng kết nối ứng dụng, quy trình hoặc chatbot của họ với điểm cuối bị chặn, họ sẽ gặp phải thông báo lỗi DLP.

Cảnh báo

Quy tắc lọc điểm cuối không được thực thi trên các biến môi trường, đầu vào tùy chỉnh hoặc bất kỳ điểm cuối nào được tạo động trong thời gian chạy. Chỉ các điểm cuối tĩnh mới được đánh giá trong các nhà thiết kế ứng dụng, quy trình hoặc chatbot. Để biết thêm thông tin, hãy xem Các hạn chế đã biết.

Quan trọng

Các tính năng xem trước không được dùng cho sản xuất và có thể có chức năng bị hạn chế. Những tính năng này khả dụng trước khi có bản phát hành chính thức để khách hàng có thể truy cập sớm và cung cấp phản hồi.

Thêm quy tắc lọc điểm cuối vào chính sách DLP của bạn

Cột Có thể định cấu hình điểm cuối trên trang Trình kết nối dựng sẵn trong Chính sách dữ liệu, cho biết liệu khả năng lọc điểm cuối có được hỗ trợ cho trình kết nối hay không.

Điểm cuối có thể định cấu hình trong trang Trình kết nối dựng sẵn.

Nếu giá trị của cột Điểm cuối có thể định cấu hìnhĐúng, bạn có thể sử dụng khả năng này bằng cách nhấp chuột phải và sau đó chọn Định cấu hình trình kết nối>Điểm cuối của trình kết nối.

Định cấu hình điểm cuối của trình kết nối > .

Thao tác này sẽ mở ra một bảng điều khiển bên, tại đây, bạn có thể chỉ định danh sách có thứ tự các mẫu URL Cho phép hoặc Từ chối cho các trình kết nối tùy chỉnh. Hàng cuối cùng trong danh sách sẽ luôn là quy tắc cho ký tự đại diện (*), áp dụng cho tất cả các điểm cuối trong trình kết nối đó. Theo mặc định, mẫu * được thiết lập là Cho phép đối với các chính sách DLP mới, nhưng bạn có thể gắn thẻ mẫu này là Cho phép hoặc Từ chối.

Chỉ định danh sách theo thứ tự các mẫu URL Cho phép và Từ chối cho trình kết nối tùy chỉnh.

Thêm quy tắc mới

Bạn có thể thêm các quy tắc mới bằng cách chọn Thêm điểm cuối. Các quy tắc mới được thêm vào cuối danh sách mẫu dưới dạng quy tắc từ thứ hai đến cuối cùng. Điều này là do * sẽ luôn là mục cuối cùng trong danh sách. Tuy nhiên, bạn có thể cập nhật thứ tự của các mẫu bằng cách sử dụng danh sách thả xuống Thứ tự hoặc chọn Di chuyển lên hoặc Di chuyển xuống.

Chọn Thêm điểm cuối để thêm quy tắc mới.

Sau khi một mẫu đã được thêm vào, bạn có thể chỉnh sửa hoặc xóa các mẫu này bằng cách chọn một hàng cụ thể và chọn Xóa.

Xóa một mẫu.

Sau khi lưu các quy tắc lọc điểm cuối của trình kết nối và chính sách DLP mà chúng được xác định, chúng sẽ được thực thi ngay lập tức trên các môi trường được nhắm mục tiêu. Dưới đây là ví dụ trong đó nhà sản xuất cố gắng kết nối luồng đám mây của họ với điểm cuối HTTP không được phép.

Lỗi DLP do quy tắc lọc điểm cuối.

Các hạn chế đã biết

  • Quy tắc lọc điểm cuối không được thực thi trên các biến môi trường, đầu vào tùy chỉnh và điểm cuối được liên kết động trong thời gian chạy. Chỉ các điểm cuối tĩnh đã biết và được chọn khi xây dựng ứng dụng, dòng hoặc chatbot trong thời gian thiết kế mới được thực thi. Điều này ngụ ý rằng các quy tắc lọc điểm cuối của trình kết nối dành cho SQL Server và Azure Blob Storage không được thực thi nếu các kết nối được xác thực bằng Microsoft Entra ID. Trong hai ảnh chụp màn hình bên dưới, người tạo đã xây dựng một luồng đám mây xác định Máy chủ SQL và cơ sở dữ liệu bên trong các biến, sau đó sử dụng các biến đó làm đầu vào cho định nghĩa kết nối. Do đó, quy tắc lọc điểm cuối không được đánh giá và luồng đám mây có thể thực thi thành công.

    Luồng đám mây sử dụng các biến để kết nối với SQL.Luồng đám mây chạy thành công.

  • Một số Power Apps được xuất bản trước ngày 1 tháng 10 năm 2020 cần được xuất bản lại để thực thi các quy tắc hành động của trình kết nối DLP và quy tắc điểm cuối. Dưới đây là tập lệnh cho phép quản trị viên và người tạo xác định các ứng dụng phải được phát hành lại để tuân thủ các quy tắc kiểm soát chi tiết DLP mới này:

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

Các định dạng và ví dụ về đầu vào điểm cuối

Mỗi trình kết nối có một khái niệm riêng về ý nghĩa của điểm cuối. Hơn nữa, một số điểm cuối có thể được xác định ở nhiều định dạng. Vì vậy, các điểm cuối phải được nhập ở tất cả các định dạng khả dĩ để ngăn người tạo sử dụng chúng trong khi tạo ứng dụng và luồng. Quản trị viên có thể nhập tên điểm cuối đầy đủ hoặc sử dụng đối sánh mẫu với ký tự đại diện (*) khi tạo quy tắc lọc điểm cuối. Các quy tắc này được nhập và trình bày trong một danh sách có thứ tự các mẫu điểm cuối, có nghĩa là chúng sẽ được đánh giá theo thứ tự tăng dần theo số. Lưu ý rằng quy tắc cuối cùng cho bất kỳ trình kết nối cụ thể nào luôn là * Cho phép hoặc * Từ chối. Cho phép là mặc định, có thể thay đổi thành Từ chối.

Hướng dẫn sau đây mô tả cách nhập điểm cuối của trình kết nối trong khi tạo quy tắc để cho phép hoặc từ chối chúng.

SQL Server

Các điểm cuối kết nối SQL Server phải được liệt kê ở định dạng <Server_name, database_name>. Một số điều cần ghi nhớ:

  • Tên máy chủ có thể được nhập ở nhiều định dạng khác nhau bởi người tạo. Do đó, để thực sự xử lý một điểm cuối, cần nhập điểm cuối đó ở tất cả các định dạng khả dĩ. Ví dụ: các phiên bản tại chỗ có thể thuộc định dạng <machine_name\named_instance, database_name> hoặc <IP address, custom port, database_name>. Trong trường hợp này, bạn sẽ phải áp dụng quy tắc cho phép hoặc chặn ở cả hai định dạng cho một điểm cuối. Ví dụ:

    • Chặn WS12875676\Servername1,MktingDB
    • Chặn 11.22.33.444,1401,MktingDB
  • Không có logic đặc biệt nào để xử lý các địa chỉ tương đối chẳng hạn như localhost. Do đó, nếu bạn chặn *localhost*, nó sẽ chặn những người tạo sử dụng bất kỳ điểm cuối nào bằng cách sử dụng localhost như một phần của điểm cuối SQL Server. Tuy nhiên, nó sẽ không ngăn họ truy cập điểm cuối bằng cách sử dụng địa chỉ tuyệt đối, trừ khi địa chỉ tuyệt đối cũng đã bị quản trị viên chặn.

Sau đây là những ví dụ:

  • Chỉ cho phép các phiên bản Azure SQL Server:

    1. Cho phép *.database.windows.net*
    2. Từ chối *
  • Chỉ cho phép một dải IP cụ thể: (Lưu ý rằng nhà sản xuất vẫn có thể nhập những địa chỉ IP không được phép ở định dạng <machine_name\named_instance> .)

    1. Cho phép 11.22.33*
    2. Từ chối *

Dataverse

Dataverse điểm cuối được biểu thị bằng ID tổ chức, chẳng hạn như 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Xin lưu ý rằng chỉ có trình kết nối Dataverse thông thường hiện đang trong phạm vi lọc điểm cuối. Các trình kết nối hiện tại của Dataverse dynamics và Dataverse không nằm trong phạm vi. Ngoài ra, phiên bản cục bộ của Dataverse (còn được gọi là môi trường hiện tại) không bao giờ bị chặn để sử dụng trong một môi trường. Điều này có nghĩa là trong bất kỳ môi trường nhất định nào, người tạo luôn có thể truy cập vào môi trường hiện tại của Dataverse.

Do đó, một quy tắc cho biết như sau:

  1. Cho phép 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  2. Từ chối *

Thực tế có nghĩa là:

  1. Cho phép Dataverse current environment
  2. Cho phép 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  3. Từ chối *

Cho phép Dataverse current environment luôn ngầm định là quy tắc đầu tiên trong danh sách lọc điểm cuối Dataverse cho bất kỳ môi trường nhất định nào.

Azure Blob Storage

Các điểm cuối của Azure Blob Storage được biểu thị bằng tên tài khoản lưu trữ Azure.

SMTP

Điểm cuối SMTP được biểu thị ở định dạng <SMTP server address, port number>.

Sau đây là tình huống ví dụ:

  1. Từ chối smtp.gmail.com,587
  2. Cho phép *

HTTP có Microsoft Entra ID, HTTP Webhook và trình kết nối HTTP

Các điểm cuối cho tất cả các trình kết nối HTTP được biểu thị bằng một mẫu URL. Hành động Nhận tài nguyên web của HTTP bằng trình kết nối Microsoft Entra nằm ngoài phạm vi.

Sau đây là tình huống ví dụ:

Chỉ cho phép truy cập vào trang đăng ký Azure trong https://management.azure.com/.

  1. Cho phép https://management.azure.com/subscriptions*
  2. Từ chối https://management.azure.com/*
  3. Từ chối *

Hỗ trợ PowerShell để lọc điểm cuối

Định cấu hình các quy tắc lọc điểm cuối cho một chính sách

Trong phần bên dưới, đối tượng chứa quy tắc lọc điểm cuối cho một chính sách được gọi là cấu hình trình kết nối.

Đối tượng cấu hình của trình kết nối có cấu trúc sau:

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

Ghi chú

  • Quy tắc cuối cùng cho mỗi trình kết nối phải luôn được áp dụng cho URL * để đảm bảo rằng tất cả các URL đều tuân thủ quy tắc.
  • Thuộc tính thứ tự của các quy tắc cho mỗi trình kết nối phải được điền bằng các số từ 1 đến N, trong đó N là số quy tắc cho trình kết nối đó.

Truy xuất cấu hình trình kết nối hiện có cho chính sách DLP

Get-PowerAppDlpPolicyConnectorConfigurations 

Tạo cấu hình trình kết nối cho một chính sách DLP

New-PowerAppDlpPolicyConnectorConfigurations

Cập nhật cấu hình trình kết nối cho một chính sách DLP

Set-PowerAppDlpPolicyConnectorConfigurations

Ví dụ:

Mục tiêu:

Đối với trình kết nối SQL Server:

  • Từ chối cơ sở dữ liệu "testdatabase" của máy chủ "myservername.database.windows.net"
  • Cho phép tất cả các cơ sở dữ liệu khác của máy chủ “myservername.database.windows.net”
  • Từ chối tất cả các máy chủ khác

Đối với trình kết nối SMTP:

  • Cho phép Gmail (địa chỉ máy chủ: smtp.gmail.com, cổng: 587)
  • Từ chối tất cả các địa chỉ khác

Đối với trình kết nối HTTP:

  • Cho phép điểm cuối https://mywebsite.com/allowedPath1https://mywebsite.com/allowedPath2
  • Từ chối tất cả các URL khác

Lưu ý

Trong lệnh ghép ngắn dưới đây, PolicyName là GUID duy nhất. Bạn có thể truy xuất DLP GUID bằng cách chạy lệnh ghép ngắn 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