コンテンツにスキップ

16.6.7 権限別機能サポート表

Machbaseの権限は、適用範囲に応じてデータベース権限テーブル権限に分かれます。

データベース権限

データベース権限は、指定したアクティブデータベースの範囲に適用します。MOUNTMACHBASEDBに付与します。マウント済みデータベースへのアクセスには、USAGEと テーブルのSELECT権限を個別に付与します。

権限許可する操作デフォルトで保有
CONNECTアクティブデータベースへの接続、USE、オブジェクトの探索O(MACHBASEDB互換)
CREATEテーブル、ビュー、インデックス、ロールアップ、テーブルスペース、保持ポリシーの作成O
DROPテーブル、ビュー、インデックス、ロールアップ、テーブルスペース、保持ポリシーの削除O
ALTERテーブル構造の変更、ALTER SYSTEMの実行X
BACKUPBACKUP DATABASEの実行X
MOUNTMOUNT DATABASE / UMOUNT DATABASEの実行X
USAGEマウント済みデータベースの探索X
DDLCREATE + DROPの組み合わせ(複合権限)
ALLCONNECT、CREATE、DROP、ALTER、BACKUPを一括付与

「デフォルトで保有 O」は、CREATE USERで作成したユーザーのMACHBASEDBに対する互換性維持用のデフォルト権限です。 他の論理データベースの権限は個別に付与します。

テーブル権限

テーブル権限は、特定テーブルに対するDML操作を制御します。

権限許可する操作
SELECT特定テーブルのSELECTによる参照
INSERT特定テーブルへのINSERT
DELETE特定テーブルのDELETE
UPDATE特定テーブルのUPDATE

GRANT / REVOKE構文

-- データベース権限を付与
GRANT CONNECT ON DATABASE factory_a TO app_user;
GRANT CREATE ON DATABASE factory_a TO app_user;
GRANT BACKUP ON DATABASE factory_a TO backup_user;
GRANT ALL ON DATABASE factory_a TO admin_user;

-- テーブル権限を付与
GRANT SELECT ON sys.sensor_data TO reader_user;
GRANT INSERT ON sys.sensor_data TO writer_user;

-- 権限を取り消す
REVOKE SELECT ON sys.sensor_data FROM reader_user;
REVOKE BACKUP ON DATABASE factory_a FROM backup_user;

権限が必要な主な操作

操作必要な権限の種類必要な権限
CREATE TABLEデータベースCREATE
DROP TABLEデータベースDROP
ALTER TABLEデータベースALTER
BACKUP DATABASEデータベースBACKUP
MOUNT DATABASEデータベースMOUNT
テーブルのSELECTテーブルSELECT
テーブルのINSERTテーブルINSERT
テーブルのUPDATEテーブルUPDATE
テーブルのDELETEテーブルDELETE

権限の状態確認

-- ユーザー一覧
SELECT user_name, user_id FROM m$sys_users;

-- データベース権限を参照
SELECT * FROM m$sys_grant_databases WHERE grantee = 'APP_USER';

-- テーブル権限を参照
SELECT * FROM m$sys_grant_tables WHERE grantee = 'APP_USER';

詳細リファレンス

権限モデル全体の説明と例は、権限管理を参照してください。

最終更新日