Tietoturvasääntöjen syntaksin ymmärtäminen
Hahmotatte Firebase Realtime Databasen tietoturvasääntöjen syntaksin ja rakenteen käyttöoikeuksien määrittämistä varten
Tietoturvasääntöjen syntaksin ymmärtäminen on ilmainen Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.
Miksi Security Rules -säännöt?
Tervetuloa tutustumaan Realtime Database Security Rules -sääntöihin! Nämä säännöt ovat erittäin tärkeitä tietojen suojaamisessa ja sen hallinnassa, kuka voi tehdä mitäkin Firebase-sovelluksessasi.
Ajattele niitä tietokantasi järjestyksenvalvojina: ne tarkistavat jokaisen tietojen luku-, kirjoitus- ja päivityspyynnön ja päättävät, sallitaanko se.
Sääntötiedosto
Firebase Realtime Database Security Rules -säännöt määritetään JSON-tiedostossa, jonka nimi on yleensä rules.json. Tämä tiedosto ladataan Firebase-projektiisi.
Koko sääntökokoelma sijoitetaan ylimmän tason "rules"-avaimen alle seuraavasti:
{
"rules": {
// Your security rules go here!
}
}Oletusarvoisesti avoimet säännöt
Kun luot Realtime Databasen ensimmäisen kerran, Firebase tarjoaa usein hyvin avoimen sääntökokoelman. Sen ansiosta kuka tahansa voi lukea ja kirjoittaa tietoja. Tämä helpottaa aloittamista, mutta tuotantokäytössä se on erittäin huono ratkaisu!
Säännöt näyttävät tältä:
{
"rules": {
".read": "true",
".write": "true"
}
}Tietopolkujen kohdentaminen
Sääntöjä sovelletaan tietopolun perusteella. Sijoitat säännöt sisäkkäin "rules"-objektin alle, jotta ne kohdistuvat tietokannan tiettyihin osiin samalla tavoin kuin kansiot tiedostojärjestelmässä.
Voit esimerkiksi määrittää säännöt poluille /users ja /messages seuraavasti:
{
"rules": {
"users": {
// Rules for data under /users
},
"messages": {
// Rules for data under /messages
}
}
}Lukuoikeuksien perusteet
".read"-sääntö määrittää, kuka voi hakea tietoja tietystä polusta. Jos lukupyyntö osuu polkuun, jossa on ".read": "true", pyyntö sallitaan. Jos arvona on "false", pyyntö hylätään.
Lukuoikeudet voidaan määrittää esimerkiksi näin:
{
"rules": {
"publicPosts": {
".read": "true" // Anyone can read blog posts
},
"secretDocs": {
".read": "false" // No one can read secret documents
}
}
}Kirjoitusoikeuksien perusteet
Vastaavasti ".write"-sääntö määrittää, kuka voi luoda, päivittää tai poistaa tietoja tietyssä polussa. Arvo "true" sallii kirjoittamisen ja "false" estää sen.
Tarkastellaan joitakin kirjoitussääntöjen esimerkkejä:
{
"rules": {
"guestbook": {
".write": "true" // Anyone can sign the guestbook
},
"adminSettings": {
".write": "false" // No one can change admin settings yet
}
}
}Luku- ja kirjoitusoikeuksien yhdistäminen
Voit määrittää samalle polulle sekä ".read"- että ".write"-säännön. Firebase arvioi ne toisistaan riippumatta.
Voit esimerkiksi tehdä polusta kaikkien luettavissa olevan mutta estää toistaiseksi kaikkien kirjoitukset:
{
"rules": {
"announcements": {
".read": "true", // Everyone can see announcements
".write": "false" // No one can post new announcements
}
}
}Dynaamiset polut jokerimerkkien avulla
Mitä jos polun alla on paljon kohteita, kuten yksittäisiä käyttäjäprofiileja (/users/user123, /users/user456)? Et halua kirjoittaa erillistä sääntöä jokaiselle!
Käytä $-merkillä alkavaa jokerimuuttujaa, joka vastaa mitä tahansa lapsisolmua. Muuttujaa voi sitten käyttää itse säännössä.
{
"rules": {
"profileData": {
"$userId": {
".read": "true", // Anyone can read any user's profile
".write": "false" // But no one can edit them yet
}
}
}
}`auth` ja `data`: sääntöjen apumuuttujat
Kun kirjoitat kehittyneempiä sääntöjä, sinun on usein tarkistettava, kuka pyynnön tekee tai mitä tietoja on jo olemassa. Firebase tarjoaa tähän erityisiä muuttujia:
auth: Sisältää parhaillaan todennetun käyttäjän tiedot (jos käyttäjä on todennettu).data: Viittaa tietoihin, jotka ovat jo olemassa käsiteltävässä polussa.newData: Viittaa kirjoitettaviin tietoihin (vain write- ja validate-säännöissä).
Näiden avulla voit luoda älykkäitä sääntöjä, kuten "vain omistaja voi muokata profiiliaan". Tutustumme niihin tarkemmin tulevilla oppitunneilla!
Syntaksin tarkistus
Mikä seuraavista väitteistä pitää paikkansa alla olevien Firebase Realtime Database Security Rules -sääntöjen perusteella?
{
"rules": {
"posts": {
".read": "true",
"comments": {
".write": "false"
}
},
"users": {
"$userId": {
".read": "true"
}
}
}
}Oppitunnin yhteenveto
Hienoa työtä! Tässä oppitunnissa käsittelitte Firebase Realtime Database Security Rules -sääntöjen perussyntaksia:
- Säännöt sijaitsevat
rules.json-tiedostossa. - Säännöt sisäkkäistetään kohdistamaan ne tiettyihin tietopolkuihin.
".read"ja".write"määrittävät luku- ja kirjoitusoikeudet.- Jokerimerkkien (
$variable) avulla säännöistä voidaan tehdä dynaamisia lapsisolmuille. - Saitte esimakua kontekstimuuttujista, kuten
authjadata.
Seuraavaksi perehdytte tarkemmin näiden sääntöjen käyttöön käyttäjäkohtaisessa käyttöoikeuksien hallinnassa!
Opi Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 11
- Oppitunnit
- 44
Usein kysytyt kysymykset
Onko oppitunti ”Tietoturvasääntöjen syntaksin ymmärtäminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolun 3 oppituntia, myös oppitunnin “Tietoturvasääntöjen syntaksin ymmärtäminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tietoturvasääntöjen syntaksin ymmärtäminen”?
Hahmotatte Firebase Realtime Databasen tietoturvasääntöjen syntaksin ja rakenteen käyttöoikeuksien määrittämistä varten Harjoittelet Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Tietoturvasääntöjen syntaksin ymmärtäminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunnilla?
Kyllä. Jokainen Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tietoturvasääntöjen syntaksin ymmärtäminen
- Käyttäjäperustainen pääsynhallinta
- Datan validointi säännöillä
- Tietoturvasääntöjen testaaminen ja vianmääritys