データベースのパーミッション

ユーザーおよびロールのパーミッションを設定する方法。

パーミッションは、データベース階層のどのレベルでも付与され、下位に流れる場合があります。キースペースとテーブルは次のような階層構造です。すべてのキースペース > キースペース > テーブル。.関数は次のような階層構造です。すべての関数 > キースペース > 関数ROLESも階層構造で、他のROLESを囲んでいます。パーミッションは以下に付与される場合があります。
  • CREATE – キースペース、テーブル、関数、ロール、インデックス
  • ALTER – キースペース、テーブル、関数、ロール
  • DROP – キースペース、テーブル、関数、ロール、インデックス
  • SELECT – キースペース、テーブル
  • MODIFY - INSERT, UPDATE, DELETE, TRUNCATE – キースペース、テーブル
  • AUTHORIZE - GRANT PERMISSION, REVOKE PERMISSION - キースペース、テーブル、関数、ロール
  • DESCRIBE - LIST ROLES
  • EXECUTE - SELECT, INSERT, UPDATE – 関数
パーミッションは、多くのバリエーションがあり広範囲に及びます。いくつかの例を以下で説明します。

手順

  • 最初の行は、team_managerのロールを持つすべての者に対して、キースペースcyclingのテーブルをINSERT、UPDATE、DELETE、およびTRUNCATEする権限を付与します。2つ目の行は、sys_adminのロールを持つすべての者に対して、データベースのロールをすべて表示する権限を付与します。
    GRANT MODIFY ON KEYSPACE cycling TO team_manager; GRANT DESCRIBE ON ALL ROLES TO sys_admin;
  • 最初の行は、team_managerのロールを持つすべての者に対して、すべてのキースペースにあるSELECTを取り消します。2番目の行は、team_managerのロールが指定の関数fLog()を実行するのを防ぎます。
    REVOKE SELECT ON ALL KEYSPACES FROM team_manager; REVOKE EXECUTE ON FUNCTION cycling.fLog(double) FROM team_manager;
  • すべてのキースペースか1つのキースペースかに関係なく、すべてのパーミッションをリストできます。
    LIST ALL PERMISSIONS OF sandy; LIST ALL PERMISSIONS ON cycling.cyclist_name OF chuck;