📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

権限



権限とは、ある操作を実行するための許可です。ユーザーが TiDB Cloud Lake 内で特定の操作を実行するには、対応する権限が必要です。たとえば、テーブルをクエリするには、そのテーブルに対する SELECT 権限が必要です。同様に、stage 内のデータセットを読み取るには、READ 権限が必要です。

TiDB Cloud Lake では、権限はロールに付与されます。ユーザーは、自身に割り当てられたロールを通じて権限を取得します。

Alt text

権限の管理

ロールの権限を管理するには、次のコマンドを使用します。

ロールへの権限の付与

権限を付与するには、ロールを作成し、そのロールに権限を付与してから、その権限を必要とするユーザーにそのロールを付与します。次の例では、'writer' という名前の新しいロールを作成し、'default' スキーマ内のオブジェクトに対するすべての権限を付与しています。続いて、パスワード 'abc123' を持つ新しいユーザー 'david' を作成し、'writer' ロールを 'david' に付与します。最後に、'writer' に付与された権限を表示します。

-- Create a new role named 'writer' CREATE ROLE writer; -- Grant all privileges on all objects in the 'default' schema to the role 'writer' GRANT ALL ON default.* TO ROLE writer; -- Create a new user named 'david' with the password 'abc123' and set the default role CREATE USER david IDENTIFIED BY 'abc123' WITH DEFAULT_ROLE = 'writer'; -- Grant the role 'writer' to the user 'david' GRANT ROLE writer TO david; -- Show the granted privileges for the role 'writer' SHOW GRANTS FOR ROLE writer; ┌───────────────────────────────────────────────────────┐ │ Grants │ ├───────────────────────────────────────────────────────┤ │ GRANT ALL ON 'default'.'default'.* TO ROLE 'writer' │ └───────────────────────────────────────────────────────┘

ロールからの権限の取り消し

アクセス制御の文脈では、権限はロールから取り消されます。次の例では、'default' スキーマ内のすべてのオブジェクトに対するすべての権限を 'writer' ロールから取り消し、その後 'writer' ロールに付与されている権限を表示します。

-- Revoke all privileges on all objects in the 'default' schema from role 'writer' REVOKE ALL ON default.* FROM ROLE writer; -- Show the granted privileges for the role 'writer' SHOW GRANTS FOR ROLE writer;

アクセス制御の権限

TiDB Cloud Lake では、データベースオブジェクトに対してきめ細かな制御を行うためのさまざまな権限が提供されています。TiDB Cloud Lake の権限は、次の種類に分類できます。

すべての権限

権限オブジェクトタイプ説明
ALLすべて指定したオブジェクトタイプに対するすべての権限を付与します。
APPLY MASKING POLICYGlobal, Masking Policyマスキングポリシーのアタッチ、デタッチ、詳細表示、または削除を行います。. に対して付与された場合、被付与者は任意のマスキングポリシーを管理できます。
APPLY ROW ACCESS POLICYGlobal, Row Access Policyテーブルに行アクセスポリシーを追加または削除し、任意のポリシーに対する DESCRIBE/DROP 操作を許可します。. に対して付与された場合、被付与者はすべての行アクセスポリシーを管理できます。
ALTERGlobal, Database, Table, Viewデータベース、テーブル、ユーザー、または UDF を変更します。
CREATEGlobal, Tableテーブルまたは UDF を作成します。
CREATE DATABASEGlobalデータベースまたは UDF を作成します。
CREATE WAREHOUSEGlobalWarehouse を作成します。
CREATE CONNECTIONGlobal接続を作成します。
CREATE SEQUENCEGlobalシーケンスを作成します。
CREATE PROCEDUREPROCEDUREプロシージャを作成します。
CREATE MASKING POLICYGlobalマスキングポリシーを作成します。
CREATE ROW ACCESS POLICYGlobal行アクセスポリシーを作成します。
DELETETableテーブル内の行を削除または切り捨てます。
DROPGlobal, Database, Table, Viewデータベース、テーブル、ビュー、または UDF を削除します。テーブルの削除取り消しも行います。
INSERTTableテーブルに行を挿入します。
SELECTDatabase, Tableテーブルから行を選択します。データベースを表示または使用します。
UPDATETableテーブル内の行を更新します。
GRANTGlobalロールに対して権限を付与 / 取り消しします。
SUPERGlobal, Tableクエリを強制終了します。グローバル設定を設定します。テーブルを最適化します。テーブルを分析します。stage(stage の一覧表示、作成、削除)、catalog、または share を操作します。
USAGEGlobal「権限なし」の同義語です。
CREATE ROLEGlobalロールを作成します。
DROP ROLEGlobalロールを削除します。
CREATE USERGlobalSQL ユーザーを作成します。
DROP USERGlobalSQL ユーザーを削除します。
WRITEStagestage に書き込みます。
READStagestage を読み取ります。
USAGEUDFudf を使用します。
ACCESS CONNECTIONCONNECTION接続にアクセスします。
ACCESS SEQUENCESEQUENCEシーケンスにアクセスします。
ACCESS PROCEDUREPROCEDUREプロシージャにアクセスします。

グローバル権限

