[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Базы Данных / Oracle /

Единая аутентификация 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_MACHINESOFTWAREORACLE 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_DOMAINSCOTT

При создании пользователя базы данных должна задаваться внешняя аутентификация. Например:

SQL> create user “OS_DOMAINSCOTT” 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 всегда рекомендует воздержатся от включения этого параметра - потому как это создает огромную дыру в безопасности системы.





Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Базы Данных / Oracle /

Как взломать парольную защиту Oracle или как ее обойти
07-03-2010   

В статье рассматриваются некоторые собенности парольной защиты Oracle, способствующие несанкционированному проникновению в БД и меры по снижению риска подобного проникновения... подробнее

Кол. просмотров: общее - 3689 сегодня - 0

Размышления об Oracle
07-03-2010   

Я не понимаю, это у Оракла такая политика что ли? Почему, даже казуальные продукты этой компании могут работать лишь при условии создания им идеальных условий. Возьмем например, Oracle 10XE - бесплатный учебный вариант их монстра 10g. Казалось бы: продукт предназначен для бегиннеров: студентов и джуниор девов, которые только начинают изучать платформу. И по идее, он должен быть идеально отлажен по двум причинам... подробнее

Кол. просмотров: общее - 3029 сегодня - 0

Переход с MySQL на PostgreSQL: аналог mysql_insert_id()
07-03-2010   
Кол. просмотров: общее - 3109 сегодня - 0

Наиболее популярные версии Oracle на сегодня
03-03-2010   

К сожалению, нельзя точно посчитать, какое кол-во инсталляций СУБД Oracle в мире, какой версии и на каких платформах. Существуют лишь различные приближенные оценки. Одна из таких методик подсчета - по кол-ву открытых service requestах (SR) на metalink.oracle.com... подробнее

Кол. просмотров: общее - 2947 сегодня - 0

Таблицы только для чтения в Oracle 11g Release 1
09-04-2009   

В предыдущих версиях Oracle, сделать таблицу только для чтения, для других пользователей можно было дав объектные привелегии SELECT пользователю. Но для самого владельца таблица оставалась доступной для записи. Oracle 11g позволяет создавать таблицы которые помечаются только для чтения, используя команду ALTER TABLE... подробнее

Кол. просмотров: общее - 3111 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects