Kopīgot, izmantojot


Droša Microsoft SQL Server izmantošana ar Power Apps

Ir dažādi veidi, kā izveidot savienojumu un autentificēties ar SQL Server, izmantojot Power Apps. Šajā rakstā ir izklāstīti jēdzieni, kas var būt noderīgi, izvēloties savienojumu ar SQL Server, izmantojot drošības pieeju, kas atbilst jūsu programmas prasībām.

Svarīgi

Drošu netiešo savienojumu funkcija tika izlaista 2024. gada janvārī. Microsoft stingri iesaka visām programmām, kas pašlaik izmanto netiešos savienojumus, konvertēt uz drošiem netiešiem savienojumiem un atsaukt savienojumus, kas kopīgoti ar lietotājiem.

Atšķirība starp tiešiem, netiešiem un drošiem netiešiem savienojumiem

Savienojums ar SQL Server tiek izveidots ikreiz, kad izveidojat programmu, izmantojot Power Apps, izveidojot savienojumu ar SQL Server. Kad šādas programmas tiek publicētas un kopīgotas ar citiem, šiem lietotājiem tiek izvietota gan programma, gan savienojums. Citiem vārdiem sakot, programma un savienojums ir redzami lietotājiem, ar kuriem tiek kopīgotas programmas.

Šādiem savienojumiem izmantotā autentifikācijas metode var būt tieša vai netieša. Mēs varam arī teikt, ka šāda saikne tiek kopīgota tieši vai netieši.

  • Skaidri koplietots savienojums nozīmē, ka lietojumprogrammas gala lietotājam ir jāautentificējas SQL serverī ar saviem nepārprotamiem akreditācijas datiem. Parasti šī autentifikācija notiek aizkulisēs kā daļa no Microsoft Entra vai Windows autentifikācijas rokasspiediena. Lietotājs pat nepamana, kad notiek autentifikācija.
  • Netieši koplietots savienojums nozīmē, ka lietotājs netieši izmanto tā konta akreditācijas datus, ko programmas veidotājs izmantoja, lai izveidotu savienojumu ar datu avotu un autentificētos ar to programmas izveides laikā. Lietotāja akreditācijas dati netiek izmantoti autentifikācijai. Katru reizi, kad lietotājs palaiž programmu, viņš izmanto akreditācijas datus, ar kuriem autors izveidoja programmu.
  • Drošs netieši koplietots savienojums attiecas uz scenāriju, kurā programmas lietotājs netieši izmanto tā konta akreditācijas datus, ko programmas veidotājs izmantoja, lai izveidotu savienojumu un autentificētos ar datu avotu, veidojot programmu. Tas nozīmē, ka autentifikācijai netiek izmantoti paša lietotāja akreditācijas dati. Tā vietā, kad lietotājs palaiž programmu, viņš izmanto akreditācijas datus, ar kuriem programmas autors to izveidoja. Ir svarīgi atzīmēt, ka gala lietotājam netiek nodrošināta tieša piekļuve savienojumam, un lietotne ļauj piekļūt tikai ierobežotam darbību un tabulu kopumam.

SQL Server pakalpojumam Power Apps var izmantot šādus četrus savienojuma autentifikācijas tipus:

Autentifikācijas veids Power Apps savienojuma metode
Microsoft Entra integrēts Skaidru
SQL servera autentifikācija Netiešs / drošs netiešs
Windows autentifikācija Netiešs / drošs netiešs
Windows autentifikācija (nekoplietota) Skaidru

Netiešie savienojuma koplietošanas riski

Visas jaunās lietojumprogrammas automātiski izmanto jaunos drošos netiešos savienojumus. Tomēr lietotnēs, kurās tiek izmantoti vecāki netiešie savienojumi, gan lietotne, gan tās savienojumi tiek izvietoti lietotājiem, tas nozīmē, ka lietotāji var izveidot jaunas lietojumprogrammas, pamatojoties uz šiem savienojumiem.

Ja autors izmanto drošus netiešos savienojumus, tas nozīmē, ka neviens savienojums netiek koplietots un neviens lietotājs nesaņem savienojuma objektu. Tas novērš risku, ka lietotājs autors atkārtoti izmantos savienojumu, lai izveidotu jaunu programmu. Tā vietā programma darbojas ar starpniekservera savienojumu, kas zina par programmu un sazinās tikai ar konkrēto programmu. Starpniekservera savienojums ļauj veikt ierobežotas darbības (izveidot, lasīt, atjaunināt, dzēst) un piekļūt noteiktām tabulām programmā, kas tiek definētas, publicējot programmu. Tāpēc gala lietotājam tiek piešķirtas tikai autorizētas darbības un piekļuve.

Vecākā stila vienkāršais netiešais savienojums faktiski izplata savienojuma objektu gala lietotājam. Piemēram, ja izveidojat programmu, kas filtrē datus, kurus nevēlaties, lai lietotāji redzētu. Bet filtrētie dati ir datu bāzē. Bet jūs paļaujaties uz konfigurēto filtru, lai nodrošinātu, ka lietotāji neredzēs noteiktus datus.

