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

Ú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       16 965×

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

Reklama
Reklama

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 Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý