Pemfilteran titik akhir konektor (pratinjau)

[Artikel ini adalah dokumentasi prarilis dan dapat berubah.]

Pemfilteran titik akhir konektor memungkinkan administrator mengatur titik akhir tertentu yang dapat dihubungkan oleh pembuat saat membangun aplikasi, alur, atau chatbot. Ini dikonfigurasi dalam kebijakan terkait data, dan khusus tersedia untuk konektor berikut:

  • HTTP
  • HTTP dengan Microsoft Entra ID (AD)
  • HTTP Webhook
  • SQL Server (termasuk menggunakan SQL Server Connector untuk mengakses gudang data Azure Synapse)
  • Azure Blob Storage
  • SMTP
  • Automasi Browser
  • Otomatisasi UI

Saat pembuat menghubungkan aplikasi, alur, atau chatbot mereka ke titik akhir yang diblokir, mereka melihat pesan kesalahan kebijakan data.

Peringatan

Aturan pemfilteran titik akhir tidak berlaku untuk variabel lingkungan, input kustom, atau titik akhir apa pun yang dibuat secara dinamis saat runtime. Hanya titik akhir statis yang dievaluasi dalam desainer aplikasi, alur, atau chatbot. Untuk informasi lebih lanjut, lihat Batasan umum.

Penting

  • Ini adalah fitur pratinjau.
  • Fitur pratinjau tidak dimaksudkan untuk digunakan dalam produksi dan fungsinya mungkin terbatas. Fitur-fitur ini tunduk pada ketentuan penggunaan tambahan, dan tersedia sebelum rilis resmi agar pelanggan bisa mengaksesnya lebih awal dan memberikan tanggapan.

Menambahkan aturan pemfilteran titik akhir ke kebijakan data Anda

Kolom Titik Akhir yang dapat dikonfigurasi pada halaman Konektor Bawaan dalam Kebijakan Data menunjukkan apakah kemampuan pemfilteran titik akhir didukung untuk konektor.

Titik akhir yang dapat dikonfigurasi di halaman Konektor Pra-bangun.

Jika nilai kolom Titik akhir dapat dikonfigurasi adalah Ya, Anda dapat menggunakan kemampuan ini dengan mengeklik kanan dan kemudian Konfigurasikan Konektor>Titik akhir konektor.

Konfigurasikan konektor > Titik akhir Konektor.

Ini membuka panel samping tempat Anda menentukan daftar pola Izinkan atau Tolak URL yang diurutkan. Baris terakhir dalam daftar adalah aturan untuk karakter wildcard (*) yang berlaku untuk semua endpoint pada konektor tersebut. Secara default, pola * diatur sebagai Izinkan untuk kebijakan data baru, namun Anda dapat menandainya sebagai Izinkan atau Tolak.

Menentukan daftar urutan pola Izinkan dan Tolak URL untuk konektor kustom.

Tambah aturan baru

Anda dapat menambahkan aturan baru dengan memilih Tambah titik akhir. Aturan baru ditambahkan ke akhir daftar pola sebagai aturan kedua hingga terakhir. Ini karena * adalah entri terakhir dalam daftar. Namun, Anda dapat memperbarui urutan pola menggunakan daftar dropdown Urutan atau memilih Pindahkan ke Atas atau Pindahkan ke Bawah.

Pilih Tambah titik akhir untuk menambahkan aturan baru.

Setelah menambahkan pola, Anda dapat mengedit atau menghapusnya dengan memilih baris tertentu lalu memilih Hapus.

Menghapus pola.

Setelah Anda menyimpan aturan pemfilteran titik akhir konektor dan kebijakan data tempat aturan tersebut ditentukan, aturan tersebut langsung diberlakukan pada lingkungan yang ditargetkan. Gambar berikut menunjukkan contoh di mana pembuat mencoba menyambungkan alur cloud mereka ke titik akhir HTTP yang tidak diizinkan.

Kesalahan kebijakan data karena aturan pemfilteran titik akhir.

