利用者を追加または削除した場合は、利用者に新たに権限を付与したり、利用者から権限を削除します。ロールを追加した場合は、利用者に新たにロールの権限を付与します。また、ロールが不要になった場合は、ロールを削除したり、ロールの権限を利用者から削除します。
新たに権限を追加する場合は、GRANT文で行います。権限を削除する場合は、REVOKE文で行います。
利用者“SATO”に発注表のSELECT権とINSERT権を追加する例を示します。
$ rdbddlex -d RDBDB /home/rdb/DDL/grnt.dat
[grnt.datの例]
GRANT SELECT,INSERT ON STOCKS.発注表 TO SATO ;
利用者“TANAKA”から在庫表のSELECT権を削除する例を示します。
$ rdbddlex -d RDBDB /home/rdb/DDL/revo1.dat
[revo1.datの例]
REVOKE SELECT ON STOCKS.在庫表 FROM TANAKA ;
新たにロールを追加する場合は、CREATE ROLE文で行います。ROLEを削除する場合は、DROP ROLE文で行います。
ロールに表の権限を付与する、表の権限を変更する、またロールを利用者に付与する場合はGRANT文で行います。ロールの表の権限を削除する、また利用者のロールの権限を削除する場合はREVOKE文で行います。
ロールの追加
新たにロールを追加する場合は、以下の手順で行います。
CREATE ROLE文でロールを定義
GRANT文でロールに権限を付与
GRANT文でロールの権限を利用者に付与
ロール“STOCKS_A2”を追加する例を示します。
CREATE ROLE文でロールを定義します。
$ rdbddlex /home/rdb/DDL/crle.dat
[crle.datの例]
CREATE ROLE STOCKS_A2 ;
GRANT文でロールに権限を付与します。
$ rdbddlex -d RDBDB /home/rdb/DDL/grnt1.dat
[grnt1.datの例]
GRANT SELECT ON STOCKS.在庫表 TO ROLE STOCKS_A2 ; GRANT SELECT,INSERT,UPDATE ON STOCKS.発注表 TO ROLE STOCKS_A2 ; GRANT SELECT,UPDATE,INSERT,DELETE ON STOCKS.会社表 TO ROLE STOCKS_A2 ;
GRANT文でロールの権限を利用者に付与します。
$ rdbddlex /home/rdb/DDL/grnt2.dat
[grnt2.datの例]
GRANT STOCKS_A2 TO SUZUKI,TANAKA,SATO ;
ロール“STOCKS_A2”に在庫表の権限を追加する例を示します。
$ rdbddlex -d RDBDB /home/rdb/DDL/grnt3.dat
[grnt3.datの例]
GRANT INSERT,UPDATE ON STOCKS.在庫表 TO ROLE STOCKS_A2 ;
ロールの削除
ロールを削除する場合は、DROP ROLE文で行います。
ロールを削除すると、GRANT文でロールに付与した権限や、利用者に付与したロールの権限も削除されます。
ロール“STOCKS_A2”を削除する例を示します。
$ rdbddlex /home/rdb/DDL/drol.dat
[drol.datの例]
DROP ROLE STOCKS_A2 ;
ロールの権限の削除
ロールから権限を削除する場合、また利用者のロールの権限を削除する場合は、REVOKE文で行います。
ロールから権限を削除するには、以下の2つの操作があります。
ロールの権限を削除
ロールの利用者の権限を削除
ロール“STOCKS_A2”から在庫表のSELECT権を削除します。
$ rdbddlex -d RDBDB /home/rdb/DDL/revo2.dat
[revo2.datの例]
REVOKE SELECT ON STOCKS.在庫表 FROM ROLE STOCKS_A2 ;
利用者“TANAKA”からロールの権限を削除します。
$ rdbddlex /home/rdb/DDL/revo3.dat
[revo3.datの例]
REVOKE STOCKS_A2 FROM TANAKA ;