UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Oracleユーザ管理基礎知識


Oracleユーザ管理基礎知識


0.改定履歴

  • 2001.01.20 初版
  • 2001.05.21 8.1.6のインストレーションガイドを見て不明だったユーザアカウントの情報を追加.

1.はじめに

 このドキュメントでは,Oracleのユーザアカウントについて必要な基礎知識についてまとめる.

2.Oracleのアカウントの独立性

 Oracleへ接続しなんらかの作業を行うには,Oracleへのログインが必要である.

 このログインは,OSへのログインとは基本的に独立している. よって,Oracle上にアカウントを作成し,その権限等を設定する必要がある.

 MicrosoftのSQL Server等は,OSのアカウントと統合するような仕組みがあるが,OracleにもWindowsNT版ではそのような仕組みがありそうであるが,ここでは無視する.

3.組み込みアカウント

 Oracleをインストールした際に作成されるユーザアカウントがある.

 一般的なものは,次のとおりである.

よく使う組み込みアカウント
ユーザ名 パスワード 用途
internal oracle  主にデータベースの開始・停止等の管理タスクを実行するときに使用される.
scott tiger  主に接続確認や学習用に利用される.
system manager  Oracleの管理者用のアカウント.
普通のDBA用.
sys change_on_install  Oracleの管理者用のアカウント.
さらに細かい設定が可能なDBA用.

  • Oracle7.xの頃は,systemとsysについてインストール時にパスワードを設定する作業があったが,Oracle8ではデフォルトで上記のようなパスワードが設定される.
  • scottユーザは,カスタムインストールで初期データベースをインストーラが作成しないように設定した場合は,作成されない.

 表「よく使う組み込みアカウント」のアカウントは,Oracle6〜Oracle8iまでに存在していることを確認している.

 その他にも,今後バージョンが変わるにつれ,組み込みアカウントは増えてくるものと思われる.
 ちなみに,Oracle8.0.5 for WindowsNTでは,次のようなアカウントが設定されている.

あまり使わない組み込みアカウント
ユーザ名 パスワード 用途
DBSNMP DBSNMP  SNMPAGENTのデータベースロールが含まれており,Oracle Intelligent Agentで利用する(らしい)
MTSSYS MTSSYS  Oracle Service for MTSを実行するユーザ.
CTXSYS CTXSYS  Oracle interMedia Textのユーザ.
MDSYS MDSYS  Oracle interMedia Audio,Video,LocatorおよびImageの管理ユーザ.
ORDSYS ORDSYS Oracle interMedia Audio,Video,LocatorおよびImageのユーザ名であり,Oracle Time ServiceおよびOracle Visual Information Retrivalの管理者.
ORDPLUGINS ORDPLUGINS  Oracle InterMedia,Audio,Videoのユーザで,1つのセッションで複数のプラグ印を使用可能.
outln outln   プランスタビリティをサポートし,同一のSQL文に対して同じ実行プランを維持できる. 格納されたアウトラインに関係するメタデータを集中的に管理する場所として機能する.
DEMO DEMO  不明.
COMDEMO COMDEMO  Oracle COM Automationのユーザ名.

4.権限設定(ロール)

 Oracleのアカウントに,どのような事ができるかという権限を与える必要がある. この権限を与えないと,接続さえできない.

 その権限のかたまりの事を,Oracleではロール(role)という.

 このロールは,次のようなものが用意されている.

よく使う組み込みロール
ロール名 主な役割
CONNECT  エンドユーザとして十分なシステム権限. create session,alter session, create database link,create sequence,create cluster, create synonym,create table,create view
RESOURCE  アプリケーションデザイナ(開発者)に十分なシステム権限. create cluster,create procedure,create sequence, create table,create trigger
DBA  管理者用のwith admin option付き全てのシステム権限.
EXP_FULL_DATABASE  エクスポート(バックアップ)権限. select any table.backup any table.insert,delete,update on sys.incvid,sys.incfil,sys.incexp
IMP_FULL_DATABASE  インポート(リストア)権限. become user

 通常の利用に際しては,このどれかのロールを与えればよい.
 これらのロールは,Oracle6〜Oracle8iで用意されているが,Oracle7の頃に,将来なくなる可能性があるとされていたことがあったが,これからも残るようである.

