KEPLIN Docs

Yhteyden testaus ja turvallisuus

Mitä painike Testaa yhteys tekee, miten yleisimmät virheet luetaan, ja miten alusta säilyttää tunnistetiedot, jotka eivät koskaan palaa näytölle.

Tietolähde säilyttää avainta oikeaan tietokantaan — usein tuotannon. Tämä sivu kattaa sen vastuun molemmat puolet: miten varmistetaan, että yhteys toimii ennen tallennusta, ja mitä alusta tekee (ja kieltäytyy tekemästä) tunnistetiedoille sen jälkeen.

Yhteyden testaaminen

Painike Testaa yhteys on luontilomakkeessa ja modaalissa Muokkaa yhteyttä, tallennustoimintojen vieressä:

  1. Täytä yhteyskentät.
  2. Paina Testaa yhteys. Painike vaihtuu tilaan Testataan….
  3. Alusta avaa todellisen yhteyden tietokantaan, suorittaa vaarattoman tarkistuskyselyn ja sulkee yhteyden. Mitään ei kirjoiteta eikä muuteta.
  4. Onnistuminen näyttää vahvistuksen ”Yhteys OK.”; epäonnistuminen näyttää hälytyksen tietokantamoottorin palauttamalla viestillä — sellaisenaan, koska juuri se kertoo, mitä korjata.

Testaa yhteys vastaa heti:
Testaa yhteys vastaa heti: "Yhteys OK."

Kaksi erikoistapausta:

  • Muokattaessa salasana tyhjänä testi käyttää tallennettua salasanaa — eli se testaa yhteyden sellaisena kuin se jää tallennuksen jälkeen.
  • Vielä luomattomassa SQLitessä painiketta ei ole — tiedostoa ei vielä ole, ja testi siinä voisi vain valehdella. Se ilmestyy tallennuksen jälkeen.

Dica

Testaa aina ennen tallennusta. Väärän yhteyden tallentaminen ei riko mitään sillä hetkellä — mutta ensimmäinen sitä käyttävä API tai skripti epäonnistuu, ja silloin virhe ilmestyy kauas syystään.

Testi epäonnistui — entä nyt?

Viesti tulee moottorilta, joten se vaihtelee; kaavat eivät:

Oire Mitä tarkistaa
Kestää ja päättyy aikakatkaisuun Host ja Portti oikein? Hyväksyykö palvelin yhteyksiä koneelta, jolla alusta pyörii (palomuuri, verkko)?
Tunnistautumisvirhe / login failed Käyttäjä ja Salasana. Joissakin moottoreissa myös se, saako tuo tili yhdistää toiselta koneelta.
Tuntematon tietokanta Kentässä Database on tietokannan tarkka nimi palvelimen sisällä.
SSL/TLS-virheitä SQL Server 2008/2012:ssa Kytke päälle Vanha TLS (vanha SQL Server) — se on juuri tätä varten.
Varmennevirheitä muissa moottoreissa Käytä SSL:ää / Encrypt sen mukaan mitä palvelin vaatii; sisäisillä palvelimilla, joilla on oma varmenne, Trust server certificate.
Oracle ei löydä palvelua Noudattaako Connect string muotoa host:port/service_name? Onko service_name palvelun nimi, ei SID?

Tunnistetiedot, jotka eivät koskaan palaa näytölle

Tietolähteen salasana on kertakirjoitteinen: se menee lomakkeeseen, ja siitä lähtien alusta ei näytä sitä enää — kenellekään, koskaan, ei edes sen kirjoittajalle.

  • Kun avaat modaalin Muokkaa yhteyttä, kaikki kentät tulevat täytettyinä paitsi salasana. Kentän nimi on Salasana (tyhjä = säilytä): tyhjänä nykyinen jatkaa; täytettynä se korvataan.
  • Ei ole mitään näyttöä, vientiä tai käyttöoikeutta, joka palauttaisi salasanan selväkielisenä. Jos hukkaat sen, määritä se uudelleen tietokantapalvelimella ja kirjoita uusi tänne.
  • Levossa tunnistetiedot ovat salattuina — kuten lomakkeet itse sanovat: ”Kaikki on salattu levossa.”

Modaalissa Muokkaa yhteyttä salasana tulee aina tyhjänä — tyhjä säilyttää nykyisen
Modaalissa Muokkaa yhteyttä salasana tulee aina tyhjänä — tyhjä säilyttää nykyisen

Nota

