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.]

Lọc điểm cuối trình kết nối cho phép quản trị viên kiểm soát người tạo điểm cuối cụ thể nào có thể kết nối khi xây dựng ứng dụng, dòng hoặc chatbot. Nó được đặt cấu hình trong chính sách dữ liệu và chỉ có sẵn cho các trình kết nối sau:

  • HTTP
  • HTTP với 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
  • Tự động hóa trình duyệt
  • Tự động hóa giao diện người dùng

Khi người tạo 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ẽ thấy thông báo lỗi chính sách dữ liệu.

Cảnh báo

Quy tắc lọc điểm cuối không áp dụng cho 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 ứng dụng, luồng hoặc trình thiết kế chatbot. Để biết thêm thông tin, hãy xem Những hạn chế đã biết.

Quan trọng

  • Đây là một tính năng xem trước.
  • 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ế. Các tính năng này phải tuân theo các điều khoản sử dụng bổ sung và có sẵn trước khi 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 dữ liệu của bạn

Cột Có thể 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 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ể cấu hình trong trang 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 là Đú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.

Cấu hình điểm cuối của đầu nối > .

Thao tác này sẽ mở ra một bảng điều khiển bên nơi bạn chỉ định danh sách các mẫu URL Cho phép hoặc Từ chối theo thứ tự. Hàng cuối cùng trong danh sách 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 cho các chính sách dữ liệu mới, nhưng bạn có thể gắn thẻ là Cho phép hoặc Từ chối.

Chỉ định danh sách có thứ tự các mẫu URL Cho phép và Từ chối cho các 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 thứ hai đến cuối cùng. Điều này là do * 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 thêm mẫu, bạn có thể chỉnh sửa hoặc xóa mẫu đó bằng cách chọn một hàng cụ thể rồi chọn Xóa.

Xóa một mẫu.

Sau khi bạn 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 dữ liệu nơi 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. Hình ảnh sau đây cho thấy một ví dụ trong đó người tạo 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 chính sách dữ liệu do quy tắc lọc điểm cuối.

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

  • Các quy tắc lọc điểm cuối không được áp dụng 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à chọn khi xây dựng ứng dụng, quy trình hoặc chatbot trong thời gian thiết kế mới được thực thi. Điều này có nghĩa là quy tắc lọc điểm cuối trình kết nối 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 sau, người tạo xây dựng một luồng đám mây xác định SQL Server 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 đó, các quy tắc lọc điểm cuối không được đánh giá và luồng đám mây thực thi thành công.

    Ảnh chụp màn hình của luồng đám mây sử dụng các biến để kết nối với SQL.

    Ảnh chụp màn hình luồng đám mây đang chạy thành công.

  • Power Apps được phát hành trước ngày 1 tháng 10 năm 2020, cần được phát hành lại để thực thi các quy tắc hành động của trình kết nối chính sách dữ liệu và quy tắc điểm cuối. Tập lệnh sau đây 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 chính sách dữ liệu 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 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 
        }
    }
    

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

Mỗi trình kết nối xác định một điểm cuối khác nhau và một số điểm cuối có thể ở nhiều định dạng. Do đó, bạn phải nhập điểm cuối ở tất cả các định dạng có thể để chặn người tạo sử dụng chúng khi tạo ứng dụng và dò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 (*) để 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 danh sách các mẫu điểm cuối theo thứ tự, nghĩa là chúng được đánh giá theo thứ tự tăng dần theo số. Quy tắc cuối cùng cho bất kỳ trình kết nối 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

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

  • Người tạo có thể nhập tên máy chủ ở nhiều định dạng khác nhau. Để giải quyết một điểm cuối, hãy nhập điểm cuối đó ở tất cả các định dạng có thể. 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 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 như localhost. Do đó, nếu bạn chặn *localhost*, điều này sẽ chặn các maker 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, điều này không ngăn cả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.

Dưới đây là một số 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ể: (Các địa chỉ IP không được phép vẫn có thể được nhập bởi nhà sản xuất ở <machine_name\named_instance> định dạng.)

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

Dataverse

Điểm cuối Dataverse được thể hiện bằng ID tổ chức, chẳng hạn như 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Lưu ý rằng hiện tại chỉ có trình kết nối thông thường mới nằm trong phạm vi lọc điểm cuối. Dataverse Dataverse động lực học và các đầu nối hiện tại không nằm trong phạm vi. Dataverse 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à người tạo luôn có thể truy cập môi trường hiện tại của Dataverse trong bất kỳ môi trường nhất định nào.

Do đó, một quy tắc nói rằng:

  1. Cho phép 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  2. Từ chối *

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

  1. Cho phép Dataverse current environment
  2. Cho phép 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  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

Điểm cuối Lưu trữ Azure Blob sử dụ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>.

Dưới đây là một tình huống ví dụ:

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

HTTP với ID Microsoft Entra , HTTP Webhook và các kết nối HTTP

Điểm cuối trình kết nối HTTP sử dụng mẫu URL. Hành động Lấy tài nguyên web của HTTP với Microsoft Entra trình kết nối nằm ngoài phạm vi.

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

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 *

Tự động hóa trình duyệt

Tính năng này cho phép bạn kiểm soát các trang web mà dòng máy tính truy cập trong Power Automate dành cho máy tính để bàn. Các điểm cuối được biểu diễn theo định dạng URL hoặc định dạng tên trang web và bạn có thể sử dụng ký tự đại diện để khớp URL động hoặc tên trang. Xác thực xảy ra trong các hành động "Khởi chạy trình duyệt web" hoặc "Truy cập trang web" trước khi quy trình máy tính để bàn tiến hành tương tác với trình duyệt.

