Единая аутентификация Windows NT/2000 и Oracle
При использовании Windows NT/2000 как платформы для работы Oracle, и на стороне сервера и на стороне клиентов, имеется возможность использовать единую систему аутентификации для пользователей базы данных и операционной системы.
Механизм аутентификации привилегированных пользователей более-менее широко известен, а вот аутентификация рядовых пользователей, несмотря на свои определенные плюсы, применяется далеко не часто.
При включении такого механизма аутентификации, Oracle полностью полагается на операционную систему, которая согласно своим правилам, принимает или отвергает запросы удаленных клиентских машин на использование внутренних ресурсов. В Windows NT/2000 единый механизм аутентификации применяется повсеместно, для доступа к различным сервисам. Например, при работе Exchange Server или SQL Server Вам, скорее всего не придется вводить имя и пароль второй раз, после того как вы уже произвели аутентификацию при входе в Windows (все зависит от настроек). Oracle тоже может интегрироваться сWindows, используя единый механизм аутентификации. При подобной аутентификации, Oracle, используя несложные правила, пытается сопоставить имя пользователя Windows с зарегистрированным пользователем базы данных. Я не знаю другой операционной системы, кроме Windows, где бы возможно было использование подобного механизма аутентификации без привлечения программного обеспечения третьих фирм (с удовольствием сделаю коррекцию этого утверждения, если, кто ни будь, имеет другие сведения).
Для использования единой аутентификации, в поставке Oracle как сервера, так и клиента для Windows NT, есть специальный аутентификационный адаптер. Как на клиенте, так и на сервере этот адаптер активизируется при занесении в файл sqlnet.ora строки “SQLNET.AUTHENTICATION_SERVICES= (NTS)”. Во время инсталляции Oracle 8i подобная строка прописывается в этот файл автоматически.
Аутентификация администраторов
Решение имеет или не имеет право пользователь Windows произвести соединение с базой данных как SYSDBA, Oracle производит на основании проверки принадлежности этого пользователя в одну из предопределенных групп операционной системы:
- Группа ORA_DBA позволяет всем входящим в нее пользователям регистрироваться как SYSDBA на любом экземпляре (instance), работающем на данной машине (или любом экземпляре любой машины домена, если группа определена на уровне домена).
- Группа ORA_XXX_DBA (где XXX – имя экземпляра) позволяет подобную регистрацию только в экземпляре с именем XXX.
Если вышеприведенное условие соблюдено, то пользователь может произвести регистрацию как SYSDBA, введя следующее:
SQL> connect / as sysdba
или
SQL> connect /@SERVICE_NAME as sysdba
При инсталляции Oracle 8i, программа установки автоматически создает локальную группу с названием “ORA_DBA” и добавляет в нее текущего пользователя.
Аутентификация пользователей
В случае рядовых пользователей, Oracle использует некоторые специальные правила, для ассоциации пользователя базы данных с пользователем операционной системы.
Подобная ассоциация может производиться с или без использования доменного имени пользователя Windows.
Используется или нет имя домена, определяется значением регистровой переменной OSAUTH_PREFIX_DOMAIN. При установке этой переменной в значение TRUE производится учет доменного имени, в FALSE, соответственно нет. Эта переменная в регистре располагается по следующему адресу: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ HOMEID (где ID номер 0,1,2…)
Кроме этого при сопоставлении имен, учитывается значение параметра Oracle OS_AUTHEN_PREFIX (значение по умолчанию OPS$).
При попытке пользователя произвести соединение через SQL*Plus следующей строкой:
SQL> connect /
или
SQL> connect / @SERVICE_NAME
Oracle пытается найти пользователя базы данных с именем сформированным из значения параметра OS_AUTHENT_PREFIX, имени домена(если домен используется) и имени пользователя Windows. Например, имеем пользователя SCOTT из домена DOMAIN и значение переменной OS_AUTHENT_PREFIX равное “OS_”.
- Без учета домена Oracle будет искать пользователя базы данных с именем OS_SCOTT;
- С учетом домена, с именем OS_DOMAIN\SCOTT
При создании пользователя базы данных должна задаваться внешняя аутентификация. Например:
SQL> create user “OS_DOMAIN\SCOTT” identified externally;
Т.е. этот пользователь не может произвести соединение через стандартную процедуру аутентификации Oracle, по той простой причине, что не имеет пароля. Исключение из правила при использовании внешней аутентификации происходит только тогда, когда параметр OS_AUTHENT_PREFIX имеет значение по умолчанию (“OPS$”). В этом случае пользователь, может использовать внешнюю аутентификацию, даже если он был создан с обычным паролем.
SQL> create user SCOTT identified by TIGER;
В пакете установки для Windows, Oracle поставляет инструмент Oracle Administration Assistant for Windows NT, с помощью которого можно все перечисленные действия автоматизировать.
Стоит еще заметить, что я перечислил не все возможности Oracle по взаимодействию с операционной системой в плане аутентификации и авторизации пользователей. Для краткости только скажу, что Oracle позволяет подобным (как описано выше) образом производить ассоциацию между группами пользователей операционной системы и внутренними ролями.
Важное замечание: При использовании подобной аутентификации Вам не нужно устанавливать параметр REMOTE_OS_ATHENT=TRUE. Более того Oracle всегда рекомендует воздержатся от включения этого параметра - потому как это создает огромную дыру в безопасности системы.
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
"Интернет не меняет бизнес-модели, он способен лишь дать новые мощные инструменты уже существующим." |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.