Úvod do systému uživatelských práv MySQL
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Úvod do systému uživatelských práv MySQLÚvod do systému uživatelských práv MySQL

 

Úvod do systému uživatelských práv MySQL

Google       Google       13. 2. 2009       28 815×

Popis základních principů práce se systémem uživatelských práv v MySQL.

Poslední dobou se stále častěji setkávám s uživateli MySQL, kteří přehlíží anebo vůbec nevědí, že MySQL má svůj vlastní systém uživatelských práv. Do značné míry je to zapříčiněno tím, že webhosting vám již přidělí účet a práva na používání vaší databáze, kde již nemůžete žádné účty vytvářet. Můžete se však lehce dostat do situace, kdy po vás vedení bude chtít, abyste ve firmě realizovali databázový server, který bude určen pro více aplikací. A v tomto případě nemůžete ukládat data z více aplikací do jednoho účtu kvůli přehlednosti. Pro tyto a další situace má MySQL systém uživatelských práv.

Nejdříve si musíme zadefinovat pojem privilegium - je to oprávnění provádět určitou činnost s určitým objektem a je vázána na konkrétního uživatele. Vždy při vytváření uživatele v MySQL mu musíte přidělit privilegia (práva). S vytvářením nových uživatelů se váže pojem princip nejnižšího oprávnění. Tento princip se aplikuje především kvůli zvýšení bezpečnosti databáze. Princip nejnižšího oprávnění říká, že: uživatel nebo procedura by měl mít nejnižší možná oprávnění, která mu umožní provést patřičný úkol. Do praxe převedeno: nebudete přidělovat uživatelům, kteří potřebují data z databáze pouze zobrazit pravomoc DROP, která může databázi nebo tabulku smazat.

Pro přidělování práv máme v MySQL příkaz GRANT. A REVOKE pro odebírání. Tyto příkazy fungují na čtyřech úrovních:

  • Global - globální
  • Database - pro určitou databázi
  • Table - pro určitou tabulku
  • Column - pro určitý sloupec
Obecná syntaxe příkazu GRANT :
GRANT práva [sloupce]
ON položka
TO uživatel [IDENTIFIED BY 'heslo' ]
[REQUIRE volby_ssl]
[WITH [GRANT OPTION | volby_omezení] ]

Typy a úrovně práv

Každému novému uživateli můžeme přidělit poměrně mnoho práv, ne všechna jsou však vhodná pro běžné uživatele. Abychom zachovali princip nejnižšího oprávnění, je vhodné vytvořit uživatele bez práv a po konzultaci s ním mu potřebná práva nastavit. Toto řešení však nelze aplikovat vždy, proto můžeme rozdělit práva na:

  • uživatelská
  • administrátorská
  • zvláštní
Právo Vztahuje se na Popis
SELECT tabulky, sloupce Povoluje vybírat záznamy z tabulek.
INSERT tabulky, sloupce Povoluje vkládat nové řádky do tabulky.
UPDATE tabulky, sloupce Povoluje obnovovat hodnoty záznamů v tabulkách.
DELETE tabulky Povoluje odstraňovat záznamy (řádky) z tabulek.
INDEX tabulky Povoluje vytvářet a odstraňovat indexy z tabulek.
ALTER tabulky Povoluje měnit strukturu stávajících tabulek (přejmenovávat nebo přidávat sloupce, měnit datové typy sloupců).
CREATE databáze, tabulky Povoluje vytvářet nové databáze a tabulky.
DROP databáze, tabulky Povoluje odstranit databáze a tabulky.

Uživatelská práva

Práva Popis
CREATE TEMPORARY TABLES Povoluje administrátorovi používat v příkazu CREATE TABLE klíčové slovo TEMPORARY.
FILE Povoluje načítání dat do tabulky ze souborů a obráceně.
LOCK TABLES Povoluje explicitní použití příkazu LOCK TABLES.
PROCESS Povoluje administrátorovi zobrazit si procesy serveru patřící libovolnému uživateli.
RELOAD Povoluje administrátorovi znovu načíst tabulky práv a synchronizovat práva, hostitele, protokoly a tabulky.
REPLICATION CLIENT Povoluje používat na řídicích a podřízených serverech SHOW STATUS.
REPLICATION SLAVE Povoluje podřízeným serverům se připojit k řídicímu serveru.
SHOW DATABASES Povoluje prohlížet si všechny databáze. Pokud není nastaven, vidí uživatel pouze databáze, ke kterým má práva.
SHUTDOWN Povoluje administrátorovi ukončit MySQL server.
SUPER Povoluje administrátorovi ukončit vlákna patřící libovolnému uživateli.

Administrátorská práva

Práva Popis
ALL Přidělí všechna předešlá práva.
USAGE Nepřidělí žádná práva, uživatel se může pouze přihlásit.

Zvláštní práva

Jednoduchý příklad použití:

mysql> grant all
-> on *
-> to Admin identifed by '123456'
-> with grant option ;

Takto vytvoříme uživatele Admin, který má všechny práva. V běžném světě však přidělujete většinou jen určitou množinu práv.

mysql> grant usage
-> on horv_db.*
-> to horv identifed by '123456';

Tímto příkazem jsme vytvořili uživatele horv bez jakýchkoliv práv pro práci s databází horv_db. Po konzultaci s uživatelem horv zjistíte, že potřebuje většinu práv.

mysql> grant select, insert, update, delete, index, alter, create, drop
-> on horv_db.*
-> to horv;

Může se vám stát, že uživatel horv po neuvážené operaci omylem smazal jednu tabulku. Tímto si podepsal ortel a odeberete mu právo DROP na mazání tabulek a databází.

mysql> revoke drop
-> on horv_db.*
-> from horv ;

Problematika systému uživatelských práv je složitější, ale tento úvod by vám měl pro pochopení principu a využítí poskytnout kvalitní základ.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor studuje VoŠ - Vypočetní technika a programování v Č.B. Programuje v PHP, C# a MySQL a aktivně se zajímá o webové technologie.
Web    

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý