Инструменты пользователя

Инструменты сайта


grant

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
grant [2014/12/25 09:01]
109.195.129.114 [Формат]
grant [2014/12/27 08:06] (текущий)
109.195.129.114 [См. также]
Строка 45: Строка 45:
 <​role_grantee_list>​ ::= [USER] username [, [USER] username ​ …] <​role_grantee_list>​ ::= [USER] username [, [USER] username ​ …]
 </​code>​ </​code>​
 +
 ^ Аргумент ^ Описание ^ ^ Аргумент ^ Описание ^
-|col |Столбцы,​ к которым предоставленные привилегии применяются. | +|tablename |Имя таблицы,​ к которой должно быть применена привилегия.| 
-|tablename |Имя ​существующей ​таблицы,​ к которой ​предоставленные привилегии применяются. | +|viewname |Имя ​представления, к которому должно быть применена привилегия.|
-|viewname |Имя ​существующего вида, к которому ​предоставленные привилегии применяются. |+
 |procname |Имя хранимой процедуры,​ для которой должна быть выдана привилегия EXECUTE или которой будут даны привилегии.| |procname |Имя хранимой процедуры,​ для которой должна быть выдана привилегия EXECUTE или которой будут даны привилегии.|
-|<​object> ​|Имя пользователя или существующего объекта базы данных, которым привилегии будут предоставлены. | +|col |Столбец таблицы, к которому должна быть применена ​привилегия.| 
-|Unix_group |Имя группы пользователей в операционных системах семейства UNIX. | +|Unix_group|Имя группы пользователей в операционных системах семейства UNIX.|
-|<​userlist>​ |Список пользователей,​ которым привилегии будут предоставлены. | +
-|WITH GRANT OPTION |Передает GRANT полномочие для привилегий,​ перечисленных в инструкции GRANT, пользователям,​ перечисленным в <​urerlist>​.|+
 |username |Имя пользователя,​ для которого выдаются привилегии или которому назначается роль.| |username |Имя пользователя,​ для которого выдаются привилегии или которому назначается роль.|
 |rolename |Имя роли.| |rolename |Имя роли.|
 |trigname |Имя триггера.| |trigname |Имя триггера.|
 |grantor |Пользователь от имени, которого предоставляются привилегии.| |grantor |Пользователь от имени, которого предоставляются привилегии.|
- 
 ===== Описание ===== ===== Описание =====
  
-GRANT устанавливает привилегии на объекты базы данных, для ​пользователей или других объектов базы данных. Когда объект впервые создан,​ только его создатель имеет привилегии на него, и только создатель ​может ​предоставить (GRANT) привилегии ​на него другим пользователям или объектам.+Оператор ​GRANT предоставляет одну ​или несколько ​привилегий для ​объектов базы данных пользователям, ролям, хранимым процедурамтриггерам и представлениям.
  
-Для доступа к таблице или виду, пользователю или объекту требуются SELECT, INSERT, UPDATE или DELETE ​привилегии на эту ​таблицу или вид.+Авторизованный ​пользователь не имеет никаких привилегий ​до тех пор, пока какие ​либо права не будут предоставлены ему явно. При создании объекта только ​его создатель и SYSDBA имеет ​привилегии на него и может назначать привилегии другим пользователям,​ ролям ​или объектам.
  
-Для ​вызова сохраненной ​процедуры из приложения, ​пользователю или объекту требуется EXECUTE ​привилегия ​на нее.+Для ​таблиц ​существуют следующие привилегии:​ 
 +^ Привилегия ^ Описание 
 +|ALL |Объединяет ​привилегии SELECT, INSERT, UPDATE, DELETE и REFERENCES.| 
 +|SELECT |Разрешает выборку данных из таблицы или представления.| 
 +|INSERT |Разрешает добавлять записи в таблицу или представление.| 
 +|UPDATE |Разрешает ​изменять записи в таблице или представлении. Можно указать ограничения, ​чтобы можно было изменять только указанные столбцы.| 
 +|DELETE |Разрешает удалять записи из таблицы или представления.| 
 +|REFERENCES |Привилегия позволяет создавать внешний ключ, который использует один или ​более столбцов этой таблицы,​ как родительский ключ. Вы можете ограничить эту ​привилегию для определенных столбцов.|
  
-Пользователи могут дать ​разрешение, предоставлять привилегии другим ​пользователям, обеспечивая <​userlist>,​ который включает WITH GRANT OPTION. Пользователи могут предоставлять другим только те привилегии которые им, непосредственно, назначены.+Для выполнения хранимых ​процедур существует отдельная ​привилегия EXECUTE. Она ​позволяет выполнять хранимые  процедуры и делать выборку данных ​из процедур выбора (с помощью оператора SELECT).
  
