アカウントに権限を付与します。
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON priv_level
TO user [auth_option]
[WITH {GRANT OPTION}]
必須パラメーター
| パラメーター | 説明 |
|---|---|
priv_type |
付与する権限のタイプ。サポートされている権限タイプの一覧については、権限モデルをご参照ください。 |
priv_level |
権限が適用されるスコープ。有効値: *.* (クラスターレベル)、db_name.* (データベースレベル)、db_name.table_name または table_name (テーブルレベル)、catalog <catalog_name> (外部カタログレベル)。 |
任意パラメーター
| パラメーター | 説明 |
|---|---|
column_list |
カラム名のリスト。 priv_type が SELECT の場合にのみ適用されます。SELECT 権限を指定されたカラムに制限します。 |
WITH GRANT OPTION |
被付与者が他のアカウントに同じ権限をさらに付与できるようにします。 |
使用上の注意
他のアカウントに権限を付与するには、GRANT ステートメントを実行するアカウントに GRANT OPTION 権限が必要です。
例
クラスターレベルの権限の付与
クラスターレベルの all 権限を account2 に付与します:
GRANT all ON *.* TO 'account2';
これにより、account2 はクラスター全体に対する完全な権限を持ちます。
新しいアカウントにクラスターレベルのデータ操作権限を付与します:
GRANT insert,select,update,delete on *.* to 'test'@'%' identified by 'Testpassword1';
これにより、アカウント test が作成され、クラスターレベルで INSERT、SELECT、UPDATE、DELETE 権限が付与されます。
データベースレベルの権限の付与
データベースレベルの all 権限を account3 に付与します:
GRANT all ON adb_demo.* TO 'account3';
これにより、account3 は adb_demo データベースに対する完全な権限を持ちます。
新しいアカウントにデータベースレベルのデータ操作権限を付与します:
GRANT insert,select,update,delete on adb_demo.* to 'test123' identified by 'Testpassword123';
これにより、アカウント test123 が作成され、adb_demo に対する INSERT、SELECT、UPDATE、DELETE 権限が付与されます。
外部カタログの権限の付与
外部カタログ paimon_catalog の all 権限を account4 に付与します:
GRANT all ON catalog paimon_catalog TO 'account4'@'%';
これにより、account4 は paimon_catalog 外部カタログに対する完全な権限を持ちます。
カラムレベルの権限の付与
新しいアカウントに特定カラムの SELECT 権限を付与します:
GRANT select (customer_id, sex) ON customer TO 'test321' identified by 'Testpassword321';
これにより、アカウント test321 が作成され、その SELECT アクセスは customer テーブルの customer_id カラムと sex カラムに制限されます。