AnalyticDB for MySQL は、各データベースアカウントがクラスター、データベース、テーブル、またはカラムレベルで実行できることを制御する階層型権限モデルを使用しています。このトピックでは、権限レベルについて説明し、SQL 操作とそれらが必要とする権限をマッピングし、権限の表示と編集方法を示します。
権限レベル
権限は4つのレベルで付与されます。
| レベル | 範囲 |
|---|---|
| GLOBAL | クラスター全体 |
| DB | 単一のデータベース |
| TABLE | 単一のテーブル |
| COLUMN | テーブル内の1つ以上のカラム |
例: アカウントが1つのカラムのみを読み取ることを許可するには、COLUMN レベルで SELECT 権限を付与します。
GRANT SELECT (customer_id) ON customer TO 'test321'操作と必要な権限
次の表は、各 SQL 操作とそれが必要とする権限、およびそれらの権限が付与できるレベルをマッピングしています。
| 操作 | 必要な権限 | サポートされているレベル |
|---|---|---|
| SELECT | SELECT | GLOBAL, DB, TABLE, COLUMN |
| INSERT | INSERT | GLOBAL, DB, TABLE, COLUMN |
| INSERT...SELECT...FROM... | INSERT, SELECT | GLOBAL, DB, TABLE, COLUMN |
| UPDATE | UPDATE | GLOBAL, DB, TABLE, COLUMN |
| DELETE | DELETE | GLOBAL, DB, TABLE |
| TRUNCATE TABLE | DROP | GLOBAL, DB, TABLE |
| ALTER TABLE | ALTER, INSERT, CREATE | GLOBAL, DB, TABLE |
| CREATE DATABASE | CREATE | GLOBAL |
| CREATE TABLE | CREATE | GLOBAL, DB, TABLE |
| SHOW CREATE TABLE | SELECT | GLOBAL, DB, TABLE |
| DROP DATABASE | DROP | GLOBAL, DB |
| DROP TABLE | DROP | GLOBAL, DB, TABLE |
| CREATE VIEW | CREATE VIEW, SELECT | GLOBAL, DB, TABLE |
| DROP VIEW | DROP | GLOBAL, DB, TABLE |
| SHOW CREATE VIEW | SHOW VIEW, SELECT | GLOBAL, DB, TABLE |
| CREATE USER / DROP USER / RENAME USER | CREATE_USER | GLOBAL |
| SET PASSWORD | SUPER | GLOBAL |
| GRANT / REVOKE | GRANT | GLOBAL |
CREATE VIEW REPLACE を実行するには、アカウントは DROP 権限も必要です。権限の表示
SQL ステートメントと Data Management (DMS) は、Data Warehouse Edition (V3.0) および Data Lakehouse Edition (V3.0) クラスターの両方で機能します。AnalyticDB for MySQL コンソールは、Data Lakehouse Edition (V3.0) クラスターでのみ利用可能です。
SQL ステートメントの使用
特定のアカウントの権限を表示するには、SHOW GRANTS ステートメントを実行します。
DMS の使用
前提条件
開始する前に、以下を確認してください。
Alibaba Cloud アカウント、または AliyunADBReadOnlyAccess 権限を持つ Resource Access Management (RAM) ユーザー。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
手順
左側のナビゲーションウィンドウで、[Instances Connected] をクリックします。
クラスターを右クリックし、[アカウント管理] を選択します。
[アカウント管理] ページで、権限を表示します。
AnalyticDB for MySQL コンソールの使用
この方法は、Data Lakehouse Edition (V3.0) クラスターでのみ利用可能です。
前提条件
開始する前に、以下を確認してください。
Alibaba Cloud アカウント、または AliyunADBReadOnlyAccess 権限を持つ RAM ユーザー。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
手順
AnalyticDB for MySQL コンソールにログインします。
左上隅で、クラスターが存在するリージョンを選択します。
左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
「Data Lakehouse Edition (V3.0)」タブで、クラスターを見つけ、その[Cluster ID]をクリックします。
左側のナビゲーションウィンドウで、[アカウント] をクリックします。
アカウントを探し、「操作」列で[権限]をクリックし、次に[権限の表示]をクリックします。
アカウントの権限を表示するために、権限レベルを選択します。
権限の編集
SQL ステートメントと DMS は、Data Warehouse Edition (V3.0) および Data Lakehouse Edition (V3.0) クラスターの両方をサポートしています。コンソールは、Data Lakehouse Edition (V3.0) クラスターのみをサポートしています。
SQL ステートメントの使用
前提条件
開始する前に、以下を確認してください。
GRANT OPTION 権限を持つデータベースアカウント。
手順
権限を付与するには、GRANT ステートメントを実行します。
DMS の使用
前提条件
開始する前に、以下を確認してください。
Alibaba Cloud アカウント、または AliyunADBFullAccess および AliyunServiceRoleForDMS 権限を持つ RAM ユーザー。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
手順
左側のナビゲーションウィンドウで、[接続済みインスタンス] をクリックします。
クラスターを右クリックし、[アカウント管理] を選択します。
[アカウント管理] ページで、アカウントを見つけ、操作列の [編集] をクリックします。
「[ユーザーの編集]」ダイアログボックスで、「[グローバル権限]」をクリックします。
[権限タイプ] リストで、必要に応じて権限を選択または解除します。
AnalyticDB for MySQL コンソールの使用
この方法は、Data Lakehouse Edition (V3.0) クラスターでのみ利用可能です。
前提条件
開始する前に、以下を確認してください。
Alibaba Cloud アカウント、または AliyunADBFullAccess 権限を持つ RAM ユーザー。
GRANT OPTION 権限を持つ RAM ユーザーに関連付けられたデータベースアカウント。
手順
AnalyticDB for MySQL コンソールにログインします。
左上隅で、クラスターが存在するリージョンを選択します。
左側のナビゲーションウィンドウで、[Clusters] をクリックします。
「Data Lakehouse Edition (V3.0)」タブで、クラスターを見つけ、その[クラスター ID]をクリックします。
左側のナビゲーションウィンドウで、[アカウント] をクリックします。
アカウントを見つけ、操作列の [権限] をクリックし、次に [権限の編集] をクリックします。
[承認レベル] および [権限の設定] のパラメーターを設定します。
アイコン
をクリックし、次に [OK] をクリックします。