Язык запросов SQL

Предоставление полномочий пользователям



Предоставление полномочий пользователям

В силу своего положения администратор базы данных имеет все полномочия на все ее объекты. Но, в конце концов, владелец объекта имеет на него все полномочия, а база данных сама является объектом. Ни у кого из пользователей не будет полномочий, относящихся к какому-либо объекту, если только их ему специально не предоставит тот, у которого эти полномочия уже есть (а также право их передавать). Предоставлять полномочия кому-либо другому вы можете с помощью оператора GRANT (предоставить). У этого оператора следующий синтаксис:

GRANT СПИСОК-ПОЛНОМОЧИЙ

ON объект

    ТО список-пользователей

    [WITH GRANT OPTION] ;

Предложение WITH GRANT OPTION означает "предоставляющий полномочия"; список полномочий в операторе GRANT определяется следующим образом:

ПОЛНОМОЧИЯ [ , ПОЛНОМОЧИЯ] . . .

или

ALL PRIVILEGES

В свою очередь, вот как здесь определяются полномочия:

SELECT

| DELETE



| INSERT [(имя-столбца[, имя-столбца] . ..) ]

| UPDATE [(имя-столбца[, имя-столбца]...)]

|REFERENCES [(имя-столбца[, имя-столбца] ...)]

| USAGE

| UNDER

| TRIGGER

| EXECUTE

А объект в операторе GRANT определяется таким способом:

[TABLE] <имя таблицы>

|DOMAIN <имя домена>

| COLLATION <имя сопоставления>

| CHARACTER SET <имя символьного набора>

|TRANSLATION <имя трансляции>

| ТУРЕ <схематмчески обозначенный определенный пользователем тип>

|SEQUENCE <имя генератора последовательности спецификатор указателя шаблона>

И наконец, список пользователей в операторе определяется следующим образом:

регистрационное-имя [, регистрационное-имя]...

| PUBLIC

Указанный синтаксис применяется к представлению точно так же, как и к таблице. Полномочия SELECT, DELETE, INSERT, UPDATE и REFERENCES относятся только к таблицам и представлениям. А полномочие USAGE имеет отношение к доменам, наборам символов, сопоставлениям и трансляциям. В последующих разделах приведены различные примеры использования оператора GRANT.



Содержание раздела