Atkal, izmantojot vecāka stila vienkāršus netiešos savienojumus, pēc programmas izvietošanas lietotāji var izmantot savienojumu, kas izvietots kopā ar jūsu programmu, visās jaunajās izveidotajās programmās. Jaunajās lietotnēs lietotāji var redzēt datus, kurus filtrējāt savā lietojumprogrammā. Ir svarīgi izmantot jaunos drošos netiešos savienojumus.

Svarīgi

Kad lietotājiem ir izvietots vecāks netieši kopīgots savienojums, ierobežojumi, ko esat ieviesis kopīgotajā programmā (piemēram, filtri vai tikai lasīšanas piekļuve), vairs nav derīgi jaunām programmām, ko veido lietotāji. Gala lietotājiem būs visas tiesības, ko autentifikācija atļauj kā daļu no netieši koplietota savienojuma. Tāpēc, konvertējot programmu, lai izmantotu drošus netiešos savienojumus, ir jāatsauc arī savienojumi, kurus kopīgojāt ar savu programmu. Administratori var iegūt atskaiti par programmām ar netieši koplietotiem savienojumiem, izmantojot COE rīkkopu.

Klientu un serveru drošība

Jūs nevarat paļauties uz datu drošību, izmantojot filtrēšanu vai citas klienta puses darbības. Lietojumprogrammām, kurām nepieciešama droša datu filtrēšana, ir jānodrošina, ka serverī notiek gan lietotāja identifikācija, gan filtrēšana.

Izmantojiet tādus pakalpojumus kā Microsoft Entra ID, nevis paļaujieties uz programmās izstrādātajiem filtriem, kad runa ir par lietotāja identitāti un drošību. Šī konfigurācija nodrošina servera puses filtru darbību, kā paredzēts.

Tālāk sniegtajos attēlos ir paskaidrots, kā atšķiras programmu drošības modeļi klienta puses un servera puses drošības modeļos.

Klienta puses drošības modelis programmā.

Klienta drošības lietotnes modelī [1] lietotājs autentificējas lietojumprogrammai tikai klienta pusē. Tad [2] lietojumprogramma pieprasa informāciju par pakalpojumu, un [3] pakalpojums atgriež informāciju, pamatojoties tikai uz datu pieprasījumu.

Servera puses drošības modelis programmā.

Servera puses drošības modelī [1] lietotājs vispirms autentificējas pakalpojumam, lai lietotājs būtu zināms pakalpojumam. Pēc tam [2], kad tiek veikts zvans no lietojumprogrammas, pakalpojums [3] izmanto pašreizējā lietotāja zināmo identitāti, lai pienācīgi filtrētu datus, un [4] atgriež datus.

Iepriekš aprakstītie netiešie departamentu koplietošanas scenāriji ir šo divu modeļu kombinācija. Lietotājam ir jāpiesakās Power Apps pakalpojumā, izmantojot Microsoft Entra akreditācijas datus. Šī darbība ir servera drošības lietotnes modelis. Lietotājs ir zināms, izmantojot Microsoft Entra identitāti pakalpojumā. Tādējādi programma ir ierobežota ar lietotāju kopu, ar kuru Power Apps ir oficiāli kopīgojis lietojumprogrammu.

Tomēr netiešais koplietojamais savienojums ar SQL Server ir klienta drošības programmas modelis. SQL Server zina tikai to, ka tiek izmantots noteikts lietotājvārds un parole. Piemēram, jebkuru klienta puses filtrēšanu var apiet ar jaunu lietojumprogrammu, izmantojot to pašu lietotājvārdu un paroli.

Lai droši filtrētu datus servera pusē, izmantojiet SQL Server iebūvētos drošības līdzekļus, piemēram, rindu līmeņa drošību un atļauju liegšanu noteiktiem objektiem (piemēram, kolonnām) konkrētiem lietotājiem. Šī pieeja izmanto Microsoft Entra lietotāja identitāti, lai filtrētu serverī esošos datus.

Daži esošie korporatīvie pakalpojumi ir izmantojuši pieeju, kurā lietotāja identitāte tiek tverta biznesa datu slānī līdzīgi kā Microsoft Dataverse. Šajā gadījumā biznesa slānis var izmantot vai neizmantot SQL Server rindu līmeņa drošību un tieši noraidīt līdzekļus. Ja tā nav, bieži vien drošība tiek iespējota, izmantojot saglabātās procedūras vai skatus.

Biznesa slānis (servera pusē) izmanto zināmu lietotāja Microsoft Entra identitāti, lai izsauktu saglabāto procedūru kā SQL Server galveno un filtrētu datus. Tomēr Power Apps pašlaik neveido savienojumu ar saglabātajām procedūrām. Biznesa slānis var arī izsaukt skatu, kas izmanto Microsoft Entra identitāti kā SQL Server galveno. Šādā gadījumā izmantojiet Power Apps, lai izveidotu savienojumu ar skatiem, lai dati tiktu filtrēti servera pusē. Lai lietotājiem parādītu tikai skatus, var būt nepieciešamas Power Automate plūsmas atjauninājumiem.

Skatiet arī:

Pārskats par audekla programmu savienotājiem