X

オラクルエンジニア通信では、オンプレミスからクラウドまで、オラクルテクノロジーの最新情報をお届けします

  • October 19, 2011

OS認証(オペレーティング・システム認証)とは

管理者ユーザ(SYSユーザ)の認証


Oracle Databaseに接続(connect)するためには、データベース・ユーザで接続するにあたっての「認証」が必要です。

通常のデータベースユーザでは、データベースに接続する際に、ユーザ名・パスワードを入力して認証を行います。

しかし、管理者ユーザ(SYSユーザ)の認証は、OS認証もしくはパスワード認証を用いることが必要です。


OS認証とは


OS認証を用いて管理者ユーザ(SYSユーザ)の認証を行うためには、Oracle Databaseの導入時に指定したOSグループ(例 dbaグループ) に所属するOSユーザを用います。



DBCA

[Oracle Database導入時のOSグループ指定]





所属グループの確認は、UNIX/Linuxでは” id a ”コマンドで確認可能です。

Windowsでは [コンピュータの管理] → [ローカルユーザとグループ] で確認可能です。





指定されたOSグループに所属するOSユーザ(例:oracle)で、DBサーバのホスト時からDBに接続します。




$ sqlplus /nolog

SQL> connect / as sysdba


 ※ユーザ名・パスワードの指定は必要ありません。



このように、認証機能をOSに代行されるため、「OS認証」と呼ばれています。





Windowsプラットフォーム上でOS認証を用いる場合は、

$ORACLE_HOME\network\admin\sqlnet.ora ファイルに以下の記述が必要です。



SQLNET.AUTHENTICATION_SERVICES = (NTS)




一般ユーザでOS認証を用いるためには


通常、OS認証はDB管理ユーザ(SYSユーザ)で用いられますが、アプリケーションが用いる一般ユーザでも使用することができます。

一般ユーザでOS認証を用いる場合は、OS上のユーザ名とOracle Database上のスキーマユーザ名を以下の関係にします。




[Oracle Database上のスキーマユーザ名]  =

          [初期化パラメータOS_AUTHENT_PREFIX ] + [ OS上のユーザ名 ]


 例:os_authent_prefix = ops$ (デフォルト値) , OS上のユーザ名=scottの場合

   Oracle Database上のスキーマユーザ名はops$scott となる。



Oracle Database上のユーザを作成する際には、以下の構文を用います。


create user [ ユーザ名 ] identified externally




OS上のユーザによる認証で、DBに接続します。


$ sqlplus /nolog
SQL> connect /




OS認証を含む、Oracle Databaseのセキュリティ対策について解説するセミナーです。

「今さら聞けない!?セキュリティ対策」

「大丈夫ですか?データベースのセキュリティを見直す七つの方法」

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.