Pembatasan yang diketahui

  • Aturan pemfilteran titik akhir tidak dilakukan pada variabel lingkungan, input khusus, dan titik akhir yang dibatasi secara dinamis selama runtime. Hanya titik akhir statis yang diketahui dan dipilih saat membuat aplikasi, alur, atau chatbot selama waktu desain yang diterapkan. Ini berarti aturan pemfilteran titik akhir konektor untuk SQL Server dan Azure Blob Storage tidak diberlakukan jika koneksi diautentikasi dengan ID Microsoft Entra. Dalam dua cuplikan layar berikut, pembuat membangun alur cloud yang menentukan SQL Server dan database di dalam variabel, lalu menggunakan variabel tersebut sebagai input ke definisi koneksi. Akibatnya, aturan pemfilteran titik akhir tidak dievaluasi, dan alur cloud berhasil dijalankan.

    Cuplikan layar aliran cloud yang menggunakan variabel untuk menyambungkan ke SQL.

    Tangkapan layar dari alur cloud yang berjalan dengan sukses.

  • Power Apps yang diterbitkan sebelum 1 Oktober 2020, perlu diterbitkan ulang supaya aturan tindakan konektor kebijakan data dan aturan titik akhir dilaksanakan. Skrip berikut memungkinkan admin dan pembuat mengidentifikasi aplikasi yang harus diterbitkan ulang untuk mematuhi aturan kontrol terperinci kebijakan data baru ini:

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

Contoh dan Format input Titik akhir

Setiap konektor mendefinisikan titik akhir secara berbeda, dan beberapa titik akhir dapat dalam beberapa format. Karena itu, titik akhir harus dimasukkan dalam semua format yang dapat dilakukan agar pembuat tidak menggunakannya saat membuat aplikasi dan alur. Admin dapat memasukkan nama titik akhir lengkap atau menggunakan pencocokan pola dengan karakter kartubebas (*) untuk membuat aturan pemfilteran titik akhir. Aturan ini dimasukkan dan disajikan dalam daftar pola titik akhir yang diurutkan, yang berarti bahwa aturan tersebut dievaluasi dalam urutan naik berdasarkan angka. Aturan terakhir untuk konektor tertentu selalu * Izinkan atau * Tolak. Izinkan adalah default, yang dapat diubah menjadi Tolak.

Panduan berikut menjelaskan cara memasukkan titik akhir konektor saat membuat aturan untuk mengizinkan atau menolaknya.

SQL Server

Mencantumkan titik akhir koneksi SQL Server dalam <Server_name, database_name> format. Beberapa hal yang perlu diingat:

  • Pembuat dapat memasukkan nama server dalam berbagai format. Untuk menentukan titik akhir, masukkan dalam semua format yang mungkin. Contohnya, instans lokal dapat dalam format <machine_name\named_instance, database_name> atau <IP address, custom port, database_name>. Dalam kasus ini, Anda harus menerapkan aturan izinkan atau blokir di kedua format untuk titik akhir. Contoh:

    • Blokir WS12875676\Servername1,MktingDB
    • Blokir 11.22.33.444,1401,MktingDB
  • Tidak ada logika khusus yang menangani alamat relatif seperti localhost. Oleh karena itu, jika Anda memblokir *localhost*, ini memblokir pembuat agar tidak menggunakan titik akhir apa pun dengan menggunakan localhost sebagai bagian dari titik akhir SQL Server. Namun, hal ini tidak akan menghentikan mereka mengakses titik akhir menggunakan alamat absolut, kecuali jika alamat absolut juga telah diblokir oleh admin.

Berikut adalah beberapa contoh:

  • Bolehkan hanya instans Azure SQL Server:

    1. Bolehkan *.database.windows.net*
    2. Tolak *
  • Izinkan hanya rentang IP tertentu: (Alamat IP yang tidak diizinkan masih dapat dimasukkan oleh pembuat dalam <machine_name\named_instance> format.)

    1. Bolehkan 11.22.33*
    2. Tolak *

Dataverse

