Oracleの権限について。
この記事の内容はコチラです
- 権限とは?
- 権限がないとどうなる?
- GRANTの使い方
今回は、Oracleの権限について紹介します!
Oracleの権限とは?
Oracleでテーブルを作成するには「テーブルを作成する権限」をもっていないと作成はできません。テーブルの作成に限らず、何をするにしても権限が必要なのです。
- システム権限
- オブジェクト権限
Oralceの権限は「システム権限」「オブジェクト権限」という2種類の権限があります。
システム権限
システム権限はデータベースに対して操作する権限です。
例えば、データベースを変更する権限(ALTER DATABASE)、表領域を作成する権限(CREATE TABLESPACE)、ユーザーを作成する権限(CREATE USER)などです。
オブジェクト権限
オブジェクト権限とはデータベース全体ではなく特定のスキーマに関しての権限になります。
例えば、登録権限(INSERT権限)、削除権限(DELETE権限)などがあります。
権限を付与するGRANTコマンド
では、実際にコマンドで権限を付与してみましょう。
GRANT文
権限付与はGRANT文で行います。まずは権限を付与できるユーザーでログインする必要があります。
ここではsysdbaでログインします。
-- sysdbaでsqlplusへ接続 sqlplus / as sysdba
権限付与できるユーザーでログインできました。権限付与していきます。
-- CREATE TABLE権限をSATOUユーザーへ付与 GRANT CREATE TABLE TO SATOU;
上記コマンドはシステム権限であるCREATE TABLE権限を「SATOU」ユーザーへ付与します。これで「SATOU」はCREATE TABLEが可能となりました。
-- INSERT権限をSATOUのTABLE_Aに対して付与 GRANT INSERT ON TABLE_A TO SATOU;
上記コマンドはオブジェクト権限であるINSERT権限を「SATOU」のTABLE_Aに対して付与します。これで「SATOU」はTABLE_Aに対してINSERTできるようになりました。
権限付与は必要最低限にする
Oracleは権限がないと何もできません。だからといって多くの権限を与えるのはセキュリティ上、好ましくはありません。
権限で重要なことは、「必要最低限な権限のみを付与する」ということです。そして、その「必要最低限」を見極めるのがDBAの仕事であります。
Oracleの権限のまとめ
- Oracleは権限がないと何も操作できない
- 権限を付与して使う
- 権限付与はGRANTコマンド
- 必要最低限の権限のみを付与するのがポイント
以上、Oracleの権限のまとめでした。
コメント