Lưu ý

Lọc điểm cuối không được xác thực khi hành động "Khởi chạy trình duyệt web" được cấu hình để đính kèm vào cửa sổ nền trước. Trong những trường hợp như vậy, hành động sẽ không bị chặn trừ khi quyền truy cập vào tất cả các trang web bị từ chối.

Dưới đây là một tình huống ví dụ:

Cho phép truy cập vào tất cả các trang web ngoại trừ URL https://www.contoso.com/ và bất kỳ URL hoặc trang web nào có chứa chuỗi powerplatform.

  1. Từ chối https://www.contoso.com/
  2. Từ chối *powerplatform*
  3. Cho phép *

Tự động hóa giao diện người dùng

Tính năng này cho phép bạn xác định ứng dụng và màn hình mà dòng máy tính để bàn có thể tương tác trong Power Automate dành cho máy tính để bàn. Điểm cuối được chỉ định bằng cách sử dụng tên quy trình của ứng dụng. Khi tên quy trình là ApplicationFrameHost, Java hoặc Javaw—cho biết Ứng dụng Nền tảng Windows Chung (UWP) hoặc Java trong đó nhiều phiên bản có thể chia sẻ cùng tên—Power Automate dành cho máy tính sử dụng cả tên quy trình và tên hiển thị cửa sổ để xác định chính xác đích. Các ký tự đại diện được hỗ trợ để kết hợp linh hoạt.

Xác thực xảy ra trên bất kỳ hành động nào trong nhóm tự động hóa giao diện người dùng. Nó kiểm tra thuộc tính Process (được biểu thị bằng số 1 trong hình ảnh) hoặc thuộc tính Name (được biểu thị bằng số 2 trong hình ảnh) trong bộ chọn của màn hình được nhắm mục tiêu (như được hiển thị bằng mũi tên trong hình ảnh). Thông thường, cha của các thành phần giao diện người dùng có liên quan được sử dụng để xác định xem tương tác có được phép hay không.

Bộ chọn màn hình

Quy tắc lọc điểm cuối không áp dụng cho các biến hoặc điểm cuối bị ràng buộc động. Nếu một biểu thức bao gồm bất kỳ thứ gì khác ngoài một chuỗi nghĩa đen, thì tính năng lọc sẽ bị bỏ qua—có khả năng cho phép truy cập vào các đối số trình kết nối bị hạn chế. Hành vi chính sách mặc định là tất cả các chính sách lọc điểm cuối đều bao gồm một quy tắc cốt lõi (Cho phép * hoặc Từ chối *), mặc định là Cho phép * (Cho phép tất cả).

  • Khi sử dụng Cho phép * : Giá trị động không được lọc. Bất kỳ biểu thức động nào cũng bỏ qua tính năng lọc điểm cuối, ngay cả khi các ứng dụng cụ thể bị hạn chế.
  • Khi sử dụng Từ chối * : Tất cả các giá trị động đều bị chặn theo mặc định, đảm bảo thực thi nghiêm ngặt hơn.

Lưu ý

  • Lọc điểm cuối không được thực thi nếu các thuộc tính có liên quan (Quy trình hoặc Tên) không phải là một phần của bộ chọn.
  • Tính năng lọc điểm cuối không được hỗ trợ cho một số thành phần giao diện người dùng của hệ điều hành Windows, bao gồm biểu tượng màn hình nền, nút trên thanh tác vụ và các thành phần trong menu Bắt đầu .

Đây là một tình huống ví dụ. Để cho phép truy cập vào tất cả các ứng dụng và màn hình, ngoại trừ những ứng dụng và màn hình có thuộc tính Process hoặc Name chính xác là Calculator hoặc chứa chuỗi Java, bạn sẽ cấu hình các quy tắc sau:

  1. Từ chối Calculator
  2. Từ chối *Java*
  3. Cho phép *

HTTP

Tính năng này cho phép bạn kiểm soát các điểm cuối mà dòng máy tính để bàn có thể truy cập khi sử dụng các hành động HTTP trong Power Automate dành cho máy tính để bàn. Điểm cuối được xác định bằng định dạng URL và bạn có thể sử dụng ký tự đại diện để so khớp linh hoạt các URL động.

Nếu điểm cuối được yêu cầu vi phạm các quy tắc lọc đã xác định, hành động sẽ bị chặn và luồng không thành công do vi phạm chính sách.

Quy tắc lọc điểm cuối được đánh giá theo thứ tự, dựa trên các mẫu cho phép và từ chối được đặt cấu hình trong chính sách ngăn mất dữ liệu (DLP).

Tình huống ví dụ: Cho phép truy cập vào tất cả các điểm cuối ngoại trừ URL https://www.contoso.com/ và bất kỳ URL nào có chứa chuỗi powerplatform.

  1. Từ chối https://www.contoso.com/
  2. Từ chối powerplatform
  3. Cho phép *

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

Đối tượng chứa các 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 áp dụng cho URL * để đảm bảo rằng tất cả các URL đều nằm trong phạm vi điều chỉnh của các 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 sử dụ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 dữ liệu

Get-PowerAppDlpPolicyConnectorConfigurations 

Tạo cấu hình trình kết nối cho chính sách dữ liệu

New-PowerAppDlpPolicyConnectorConfigurations

Cập nhật cấu hình trình kết nối cho chính sách dữ liệu

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 các điểm cuối https://mywebsite.com/allowedPath1 và https://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. Truy xuất GUID chính sách dữ liệu 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