Пользовательские учетные записи идентифицируют подключения к базе данных. Права доступа к базе данных и набору данных, выданные или отозванные у конкретного пользователя, определяют настройки прав доступа пользователя. Учетные записи пользователей могут быть сгруппированы исходя из задач, которые им необходимо решать, что упростит управление доступом.
Учетные записи пользователей
Учетные записи пользователей – это уникальные имена и пароли, которые используются для определения пользователя или клиентского приложения, подключившегося к базе данных. В ArcGIS учетные записи определяют, кто какими данными владеет. Учетные записи пользователя также являются способом управления типом доступа (если имеется) пользователя или клиентского приложения к базе данных или базе геоданных и их наборам данных.
В Microsoft SQL Server вы можете создавать учетные записи пользователей базы данных или создать учетные записи базы данных на основе сетевых учетных записей или учетных записей операционной системы.
Помните, что вы можете создавать имена пользователей, содержащие специальные символы, и за пределами ArcGIS, однако такие имена должны использовать разделители для корректной работы с ними. ArcGIS автоматически добавляет разделитель при передаче в SQL Server; вам не нужно указывать его при входе. Например, если имя пользователя – map.user, введите map.user, а не "map.user" при входе на SQL Server из ArcGIS. Для получения более подробной информации об обычных и сложных идентификаторах обратитесь к документации к SQL Server.
Владение данными
В ArcGIS пользователь, создающий таблицы, классы объектов и представления базы геоданных или базы данных, является владельцем этих наборов данных. Например, если администратор базы геоданных создает базу геоданных, то он является владельцем системных таблиц базы геоданных, которые создаются в СУБД в это время. Точно так же пользователь, который создает класс пространственных объектов, владеет этим классом пространственных объектов.
Пользователь, чье имя используется для создания подключения к базе геоданных во время создания наборов данных, является владельцем этих данных.
Пользователи, являющиеся владельцами данных, должны также иметь в базе данных схемы, названия которых совпадают с именем пользователя.
Например, сотрудники с частичной занятостью Борис и Базиль имеют право создавать наборы данных в базе геоданных. Борис и Базиль используют один и тот же компьютер. Если они оба используют учетную запись Базиля для подключения к базе геоданных в ArcGIS, все созданные ими наборы данных будут принадлежать ему и будут сохранены в его схеме.
Если Борис хочет, чтобы созданные им данные сохранялись в его схеме, он должен изменить свойства подключения к базе данных и перед созданием данных подключаться к базе данных под своим именем пользователя.
Важно знать, кто является владельцем данных, так как удаление учетной записи пользователя из базы данных в том случае, если пользователь является владельцем данных, невозможно. Кроме того, важно помнить, что пользователь, создавший набор данных, контролирует уровень доступа других пользователей к этому набору данных.
Доступ пользователей
У вашей базы данных должна быть возможность проверить учетные записи пользователей, которые пытаются к ней подключиться. Это означает, что администратор базы данных должен добавить пользователей в базу данных. База данных осуществляет проверку списка пользователей, чтобы убедиться, что пользователю разрешено создавать подключение. Этот процесс называется аутентификацией.
При работе с базами данных SQL Server используются два типа аутентификации: аутентификация средствами операционной системы и аутентификация в базе данных.
Аутентификация средствами операционной системы (ОС) указывает на то, что пользователь вошел в систему на компьютере с помощью своей учетной записи. Учетные данные для авторизации предоставляются базе данных операционной системой компьютера пользователя. Для подключающегося пользователя это означает, что он должен только войти в систему на своем компьютере. В этом случае отдельного подключения к базе данных не требуется. Для администратора базы данных это означает, что существующая учетная запись должна быть добавлена в базу данных, и база данных должна быть настроена так, чтобы распознавать существующие учетные записи пользователей.
При использовании аутентификации в базе данных пользователи подключаются к серверу, а затем отдельно к базе данных.
После добавления пользователей администратор базы данных должен также предоставить им специальные права доступа, чтобы определить их уровень доступа при работе с базой данных. Права доступа проверяются в базе данных, когда пользователь, прошедший аутентификацию, пытается получить доступ к базе данных или изменить ее объекты. Этот процесс называется авторизацией. В ArcGIS владельцы данных могут также выдавать права доступа к своим данным другим пользователям и группам.
Предоставляемые пользователям типы прав доступа зависят от типа работы, которую им требуется выполнять. Некоторым пользователям необходимо только подключение к базе данных для просмотра определенных данных. Другим пользователям необходимо создавать новые наборы данных. В следующем разделе объясняется, как можно сгруппировать учетные записи пользователей для упрощения управления привилегиями.
Группы пользователей и роли
Большинство систем управления базами данных предоставляют администратору базы данных способы группировки пользователей с учетом их потребностей в доступе к данным и предоставления прав группе. Это позволяет уменьшить временные потери, вызванные изменениями прав отдельных пользователей, и упрощает управление большим числом прав доступа сразу для нескольких пользователей. Поэтому вы можете использовать группы (которые также называются ролями, типами или уровнями доступа в СУБД), которые предоставляют права пользователям, исходя из их рабочих обязанностей.
Обычные категории или группы пользователей: те, кто просматривает данные, те, кто редактирует данные, и те, кто создает данные.
В большинстве случаев предоставление прав группе не препятствует предоставлению прав отдельным пользователям в многопользовательской базе геоданных. Например, вы можете предоставить минимальные права, необходимые для создания данных в базе, соответствующей группе (куда может входить и администратор базы геоданных), а затем присвоить администратору дополнительные права. Каждая СУБД по-своему обрабатывает права доступа; вам следует обратиться к документации по СУБД, чтобы уточнить поведение прав ролей и отдельных пользователей в данной СУБД.
Кроме того, большинство СУБД имеют предустановленные группы. Одна из таких ролей – роль PUBLIC.
Группа или роль PUBLIC по существу является переменной, которая приравнивается к любому пользователю, подключившемуся к базе данных, поэтому любое право, предоставленное группе PUBLIC, предоставляется любому пользователю, подключенному к базе данных. Могут возникнуть ситуации, когда все пользователи требуют предоставления определенного права. Например, для подключения к базе данных SQL Server или Db2 пользователь должен иметь право CONNECT. Поскольку всем пользователям необходимо это право для подключения, SQL Server и Db2 выдают его группе PUBLIC по умолчанию.
Иногда при создании базы данных группе PUBLIC по умолчанию предоставляются права высокого уровня. Однако по соображениям безопасности предоставление привилегий для PUBLIC следует использовать только в случае крайней необходимости.
Для изучения других предустановленных групп обратитесь к документации вашей СУБД.
Советы по группировке пользователей
Ниже дается несколько советов по группировке пользователей в СУБД:
- Создайте отдельные группы (роли) с правами доступа к системе и к объектам. Это позволит администратору базы геоданных управлять правами доступа к базе данных путем выдачи их системным группам, а владельцам данных управлять правами доступа к своим наборам данных путем выдачи их группам.
- Выберите правила именования, которые отражают тип каждой группы (роли). Например, группу, которая имеет возможность редактировать все данные земельных участков, можно назвать LANDBASE_EDITORS.
- Предоставьте права непосредственно администратору базы геоданных, а другим пользователям предоставляйте права через группы (роли). Учетная запись администратора базы геоданных является особенной. В большинстве случаев в любой базе геоданных существует только один такой пользователь, и он не участвует в логической группе пользователей. Опытные администраторы баз данных назначают права доступа учетной записи администратора напрямую. В отличие от них, неадминистраторские учетные записи должны получать права через группы, которые отображают описание их работы, степени ответственности за выполнение проекта или другую логическую классификацию в пределах организации.
- Старайтесь не смешивать роли с непосредственно предоставленными правами с учетными записями остальных пользователей. Если неадминистраторская учетная запись получает права напрямую и через роль, хорошо спланированная модель безопасности превращается в неуправляемую структуру, требующую большого количества времени и усилий на ее восстановление. Задавайте правила для владельцев данных при предоставлении доступа к их данным.
В редких случаях, когда неадминистратор действительно нуждается в особых мерах безопасности, можно напрямую предоставить ему некоторые права, чтобы не усложнять модель безопасности на основе ролей. Такие случаи необходимо документировать; они должны быть исключением из правил.