Tämä pätee siihen, mitä alusta hallitsee. Salasana on yhä olemassa päässäsi, salasanojen hallinnassasi ja tietokantapalvelimella — alusta takaa vain, ettei se ilmesty uudelleen näytölle tätä kautta.

Entä kun sovellus matkustaa?

Kun viet sovelluksen (Asetukset → Vie sovellus), valitset salaisuuksien kohtalon:

  • Ilman salaisuuksia (suositus) — ”Tietolähteiden yhteydet ja salaisuudet lähtevät tyhjinä”. Toisessa instanssissa tuoja täyttää tunnistetiedot uudelleen — salasanat eivät matkusta.
  • Salaisuuksien kanssa, salalauseella suojattuna — arvot lähtevät salattuina salalauseella, jonka määrität ja jota kysytään tuotaessa. ”Ilman salalausetta paketin salaisuuksia ei voi palauttaa.”

Kuka saa tehdä mitäkin

Toiminto Vaadittu profiili sovelluksessa
Tietolähdelistan katselu ja sovelluksen käyttö Developer
Tietolähteiden luonti, muokkaus, uudelleennimeäminen, poisto Ylläpitäjä
SQL-konsoli, objektien luonti/muutos (DDL) Ylläpitäjä

Tämän vuoksi developer ei ehkä näe painiketta Lisää tietolähde eikä valikkoa Muokkaa yhteyttä — se ei ole virhe, se on profiili.

Kaikki kirjataan

  • Sovelluksen historia — jokainen tietolähteen luonti, muutos, uudelleennimeäminen ja poisto menee muutoshistoriaan (”Tietolähde "crm" luotu”, ”Tietolähde "crm" muutettu”, …), tekijöineen ja päivineen.
  • Alustan auditointi — samat operaatiot jäävät Radarin auditointijälkeen, kohteena Tietolähde.
  • SQL-konsoli — kun suoritat SQL:ää, joka kirjoittaa tai muuttaa (UPDATE, DROP…), tapahtuma auditoidaan operaatiotyypin ja kyselyn sormenjäljen kanssa — ilman SQL-tekstiä, jotta konsoliin kirjoitettu arkaluonteinen data ei päädy rekisteriin.
  • Radar → Tila — osio Tietokantayhteydet näyttää kaikkien sovellusten määritetyt yhteydet. Ja harkitulla varovaisuudella: ”Tämä sivu ei koskaan yhdistä niihin itsestään: nämä ovat tuotantotietokantoja, ja yhteyksien avaaminen jokaisella käynnillä on liikennettä, jota kukaan ei pyytänyt.”

Osio Tietokantayhteydet Radarin tilassa
Osio Tietokantayhteydet Radarin tilassa

Hyvät käytännöt

  • Oma tili, vähimmäisoikeudet. Luo tietokantaan käyttäjä vain sovellusta varten, pääsyllä vain tarvittaviin tauluihin. Kaikki, mitä sovellus suorittaa — API:t, skriptit, konsoli — kulkee sen tilin kautta.
  • Osoita testit testidataan. Kirjoittavaa API:a testattaessa alusta itse varoittaa: ”Testi ajaa pipelinen oikeasti tietolähteitä vasten — mutation tekee todellisia kirjoituksia. Varmista, että osoitat testidataan.”
  • Salaa yhteys aina kun palvelin sen sallii (Käytä SSL:ää / Encrypt) — erityisesti kun tietokanta on toisessa verkossa.
  • Nimet, jotka kertovat ympäristön. crm ja crm-teste estävät pahimman mahdollisen erehdyksen: kirjoittamisen oikeaan paikkaan väärässä ympäristössä.

Usein kysyttyä

  • Näyttääkö Keplin tallentamani salasanan? Ei. Se on kertakirjoitteinen — vaihtoehto on korvata se.
  • Koskeeko Testaa yhteys dataan? Ei. Se avaa yhteyden, ajaa vaarattoman tarkistuskyselyn ja sulkee.
  • Miksi testi menee läpi mutta API:n kysely epäonnistuu? Testi validoi yhteyden, ei oikeuksia kuhunkin tauluun. Jos tili ei voi lukea tai kirjoittaa taulua, virhe ilmestyy siinä kyselyssä.
  • Vaihdoin salasanan tietokantapalvelimella — entä nyt? API:t ja skriptit alkavat epäonnistua tunnistautumisvirheellä. Avaa Muokkaa yhteyttä, kirjoita uusi salasana ja Tallenna.