Titik akhir dataverse diwakili oleh ID organisasi, seperti 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Perlu diketahui bahwa hanya konektor Dataverse biasa yang saat ini ada dalam cakupan untuk pemfilteran titik akhir. Dinamika Dataverse dan Dataverse konektor saat ini tidak berada dalam cakupan. Selain itu, instans lokal Dataverse (juga dikenal sebagai lingkungan saat ini) tidak akan pernah diblokir untuk digunakan dalam lingkungan. Ini berarti pembuat selalu dapat mengakses lingkungan saat ini Dataverse dalam lingkungan tertentu.

Oleh karena itu, aturan yang mengatakan:

  1. Bolehkan 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  2. Tolak *

Sebenarnya berarti:

  1. Bolehkan Dataverse current environment
  2. Bolehkan 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  3. Tolak *

Izinkan Dataverse current environment selalu secara implisit menjadi aturan pertama dalam daftar pemfilteran titik akhir untuk lingkungan tertentu.

Azure Blob Storage

Titik akhir Azure Blob Storage menggunakan nama akun penyimpanan Azure.

SMTP

Titik akhir SMTP dinyatakan dalam format <SMTP server address, port number>.

Berikut adalah contoh skenario:

  1. Tolak smtp.gmail.com,587
  2. Bolehkan *

HTTP dengan Microsoft Entra ID, HTTP Webhook, dan konektor HTTP

Titik akhir konektor HTTP menggunakan pola URL. Tindakan Dapatkan sumber daya web HTTP dengan konektor Microsoft Entra di luar cakupan.

Berikut adalah contoh skenario:

Bolehkan akses hanya ke halaman langganan Azure dalam https://management.azure.com/.

  1. Bolehkan https://management.azure.com/subscriptions*
  2. Tolak https://management.azure.com/*
  3. Tolak *

Automasi Browser

Fitur ini memungkinkan Anda mengontrol halaman web yang diakses alur desktop di Power Automate untuk desktop. Titik akhir direpresentasikan dalam format URL atau format nama halaman web, dan Anda dapat menggunakan karakter pengganti untuk pencocokan URL dinamis atau nama halaman. Validasi terjadi selama tindakan "Luncurkan Browser Web" atau "Buka halaman web" sebelum alur desktop dilanjutkan dengan interaksi browser.

Catatan

Pemfilteran titik akhir tidak divalidasi saat tindakan "Luncurkan Browser Web" dikonfigurasi untuk dilampirkan ke jendela latar depan. Dalam kasus seperti itu, tindakan tidak diblokir kecuali akses ke semua halaman web ditolak.

Berikut adalah contoh skenario:

Izinkan akses ke semua halaman web kecuali URL https://www.contoso.com/ dan URL atau halaman web apa pun yang berisi string powerplatform.

  1. Tolak https://www.contoso.com/
  2. Tolak *powerplatform*
  3. Bolehkan *

Otomatisasi UI

Fitur ini memungkinkan Anda menentukan aplikasi dan layar mana yang dapat berinteraksi dengan aliran desktop di Power Automate untuk desktop. Titik akhir ditentukan menggunakan nama proses aplikasi. Ketika nama proses adalah ApplicationFrameHost, Java, atau Javaw—menunjukkan aplikasi Universal Windows Platform (UWP) atau Java di mana beberapa instans dapat berbagi nama yang sama—Power Automate untuk desktop menggunakan nama proses dan nama tampilan jendela untuk mengidentifikasi target secara akurat. Wildcard didukung untuk pencocokan fleksibel.

Validasi terjadi pada tindakan apa pun dalam grup otomatisasi UI. Ini memeriksa atribut Proses (ditunjukkan oleh angka 1 dalam gambar) atau atribut Nama (ditunjukkan oleh angka 2 dalam gambar) di pemilih layar yang ditargetkan (seperti yang ditunjukkan oleh panah dalam gambar). Biasanya induk elemen UI terkait digunakan untuk menentukan apakah interaksi diizinkan.

Pemilih layar

