ページの先頭行へ戻る
Symfoware Server V11.0.1 セキュリティ運用ガイド
Symfoware

7.1.3 権限の変更

利用者を追加または削除した場合は、利用者に新たに権限を付与したり、利用者から権限を削除します。ロールを追加した場合は、利用者に新たにロールの権限を付与します。また、ロールが不要になった場合は、ロールを削除したり、ロールの権限を利用者から削除します。

権限の追加と削除

新たに権限を追加する場合は、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文で行います。

ロールの追加

新たにロールを追加する場合は、以下の手順で行います。

  1. CREATE ROLE文でロールを定義

  2. GRANT文でロールに権限を付与

  3. GRANT文でロールの権限を利用者に付与

ロールの追加の操作例

ロール“STOCKS_A2”を追加する例を示します。

  1. CREATE ROLE文でロールを定義します。

    $ rdbddlex /home/rdb/DDL/crle.dat

    [crle.datの例]

      CREATE ROLE STOCKS_A2 ;
  2. 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 ;
  3. 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つの操作があります。

ロールの権限の削除の操作例
例1

ロール“STOCKS_A2”から在庫表のSELECT権を削除します。

$ rdbddlex -d RDBDB /home/rdb/DDL/revo2.dat

[revo2.datの例]

  REVOKE SELECT ON STOCKS.在庫表 FROM ROLE STOCKS_A2 ;
例2

利用者“TANAKA”からロールの権限を削除します。

$ rdbddlex /home/rdb/DDL/revo3.dat

[revo3.datの例]

  REVOKE STOCKS_A2 FROM TANAKA ;