ORACLE MASTER Bronze DBA講座(8)
Oracleユーザーの権限とロール
有限会社 G.F.インフィニティ (Project - ∞)
2005/12/16
Oracleデータベースエンジニアとしての実力を証明するORACLE MASTER資格。その入り口であるBronze資格の取得は難しくない。本連載と、同時掲載中の連載「Bronze SQL基礎I 講座」で合格を目指そう!(参考記事:「Oracle 10g対応のORACLE MASTERとは?」) |
前回に引き続き、ユーザーとセキュリティの管理について学びます。前回「Oracleユーザーを管理する」で、ユーザーの作成と管理を紹介しました。今回はユーザーの権限とロールについて学びましょう。
ORACLE MASTER Bronze DBA講座 各回のインデックス |
第1回 Oracleデータベース構造の基本 |
第2回 はじめてのOracleインストールとデータベース作成 |
第3回 Oracleデータベースの管理ツールを使う |
第4回 Oracleのネットワークを構成する |
第5回 Oracleインスタンスを管理する |
第6回 Oracleのデータベース記憶域を探る |
第7回 Oracleユーザーを管理する |
第8回 Oracleユーザーの権限とロール |
第9回 Oracleの表の作成とビューの利用 |
第10回 Oracleのスキーマオブジェクトを活用する |
第11回 Oracleのデータを復元する |
最終回 Oracleデータベースの自己診断と最適化 |
■理解しておきたいこと
1.確認しておきたい内容
- 権限とロールの付与
- ロールの作成と管理
2.起動や停止が可能な管理者権限
データベースの起動や停止を行うために、SYSDBA権限とSYSOPER権限という特別な権限があります。
|
どちらの権限もデータベースの起動ができるわけですから、データベースがオープンしていない状態(インスタンスが停止した状態など)でも接続できます。
|
|
データベースの起動や停止が可能な管理者権限を2つ選択しなさい。
-
a.DBA
b.SYSDBA
c.SYSOPER
d.Administrator
e.SYSMAN
正解:b、c
|
データベースの起動や停止には特別な権限が必要です。SYSDBA(正解b)とSYSOPER(正解c)がそれです。
権限は、Database Controlに接続するときの「接続モード」リストで選択できます(図1)。
図1 Database Controlへの接続リスト |
Database Controlに「Normal」で接続している場合、停止などを行うときには「ホスト資格証明」と「データベース資格証明」の入力が必要です(図2)。
図2 資格証明の入力(クリックで全体を表示します) |
不正解となる選択肢を解説しましょう。
●選択肢a:DBAロールはOracleデータベースに対するすべての権限を持っていますが、データベースの起動と停止は除かれます。DBAロールを持っているだけでは、起動や停止を行うことができません。
●選択肢d:Administratorという権限は存在しません。
●選択肢e:SYSMANはユーザー名です。権限の名称ではありません。SYSMANは、Enterprise Managerにてデータベースを管理するユーザーとして用意されています。
|
インスタンスが停止していても接続できるロールまたはシステム権限を2つ選択しなさい。
-
a.CONNECT
b.CREATE SESSION
c.SYSDBA
d.RESOURCE
e.SYSOPER
正解:c、e
|
本質的には問題1と同じです。データベースの起動や停止を行うには、データベースの外部で認証されているユーザーである必要があります。データベースの外部で認証されているのが、SYSDBA(正解c)とSYSOPER(正解e)システム権限です。SYSDBAとSYSOPERの認証は、OSのグループを使って管理(OS認証)またはOracleユーザーにて認証(パスワードファイル認証)します。パスワードファイル認証を使用する場合はシステム権限として付与します(図3)。
図3 システム権限の付与(クリックで全体を表示します) |
SQL> connect sys as sysdba パスワードを入力してください: アイドル・インスタンスに接続しました。 |
「アイドル・インスタンスに接続しました」は、インスタンスが停止している状態を表します。このとき権限のないユーザーで接続すると、「ORA-01034: ORACLE not available」というエラーが発生します。
SQL> connect scott パスワードを入力してください: ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 警告: Oracleにはもう接続されていません。 |
不正解となる選択肢を解説しましょう。
●選択肢a:エンドユーザー向けのロールです。セッションを確立したり表を作成したりする権限が含まれていますが、データベースがオープンしていなければ接続できません。
●選択肢b:データベースにセッションを確立するためのシステム権限です。データベースがオープンしていなければ接続できません。
●選択肢d:開発者向けのロールです。プロシージャと呼ばれるプログラムなどの作成はできますが、このロールだけではデータベース接続できません。
3.システム権限とオブジェクト権限
ユーザーがデータベースで何の操作を行えるかは、システム権限で管理されます。表を作成する権限(CREATE TABLE権限)やユーザーを作成する権限(CREATE USER権限)などはシステム権限です。一方、ほかのスキーマ・オブジェクトへのアクセスを許可するのはオブジェクト権限です。スキーマ・オブジェクトの所有者はすべての権限を所有していますが、SELECTやDMLなどはオブジェクト権限を付与することで可能になります。
|
|
Database Controlを使用してオブジェクト権限を付与します。オブジェクトタイプとして「表」を選択してオブジェクト権限を付与する場合に必要な情報を選択しなさい。
-
a.オブジェクト権限を付与されるユーザー
b.表の名前
c.表の名前とオブジェクト権限
d.表の名前とオブジェクト権限を付与されるユーザー
正解:c
|
オブジェクト権限は、対象となるオブジェクトタイプによって付与される権限内容が変わります。例えばこの問題で使用している「表」タイプであれば、次のオブジェクト権限が使用できます。
- SELECT:行の参照(SELECT文)を許可
- INSERT:行の挿入(INSERT文)を許可
- UPDATE:行の更新(UPDATE文)を許可
- DELETE:行の削除(DELETE文)を許可
- ALTER:表の変更(ALTER TABLE文)を許可
- INDEX:索引の作成を許可
- REFERENCES:この表の主キーまたは一意キーを参照する外部キーの作成を許可
Database Controlを使用してオブジェクト権限を付与する場合、対象ユーザーの編集ページで「オブジェクト権限」タブを選択し、「オブジェクトタイプの選択」リストからオブジェクトタイプを選択します(図4)。
図4 オブジェクトタイプの選択(クリックで全体を表示します) |
続いて「表オブジェクトの選択」で表の名前を選択し、「使用可能な権限」リストからオブジェクト権限を選択します(図5)。
図5 オブジェクト権限の選択(クリックで全体を表示します) |
選択肢aと選択肢dにある「オブジェクト権限を付与されるユーザー」は、最初に対象となるOracleユーザーを選択するので、画面内では選択できません。
実際にDatabase Controlを使用してみれば、どのような情報が必要かが分かります。試験対策として、Database Controlでの操作をひととおり行っておくことをお勧めします。
4.ロール
システム権限やオブジェクト権限を直接ユーザーに付与するのでは、管理が煩雑になってしまいます。そこで権限をグループ化することを検討します。権限をグループ化するためにはロールを作成し、ロールに権限を付与します。ロールをユーザーに付与することで、ロール単位での権限管理ができます。
OEMでユーザーを作成すると、デフォルトで「CONNECT」ロールが付与されます。CONNECTロールには次の権限が含まれています(図6)。
図6 CONNECTロール(クリックで全体を表示します) |
|
なお、ロールを別のロールに付与することもできます。管理しやすい形のロールを作成するとよいでしょう。
|
|
CONNECTロールとRESOURCEロールと同じ権限を管理するCON_RESロールを作成します。まずは、CONNECTロールから類似作成を使用してCON_RESロールを作成しました。この後実施するべきことを2つ選択しなさい。
-
a.CON_RESロールをCONNECTロールに付与する
b.CON_RESロールをRESOURCEロールに付与する
c.RESOURCEロールをCON_RESロールに付与する
d.CONNECTロールに含まれる権限をCON_RESロールに付与する
e.RESOURCEロールに含まれる権限をCON_RESロールに付与する
f.CONNECTロールとRESOURCEロールに含まれていない権限をCON_RESロールから削除する
正解:c、e
|
前回、宿題とした問題です。ロールは権限をグループ化するための入れ物です。ロール内にはシステム権限、オブジェクト権限だけでなく、ほかのロールを入れることもできます。そのロールが付与されたユーザーは、それらすべての権限を使用した処理ができるようになります。
今回の問題では、CONNECTロールとRESOURCEロールに含まれている権限を持つ別のロールCON_RESロールを作成します。
一から作成するのであれば、(1)空のロール作成、(2)権限をロールに入れる(権限の付与)で完了します。しかし今回は「類似作成」を使用しているので、CONNECTロールに含まれていた権限はすでにCON_RESロールに含まれています。残るRESOURCEロール内の権限を含めればよいので、正解eのようにRESOURCEロールに含まれる権限をCON_RESロールに付与すれば完了します。
もっと簡単な方法は、正解cのように、RESOURCEロール自体をCON_RESロールに付与することです。ロールにロールを含めることもできるということを覚えておきましょう。
ほかの選択肢の不正解の理由を解説しましょう。
●選択肢a、選択肢b:CON_RESロールを作成するのですから、CON_RESロールをほかのロールに付与するというのはおかしいですね。
●選択肢d、選択肢f:CONNECTロールを基に類似作成を使用したので、CON_RESロールには、CONNECTロールに含まれていた権限が入っています。選択肢dの作業は必要ありませんね。正解cか正解dを行ったのであれば余計な権限は含まれていませんから、選択肢fの作業も不要です。
■まとめ
前回と今回の2回にわたって、ユーザーとセキュリティの管理について解説しました。次の内容をチェックしておきましょう。
- システムユーザーの位置付け(SYS、SYSTEM、SYSMAN、DBSNMPなど)
- アカウントロックとパスワード期限切れ
- Database Controlによるユーザー作成ページの各種情報(必須属性はユーザー名とパスワードなど)
- データベースの起動や停止ができるのは、SYSDBAとSYSOPER権限
- Database Controlによるシステム権限、オブジェクト権限、ロールの付与方法
■宿題
次回は、「スキーマ・オブジェクトの管理」を確認します。次の宿題を解いておいてください。
|
列に一意な値のみが格納されるように制限できる制約を2つ選択しなさい。
-
a.主キー制約
b.外部キー制約
c.NOT NULL制約
d.一意キー制約
e.チェック制約
IT資格試験の模擬問題をWebベースで学習できる@IT自分戦略研究所の新サービス「@IT資格攻略」では、Oracle関連の資格をテーマとして取り上げています。Bronze SQL 基礎 I、Bronze DBA 10gも近日中に追加予定です。「無料お試し版」もありますので、記事と併せてご覧ください。 |
ORACLE MASTER Bronze DBA講座 バックナンバー
【10月1日】 Windows Server 2008対応資格、MCTSの問題を配信開始 ↓↓↓以下の試験の模擬問題を出題↓↓↓ 「Windows Server 2008 Active Directory, Configuring」(70-640) 「Windows Server 2008 Network Infrastructure, Configuring」(70-642) |
10年後、コンサルタントとして生き残る道が『ここ』にあった! 『経験=価値』を確立するための、将来が見えるキャリアパス“3つのポイント” |
メーカー系企業とはまた違う面白さがココにある! ――今、組み込みソフトウェア 専業ベンダがものづくりエンジニアの“腕磨きの場”として注目される理由とは? |
本当の意味での「工事進行基準」を満たせ! 次世代プロジェクトマネージャの 必須スキルとは? 〜第11回:エンジニア・キャリア進化論〜マイナビ転職 |
ありそうでなかった新資格が満を持して登場! UNIXになかなか手を出せなかった エンジニアに打ってつけの入門資格“サン認定UNIX(R)(Solaris)アソシエイツ” |
Javaプログラミング、新人研修でどう教える? ――『研修内容に妥協はしません』 “ドリル演習”と“ワークショップ”を取り入れた、独自カリキュラムに自信があります! |
現役ビジネスパーソンが語る『社会人と大学院生の兼業生活』 “将来は独立も視野に入れ、総合力を生かした企画プロデュースをしていきたい!” |
|
|
1日1問、模擬試験問題をメールで届けます | |
ITスキル研修4000件、最新情報の検索できます |
ゼネラルスポンサー
・ケ・ュ・チマツ、クヲオ貍シ・ケ・ン・・オ。シ
◆
将来へのヒントと実現できる採用企業紹介 『経験=価値』の確立と“3つのポイント” ◆ 組み込みソフトウェア専業ベンダが “腕磨きの場”として今、注目される理由 ◆ 本当の意味での工事進行基準を満たせ! 〜エンジニア・キャリア進化論(第11回)〜 |
◆「デザイン」をキーワードに企業のコミュニケ ーションを促進 (株)ビジネス・アーキテクツ ◆企業選びで後悔したくない人の IT業界「転職眼ヂカラ」養成講座
|
お勧め求人情報
◆ 広がる!エンジニアとしての可能性―― ありそうでなかった待望の新資格が登場 |
◆
2009年度の新人研修では、Javaがトレンド! 『でも、Javaってどう教えたらいいの?』 |
◆ @IT自分戦略研究所に掲載された、 大学院の記事を見て入学を決意しました。 |
**先週の人気講座ランキング**
〜ネットワーク編〜
|
|