Aturan pemfilteran titik akhir tidak berlaku untuk variabel atau titik akhir yang terikat secara dinamis. Jika ekspresi menyertakan apa pun selain string literal, pemfilteran dilewati—berpotensi mengizinkan akses ke argumen konektor terbatas. Perilaku kebijakan default adalah semua kebijakan pemfilteran titik akhir mencakup aturan inti (Izinkan * atau Tolak *), yang mengarah ke Izinkan * (Izinkan Semua).

  • Saat Izinkan * digunakan: Nilai dinamis tidak difilter. Ekspresi dinamis apa pun melewati pemfilteran titik akhir, bahkan jika aplikasi tertentu dibatasi.
  • Saat Tolak * digunakan: Semua nilai dinamis diblokir secara default, memastikan penegakan yang lebih ketat.

Catatan

  • Pemfilteran titik akhir tidak diterapkan jika atribut yang relevan (Proses atau Nama) bukan bagian dari selektor.
  • Pemfilteran titik akhir tidak didukung untuk elemen UI sistem operasi Windows tertentu, termasuk ikon desktop, tombol taskbar, dan komponen dalam menu Mulai .

Berikut adalah contoh skenario. Untuk mengizinkan akses ke semua aplikasi dan layar, kecuali di mana atribut Proses atau Nama persis Kalkulator atau berisi string Java, Anda akan mengonfigurasi aturan berikut:

  1. Tolak Calculator
  2. Tolak *Java*
  3. Bolehkan *

HTTP

Fitur ini memungkinkan Anda mengontrol titik akhir yang dapat diakses alur desktop saat menggunakan tindakan HTTP di Power Automate untuk desktop. Endpoint ditentukan menggunakan format URL, dan Anda dapat menggunakan karakter wildcard untuk mencocokkan URL dinamis secara fleksibel.

Jika titik akhir yang diminta melanggar aturan pemfilteran yang ditentukan, tindakan diblokir dan alur gagal dengan pelanggaran kebijakan.

Aturan pemfilteran titik akhir dievaluasi secara berurutan, berdasarkan pola izinkan dan tolak yang dikonfigurasi dalam kebijakan pencegahan kehilangan data (DLP).

Contoh skenario: Izinkan akses ke semua titik akhir kecuali untuk URL https://www.contoso.com/ dan URL apa pun yang berisi string powerplatform.

  1. Tolak https://www.contoso.com/
  2. Tolak powerplatform
  3. Bolehkan *

Dukungan PowerShell untuk pemfilteran titik akhir

Mengkonfigurasi pemfilteran titik akhir untuk kebijakan

Objek yang berisi aturan pemfilteran titik akhir untuk kebijakan disebut konfigurasi konektor.

Objek konfigurasi konektor memiliki struktur berikut:

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

Catatan

  • Aturan terakhir untuk setiap konektor harus selalu berlaku untuk URL * untuk memastikan bahwa semua URL dicakup oleh aturan.
  • Properti urutan aturan untuk setiap konektor harus menggunakan angka 1 hingga N, di mana N adalah jumlah aturan untuk konektor tersebut.

Mengambil kembali konfigurasi konektor yang sudah ada untuk kebijakan data

Get-PowerAppDlpPolicyConnectorConfigurations 

Membuat konfigurasi konektor untuk kebijakan data

New-PowerAppDlpPolicyConnectorConfigurations

Memperbarui konfigurasi konektor untuk kebijakan data

Set-PowerAppDlpPolicyConnectorConfigurations

Contoh

Sasaran:

Untuk konektor SQL Server:

  • Tolak database "testdatabase" dari server "myservername.database.windows.net"
  • Izinkan semua database lainnya dari server "myservername.database.windows.net"
  • Tolak semua server lain

Untuk Konektor SMTP:

  • Bolehkan Gmail (alamat server: smtp.gmail.com, port: 587)
  • Tolak semua alamat lain

Untuk Konektor HTTP:

  • Izinkan titik akhir https://mywebsite.com/allowedPath1 dan https://mywebsite.com/allowedPath2
  • Tolak semua URL lain

Catatan

Di cmdlet berikut, PolicyName mengacu pada GUID unik. Ambil GUID kebijakan data dengan menjalankan cmdlet 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