権限説明
ALL指定したオブジェクトタイプに対するすべての権限を付与します。
ALTERテーブルカラムを追加または削除します。クラスターキーを変更します。テーブルを再クラスタリングします。
CREATEROLEロールを作成します。
CREATE DATABASEDATABASE を作成します。
CREATE WAREHOUSEWAREHOUSE を作成します。
CREATE CONNECTIONCONNECTION を作成します。
DROPUSERユーザーを削除します。
CREATEUSERユーザーを作成します。
DROPROLEロールを削除します。
SUPERクエリを強制終了します。設定を SET または UNSET します。stage、catalog、または share を操作します。関数を呼び出します。stage への COPY INTO を実行します。
USAGETiDB Cloud Lake のクエリにのみ接続します。
CREATEUDF を作成します。
DROPUDF を削除します。
ALTERUDF を変更します。SQL ユーザーを変更します。

テーブル権限

権限説明
ALL指定したオブジェクトタイプに対するすべての権限を付与します。
ALTERテーブルカラムを追加または削除します。クラスターキーを変更します。テーブルを再クラスタリングします。
CREATEテーブルを作成します。
DELETEテーブル内の行を削除します。テーブルを切り捨てます。
DROPテーブルを削除または削除取り消しします。削除されたテーブルの最新バージョンを復元します。
INSERTテーブルに行を挿入します。テーブルへの COPY INTO を実行します。
SELECTテーブルから行を選択します。テーブルの SHOW CREATE を実行します。テーブルの DESCRIBE を実行します。
UPDATEテーブル内の行を更新します。
SUPERテーブルを最適化または分析します。
OWNERSHIPテーブルに対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

ビュー権限

権限説明
ALL指定したオブジェクトタイプに対するすべての権限を付与します
ALTERビューを作成または削除します。別の QUERY を使用して既存のビューを変更します。
DROPビューを削除します。

データベース権限

次のいずれかの権限をデータベースに対して持っている場合、またはそのデータベース内のテーブルに対する何らかの権限を持っている場合は、USE DATABASE コマンドを使用してデータベースを指定できます。

権限説明
ALTERデータベース名を変更します。
DROPデータベースを削除または削除取り消しします。削除されたデータベースの最新バージョンを復元します。
SELECTデータベースの SHOW CREATE を実行します。
OWNERSHIPデータベースに対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。
USAGE含まれるオブジェクトへのアクセス権を付与せずに、USE <database> を使用してデータベースに入ることを許可します。

Note:

  1. ロールがデータベースを所有している場合、そのロールはそのデータベース内のすべてのテーブルにアクセスできます。

セッションポリシー権限

権限説明
SUPERクエリを強制終了します。設定を SET または UNSET します。
ALL指定したオブジェクトタイプに対するすべての権限を付与します。

stage 権限

権限説明
WRITEstage に書き込みます。たとえば、stage への copy、presign upload、または stage の削除を行います。
READstage を読み取ります。たとえば、stage の一覧表示、stage のクエリ、stage からテーブルへの copy、presign download を行います。
ALL指定したオブジェクトタイプに対する READ、WRITE 権限を付与します。
OWNERSHIPstage に対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

Note:

  1. 外部ロケーション認証は確認しません。

UDF 権限

権限説明
USAGEUDF を使用できます。たとえば、stage への copy や presign upload です。
ALL指定したオブジェクトタイプに対する READ、WRITE 権限を付与します。
OWNERSHIPUDF に対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

Note:

  1. すでに定数畳み込みされている場合は、UDF の権限をチェックしません。
  2. insert 内の値である場合は、UDF の権限をチェックしません。

Catalog 権限

権限説明
SUPERSHOW CREATE catalog を実行できます。catalog を作成または削除できます。
ALL指定したオブジェクトタイプに対するすべての権限を付与します。

Share 権限

Share オブジェクトに対する権限は、同じ SQL 権限モデル(GRANT/REVOKE)を使用して付与および取り消しできます。

Connection 権限

権限説明
Access ConnectionConnection にアクセスできます。
ALL指定したオブジェクトタイプに対する Access Connection 権限を付与します。
OWNERSHIPConnection に対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

シーケンス権限

権限説明
Access Sequenceシーケンスにアクセスできます(例: Drop、Desc)。
ALL指定したオブジェクトタイプに対する Access Sequence 権限を付与します。
OWNERSHIPシーケンスに対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

プロシージャ権限

権限説明
Access Procedureプロシージャにアクセスできます(例: Drop、Call、Desc)。
ALL指定したオブジェクトタイプに対する Access Procedure 権限を付与します。
OWNERSHIPプロシージャに対する完全な制御を付与します。特定のオブジェクトに対して、この権限を同時に保持できるロールは 1 つだけです。

マスキングポリシー権限

グローバルな CREATE MASKING POLICY 権限および APPLY MASKING POLICY 権限に加えて、個々のマスキングポリシーへのアクセスを付与できます。

権限説明
APPLYマスキングポリシーをカラムにアタッチまたはデタッチし、ポリシーに対する DESC/DROP 操作を許可します。
OWNERSHIPマスキングポリシーに対する完全な制御を付与します。TiDB Cloud Lake は、ポリシーを作成したロールに OWNERSHIP を付与し、ポリシーが削除されると自動的に取り消します。

行アクセスポリシー権限

行アクセスポリシーは同じガバナンスモデルを共有します。グローバルな CREATE ROW ACCESS POLICY 権限および APPLY ROW ACCESS POLICY 権限に加えて、必要に応じてポリシーごとにアクセスを付与します。

権限説明
APPLY行アクセスポリシーをテーブルに追加またはテーブルから削除し、ポリシーに対する DESC/DROP 操作を許可します。
OWNERSHIP行アクセスポリシーに対する完全な制御を付与します。TiDB Cloud Lake は、作成者ロールに OWNERSHIP を付与し、ポリシーが削除されると自動的に取り消します。

このページは役に立ちましたか?