Weblog   Foto galerie   Odkazy   Implementace katedrálního portálu   ZČU-FAV

Databázové systémy 1 (DB1) - Oprávněnost přístupu, uživatele, role a práva v systému

Uživatel může mít více rolí. Kdo vytvoří tabulku, tak tomu patří.

Přiřazení práv GRAND

ALL RIGHTS – všechna práva
– jen konkrétní privilegia
ALL NOT – vše kromě vyjmenovaných
ON
TO

[WITH GRANT OPTION]  – práva může předávat dál

Odebrání práv – REVOKE

Privilegia: READ, INSERT, UPDATE, DELETE, DROP

Pokud odebereme práva uživateli s GRANT OPTION, odeberou se i všem, komu je předal dál – řešeno pomocí časových značek v tabulce práv.

Uživatelé – USERS

Vytvoření nového uživatele

    CREATE USER uživatel
        IDENTIFIED [BY heslo | EXTERNALLY |
        GLOBALLY AS ‘external_name’]
        [DEFAULT TABLESPACE tabulkovy_prostor]
        [TEMPORARY TABLESPACE tabulkovy_prostor ]
        [QUOTA (N | [ K| M] UNLIMITED) ON TABLESPACE]
        [PROFILE profil]
        [ACCOUNT [LOCK|UNLOCK]
    [PASSWORD EXPIRE]

Nutno určit minimálně:

  • Jméno a zpusob identifikace
  • Typ overení v klausuli IDENTIFIED: Global, External, Password

Vynucená změna po prvním přihlášení

PASSWORD EXPIRE

Změna hesla

ALTER USER jméno_uživatele IDENTIFIED BY nové_heslo

Role a práva uživatelů

GRANT

Umož?uje přiřadit či změnit

  • Aktuální prirazení rolí – GRANT ROLE TO uživatel | PUBLIC [WITH ADMIN OPTION]
  • Aktuální prirazení oprávnení – GRANT SYSTEM_PRIVILEG TO uživatel | PUBLIC [WITH ADMIN OPTION]
  • Oprávnění typu SELECT nebo UPDATE může poskytnout pouze vlastník objektu, nebo databázový administrátor (i ten však musí být oprávněn) – GRANT oprávnení ON objekt TO jméno_administrátora [WITH GRANT OPTION]

Klausule WITH GRANT OPTION znamená, že uživatel může poskytnout toto oprávnění i ostatním uživatelům nebo rolím.

REVOKE

Pomocí příkazu REVOKE odeberete roli nebo oprávnění uživateli nebo roli:

REVOKE systémové_právo | role FROM uživatel |role| PUBLIC ;

Pomocí následujícího příkazu objektová oprávnění nebo roli:

REVOKE objektové_právo | ALL ON schéma.objekt FROM uživatel |role| PUBLIC CASCADE CONSTRAINT;

ROLE

Vytvoření nové role (sady oprávnění)

CREATE ROLE role [NOT IDENTIFIED | IDENTIFIED]
[BY heslo | EXTERNALLY|GLOBALLY] NOT IDENTIFIED – bez zadání hesla
IDENTIFIED EXTERNALLY pomocí operačního systému
IDENTIFIED GLOBALLY – jedinečná role v několika databázích

Příkaz může zadávat buď oprávněný uživatel nebo administrátor databáze. Přiřazení role uživatelům (po jejím vytvoření): GRANT role TO uživatel;