-Привилегии могут быть назначены всем пользователям определив PUBLIC вместо списка имен пользователей. Определение ​PUBLIC ​предоставляет привилегии только пользователям,​ но не объектам базы данных.+В предложении TO указывается список ​пользователей, ролей и объектов базы данных (процедур, триггеров и представлений) для ​которых будут выданы перечисленные ​привилегии. Необязательные предложения USER и ROLE позволяют уточнить,​ кому именно выдается привилегия. Если ключевое слово USER или ROLE не указано,​ то сервер ​проверяет, существует ли роль с данным именем,​ если ​таковой не существует, то привилегии ​назначаются пользователю. Существование ​пользователя, которому выдаются права, не проверяются при выполнении оператора ​ GRANT. Если привилегия выдается ​объекту базы данных, то необходимо обязательно указывать тип объекта.
  
-Следующая таблица суммирует доступные привилегии: +//Замечание: 
-^ Привилегия ^ Позволяет пользователям... ^ +Несмотря на то, что ключевые слова USER и ROLE не обязательные,​ желательно использовать их, чтобы избежать путаницы.// 
-|ALL |Выполнять SELECT, DELETE, INSERT, UPDATE ​и REFERENCES.| + 
-|SELECT |Получать строки из таблицы или вида. ​| +В SQL существует специальный пользователь PUBLIC, ​представляющий всех пользователей. Если какаяо операция разрешена пользователю PUBLIC, значит, любой аутентифицированный ​пользователь может выполнить эту операцию над указанным объектом
-|DELETE |Устранять ​строки из таблицы или вида.| + 
-|INSERT |Сохранять новые строки в таблицу или вид| +//Замечание: 
-|UPDATE |Изменять текущие значения в одном или большем количестве столбцов в таблице или виде. Может быть ​ограниченно определенным подмножеством столбцов.| +Если привилегии назначены пользователю PUBLIC, то отозваны они должны быть у пользователя PUBLIC.// 
-|EXECUTE |Выполнять сохраненные процедуры.| + 
-|REFERENCES |Привилегия позволяет создавать внешний ключ, который использует ​один или более ​столбцов этой таблицы, как родительский ключ. Вы можете ограничить эту привилегию для определенных столбцов.|+Необязательное предложение WITH GRANT OPTION позволяет пользователям, указанным в списке пользователей, передавать ​другим пользователям привилегии указанные в списке привилегий
 + 
 +Другое назначение оператора GRANT заключается в назначении ролей ​для группы ​ перечисленных пользователей. В  этом случае после предложения GRANT следует список ролей, которые будут назначены списку пользователей,​ указанному после ​предложения TO. 
 +  
 +Необязательное предложение WITH ADMIN OPTION позволяет пользователям,​ указанным в списке ​пользователей, ​назначать роли из списка ​ролей, указанных в списке ​ролей, другим пользователям
 + 
 +При ​предоставлении прав в базе данных в качестве ​лица, предоставившего эти права, обычно записывается текущий ​ пользователь. Используя предложение GRANTED BY можно предоставлять права от имени ​другого пользователя. При использовании оператора REVOKE после GRANTED BY права будут удалены только в том случае, если они были зарегистрированы от удаляющего пользователя. Для ​облегчения миграции из некоторых других реляционных ​СУБД нестандартное предложение AS поддерживается как синоним оператора GRANTED BY.
  
-Привилегии могут быть удалены ​только пользователемназначившим их, с помощью инструкции REVOKE. Если ALL привилегии назначены,​ тогда ALL привилегии должны ​быть ​отменены. Если привилегии предоставлены как PUBLIC, они могут быть удалены только для PUBLIC.+Предложение GRANTED BY может использовать
 +  * Владелец базы данных; 
 +  * SYSDBA; 
 +  * Любой пользователь, имеющий права на роль RDB$ADMIN ​и указавший ее при ​соединении с базой данных; 
 +  * При использовании флага AUTO ADMIN MAPPING - любой администратор операционной ​системы Windows (при ​условии использования сервером ​доверенной авторизации - trusted authentication), ​даже без указания роли.
  
 +Даже владелец роли не может использовать GRANTED BY, если он не находится в вышеупомянутом списке.
 ===== Пример ===== ===== Пример =====
 <​code>​ <​code>​
Строка 93: Строка 108:
  
 ===== См. также ===== ===== См. также =====
-[[CREATE ROLE]],  [[DROP ROLE]], ​ [[REVOKE]]+[[REVOKE]], [[CREATE ​ROLE]], [[DROP ROLE]]
  
grant.1419487266.txt.gz · Последние изменения: 2014/12/25 09:01 — 109.195.129.114