Доступно с лицензией Standard или Advanced.
Если требуется разрешить другим пользователям базы данных просматривать или изменять ее содержание, необходимо предоставить им соответствующие права доступа.
Вы можете использовать диалоговое окно Права доступа в ArcMap, инструмент геообработки Изменить права доступа в ArcMap или в ArcGIS Pro, или функцию ChangePrivileges_management скрипта Python, чтобы задать, какими правами доступа будет обладать пользователь или группа пользователей к определенному набору данных.
Можно предоставить только права на выбор, при которых пользователю разрешается читать и выбирать, однако изменять содержание набора данных запрещено. Кроме того, могут предоставляться права доступа, позволяющие пользователю обновлять, вставлять и удалять данные, т. е. изменять содержание набора данных.
В отношении предоставления и отмены прав доступа к данным, находящимся в базе данных или базе геоданных ArcGIS, применяются следующие правила:
- Только владелец таблицы может изменять права доступа к ней.
- Только владелец таблицы может удалить ее или изменить ее определение; поэтому, даже если другому пользователю будут предоставлены права на вставку, обновление и удаление набора данных, изменить схему он не сможет.
- Если планируется предоставить пользователю право на вставку, обновление или удаление, необходимо также разрешить ему выбор. Прежде чем пользователь сможет изменять набор данных, он должен получить доступ для его чтения.
- Роли dbo и db_owner не отображаются в списке Пользователь/роль в диалоговом окне Права доступа для баз данных SQL Server. Эти пользователи автоматически получают полные права доступа ко всем данным, которые невозможно отозвать.
- Роли или группы PostgreSQL, которым был предоставлен статус superuser на доступ к базе данных, не будут отображаться в списке Пользователь/роль диалогового окна Права доступа. Эти пользователи автоматически получают полные права доступа ко всем данным, которые невозможно отозвать.
- С помощью диалогового окна Права доступа одновременно можно изменять права доступа пользователей только к одному набору данных. Чтобы изменить права доступа к нескольким наборам данных одновременно, используйте инструмент геообработки Изменить права доступа или функцию Python.
- Для отзыва прав доступа требуется монопольная блокировка набора данных, поэтому, если какой-либо пользователь подключен к набору данных, отозвать права доступа пользователей к нему будет невозможно.
Следующие правила применяются только для предоставления и отзыва прав доступа к наборам данных базы геоданных:
- Все классы объектов в наборе классов должны иметь одинаковые права доступа.
- Если права предоставляются для доступа к классу объектов или таблице, которые используются в классе отношений, такие права должны обеспечивать доступ к классу-источнику и классу-адресату. Если класс-источник и класс-адресат находятся в одном наборе классов, они имеют одинаковый набор прав доступа, так как права предоставляются на уровне набора классов объектов. Однако, если класс-источник и класс-адресат находятся в разных наборах пространственных данных, необходимо предоставить требуемые права доступа как для класса-источника, так и для класса-адресата. Если класс отношений имеет значение С атрибутами или обладает кардинальностью Многие-ко-многим, при предоставлении прав доступа классу-источнику они автоматически передаются промежуточной таблице.
- Если набор данных не является версионным, можно предоставлять и отзывать права доступа для обновления, вставки и удаления данных по отдельности с помощью диалогового окна Права доступа. Например, можно предоставить пользователю права на выбор и обновление, которые позволят ему подключаться к набору данных и изменять существующие объекты, однако добавлять новые объекты или удалять существующие объекты он не сможет.
- Если набор данных зарегистрирован как версионный, права доступа, которые позволяют пользователю изменять набор данных (выполнять обновление, вставку и удаление), должны предоставляться и отзываться в качестве группы.
- Если набор данных зарегистрирован как версионный, администратор базы геоданных должен получить полные права доступа к нему. Поэтому права администратора базы геоданных на доступ к версионным наборам данных отозвать невозможно.
Используйте один из следующих методов предоставления или отзыва прав доступа к наборам своих данных:
- Диалоговое окно Права доступа – вы можете посмотреть, какие права доступа к определенному набору данных имеет пользователь или группа, с помощью диалогового окна Права доступа. Кроме того, вы можете за один раз предоставить права доступа к набору данных сразу нескольким пользователям или группе.
- Инструмент Изменить права доступа – вы можете предоставить права доступа к нескольким наборам данных пользователю или группе с помощью инструмента Изменить права доступа.
- Скрипт Python – скрипты Python можно использовать с компьютеров с ОС Linux, на которых установлен ArcGIS for Server. Права доступа можно изменять для нескольких наборов данных.
Использование диалогового окна Права доступа
Диалоговое окно Права доступа открывается из контекстного меню подключения баз данных в дереве Каталог. Это диалоговое окно позволяет выбирать пользователей и группы из списка для предоставления им прав доступа. Оно также позволяет предоставлять права доступа для обновления, вставки и удаления данных в отдельном наборе данных при условии, если этот набор данных не зарегистрирован как версионный.
- Запустите ArcMap или ArcCatalog и дважды щелкните по папке Подключение баз данных в дереве Каталога.
- Подключитесь к базе данных или базе геоданных, в которой находятся данные, владельцем которых вы являетесь и для которых требуется предоставить или отозвать права доступа.
- Щелкните правой кнопкой мыши набор данных, укажите Управлять, а затем щелкните Права доступа.
Откроется диалоговое окно Права доступа.
- Если пользователь или роль, для которых необходимо изменить права доступа, уже находится в списке, поставьте или снимите отметки в окошках, чтобы предоставить или отозвать соответствующие права доступа, а затем нажмите OK, чтобы эти изменения вступили в силу.
- Если пользователь или роль отсутствуют в списке, выполните следующие действия.
- Щелкните Добавить, чтобы открыть диалоговое окно Пользователь/роль.
- При наличии прав доступа к базе данных для просмотра системной таблицы, в которой перечислены все ее пользователи и роли, можно выбрать пользователей или роли базы данных, которые требуется добавить из этого списка, установив отметки рядом с их именами. В противном случае введите имя пользователя базы данных, роли базы данных, входа операционной системы или группы Windows, которым необходимо предоставить права доступа. Чтобы указать несколько пользователей или групп, введите их имена, разделенные запятыми (без пробелов).
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Пользователь/роль.
- Установите отметки, соответствующие правам доступа, которые должны быть предоставлены каждому новому пользователю или роли, и нажмите ОК.
Использование инструмента Изменить права доступа
Вы можете использовать инструмент Изменить права доступа для предоставления или отзыва прав доступа на наборы данных, владельцем которых вы являетесь. Этот инструмент можно найти в группе инструментов Администрирование баз геоданных набора Управление данными.
С помощью этого инструмента вы можете изменять права доступа пользователей или групп сразу на несколько наборов данных. Необходимо помнить о том, что инструмент Изменить права доступа не показывает, какими правами доступа пользователь уже обладает на определенные наборы данных. Кроме того, права доступа ВСТАВИТЬ, ОБНОВИТЬ и УДАЛИТЬ должны предоставляться в наборе, не по отдельности.
- Подключитесь к базе геоданных или базе данных как владелец наборов данных, к которым вы хотите предоставить или отозвать права доступа.
- Откройте инструмент Изменить права доступа.
- В подключении баз данных выберите наборы данных, на которые вы хотите изменить права доступа.
- Введите имя пользователя или группы, права доступа которых вы хотите изменить.
- Используйте ниспадающие списки Просмотр и Изменить для выбора прав доступа, которые вы хотите предоставить определенному пользователю или группе.
Чтобы предоставить права на редактирование, необходимо также предоставить права для просмотра.
- Щелкните OK, чтобы запустить инструмент.
Использование скрипта Python
Если вы хотите использовать скрипт Python для предоставления или отзыва прав доступа к набору данных, владельцем которого вы являетесь, можно использовать функцию ChangePrivileges_management.
- Сначала откройте подключение баз данных с помощью функции CreateDatabaseConnection_management. Вы должны быть подключены как владелец наборов данных и сохранить это имя пользователя в файл подключения.
В данном примере файл подключения gdb.sde создан в директории /usr/connections. Подключено к базе данных markets кластера баз данных dserver от имени пользователя eng1.
import arcpy arcpy.CreateDatabaseConnection_management (r'/usr/connections', "gdb.sde", "POSTGRESQL", "dserver", "DATABASE_AUTH", "eng1", "T!i569", "SAVE_USERNAME", "markets")
- Запустите функцию ChangePrivileges_management.
В данном примере группе предоставлено право доступа для просмотра трех наборов данных.
arcpy.ChangePrivileges_management ("/usr/connections/gdb.sde/markets.eng1.properties,markets.eng1.routes,markets.eng1.demo", "readers", "GRANT", "AS_IS")