あまりつかわない?組み込みロール
ロール名 主な役割
AQ_ADMINISTRATOR_ROLE よーわからん
AQ_USER_ROLE よーわからん
DELETE_CATALOG_ROLE よーわからん
EXECUTE_CATALOG_ROLE よーわからん
HS_ADMIN_ROLE よーわからん
RECOVERY_CATALOG_OWNER よーわからん
SELECT_CATALOG_ROLE よーわからん
SNMPAGENT よーわからん

 たいていは,開発者・エンドユーザ用にRESOURCE,管理者用にDBAを使いバックアップもDBAで行っていると思うので,この2つを知っていればよいかと思う.

 このロールは,ユーザアカウントに対し,多対多の関係となる.つまり,1ユーザに対して複数のロールを与えられ,1つのロールは複数のユーザに与えることができる.
 この場合の権限は,OR条件となり,権限の高いほうが優先される.(とおもう)

 また,ロールの中にロールを入れることも可能である.

5.プロファイル

 ロールでは,データベースが提供するリソースに対するアクセス権限を設定するが,プロファイルでは,その他の権限や制限について設定することができる.

 プロファイル項目は,大きく2つの分けられる.

  • 一般
  • パスワード

 とりあえず普通の利用方法では,プロファイルに関する詳細設定は不要とおもわれるが,セッションに関するチューニング,パスワードによるセキュリティ強化の際に利用すると考えていればよい.

5.1.組み込みプロファイル

 プロファイルについては,Oracle社もあまり重要視していない?様で,特別に推奨する設定は無い様である.

組み込みプロファイル
プロファイル名 内容
DEFAULT すべて制限無し

5.1.一般プロファイル

 Oracle8.0.5には,次のような一般プロファイル設定項目がある.

一般プロファイル
制限 単位 内容説明
CPU 100分の1秒 Oracleへの接続している1セッションがCPUを利用する事時間,1回の呼び出しに割り当てられるCPUの最大時間を設定できる.
接続時間 1つのセッションに割り当てられる最大接続経過時間.
アイドル時間 単位で1つのセッションに割り当てられる最大アイドル時間.
同時セッション数 1ユーザ 最大同時セッション数.
読込/セッション ブロック数 1セッションに割り当てられるデータベースブロック読み込み総数. メモリやディスクから読み出されるデータ容量の制限となる.
読込/コール ブロック数 1回のSQL文を処理するために割り当てられる最大データブロック総数.
プライベートSGA Kバイト SGAの共有プール内にセッションによって割り当てられる最大メモリ領域. マルチスレッドサーバの場合のみ利用できる.
複合制限 サービス
ユニット
セッションで使用されたCPU時間,接続時間,読み込み数,プライベートSGAの加重合計.1回のセッションの総リソースコスト.

 これらは,デフォルトではUnlimited(無制限)となっている. 変更する(制限を与える)事があるとすれば,多分ユーザセッションに関するチューニングが必要になったときだと思われる.

5.2.パスワードプロファイル

 パスワードに関する詳細な動作について設定することができる.

制限 設定内容 意味
パスワード期限 期限 設定した日周期に変更する必要がある.
ロック 期限切れ以降のログインの際にパスワード変更が可能な日数を指定.
パスワード履歴保存 保存 同じパスワードを利用できるようになるまでにパスワード変更しなければいけない回数.
保存期間 同じパスワードを再度設定して利用できるまでの期間を日数でしてい. 「保存」が指定されている場合は,この設定は無効となる.
パスワード難易度 ユーザがログインする際に,パスワードの検証にPL/SQLを利用するように設定した場合,それを選べる. Oracleでは,utlpwdmg.sqlというものを提供しているが自分で組み込むことも可能である.
ログオンに失敗したアカウントをロック ログオン失敗 指定した回数パスワードを間違えたら,アカウントを使えないようにする.
ロック期間 アカウントを使えないようになった場合にロックする期間を日数で指定する.

 それぞれのパスワードの設定内容が「Default」となっている場合は,DEFAULTプロファイルの設定値が適用される. DEFAULTプロファイルの設定値は,インストール直後だとUnlimitedとなっている.

6.おさらい

 Oracleでユーザを作成,管理する際には,次のことを考える必要がある.

  • ユーザ名を考える
  • ロール(権限)をどれにするか考える.
    • エンドユーザには,connectロール.
    • 業務処理で,connectロールでは権限が足りないときはresourceロール.
    • データベース管理者には,dbaロール.
    • 必要であれば,ロールを作成する
  • プロファイルを設定するか否かを考える.



広告スペース
Google