すべてのプロダクト
Search
ドキュメントセンター

Data Management:データベースアカウントと権限の管理

最終更新日:Aug 29, 2026

Data Management (DMS) では、MySQL、MongoDB、PostgreSQL データベースのデータベースアカウントを作成し、権限の種類の組み合わせをカスタマイズし、テーブルレベルの権限を付与できます。このトピックでは、DMS でデータベースアカウントを作成、編集、削除する方法と、アカウントの権限を管理する方法について説明します。

説明

DMS は、MySQL、PostgreSQL、および MongoDB データベースでのみアカウント管理をサポートしています。その他のデータベースエンジンのアカウントを管理するには、対応するサービスのコンソールに移動してください。

前提条件

  • データベースは、次のいずれかの種類です。

    • MySQL: ApsaraDB RDS for MySQLPolarDB for MySQL、AnalyticDB for MySQL、セルフマネージド MySQL データベース、セルフマネージド MariaDB データベース、または ApsaraDB for MariaDB

    • ApsaraDB for MongoDB

      説明

      admin データベースでユーザーを作成する場合、dbAdminAnyDatabase、userAdmin、userAdminAnyDatabase など、ユーザーを作成する権限を持つ既存のユーザーが少なくとも 1 人いることを確認してください。

    • PostgreSQL: ApsaraDB RDS for PostgreSQL または AnalyticDB for PostgreSQL

  • システムロールが DMS 管理者、DBA、または一般ユーザー (インスタンス所有者) であること。 詳細については、「システムロール」をご参照ください。

  • ターゲットデータベースの [データベースアカウント] と [データベースパスワード] が取得されていること。

  • DMS コンソールでアカウントを作成する場合、DMS にログインするために使用する [データベースアカウント] がユーザーを作成する権限を持っていることを確認してください。

アカウント権限管理の例

  • アカウント A にグローバル SELECT 権限と UPDATE 権限を付与します。

    説明

    グローバル権限は、データベースインスタンスレベルで適用されます。グローバル権限タイプの詳細については、「権限リファレンス」をご参照ください。

  • アカウント B に単一テーブルの SELECT 権限、または特定カラムの UPDATE 権限を付与します。

    説明

    オブジェクト権限は、すべてのデータベースオブジェクト、または 1 つ以上の指定されたデータベースオブジェクトに適用できます。オブジェクト権限タイプの詳細については、「権限リファレンス」をご参照ください。

データベースアカウントの管理

データベースアカウントの作成

説明

DMS で作成したデータベースアカウントは標準アカウントです。

DMS 管理者は、DMS コンソールへのアクセスを管理し、操作を承認する RAM ユーザーです。特権データベースアカウントは、データベースインスタンスレベルで定義され、CREATE USER や GRANT などのデータベース操作権限を持ちます。この2つは異なる権限システムに属します。DMS で CREATE USER などのデータベース管理操作を実行するには、特権データベースアカウントを使用する必要があります。DMS 管理者は、これらのデータベースレベルの権限を持っていません。

DMS で CREATE USER を実行した際に次のエラーが発生した場合:

execute create_user failed: you need (at least one of) the create user privilege for this operation

次の方法で問題をトラブルシューティングしてください。

  1. ApsaraDB RDS コンソールで特権アカウントを作成し、そのアカウントで DMS にログインしてから、操作を再試行してください。

  2. または、ApsaraDB RDS コンソールの [アカウント管理] ページで直接データベースユーザーを作成してください。

  3. DMS インスタンスでセキュリティホスティングモードが有効になっている場合、DMS でデータベースアカウントを切り替えることができない可能性があります。この場合は、ApsaraDB RDS コンソールでアカウントを作成するか、インスタンスのセキュリティホスティング設定を調整してから再試行してください。

MySQL データベースアカウントの作成

  1. DMSコンソールV5.0 にログインします。

  2. 対象のデータベースにログインします。詳細については、「データベースへのログイン」をご参照ください。

  3. ホームページの左側メニューでデータベースインスタンスをクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[Database Account Management] をクリックします。

  4. [Database Account Management] ページで、左上隅にある [Create Database Account] をクリックします。

  5. 表示されたダイアログボックスで、次のパラメータを設定します。

    1. 基本設定 タブをクリックし、パラメータを設定します。

      パラメータ

      説明

      [データベースアカウント]

      データベースへのログインに使用するアカウント名です。

      [ホスト]

      アカウントがデータベースへのアクセスを許可される IP アドレスです。

      説明

      このパラメータを空にした場合、アカウントは特定の IP アドレスに制限されません。デフォルト値は % です。

      [パスワード]

      ログインパスワードです。

      [パスワードの確認]

      ログインパスワードを再度入力します。

      説明

      上記のパラメータから生成される SQL ステートメントは次のようになります:CREATE USER `username`@`host` IDENTIFIED BY `password`;

      [詳細オプション] を設定するには、[詳細オプション] ボタンをクリックして各項目を設定します。

      たとえば、次の図の設定から生成される SQL ステートメントは次のようになります:

      GRANT USAGE ON *.* TO 'username'@'host' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400;

      Advanced Options

    2. グローバル権限 タブをクリックし、対象の権限を選択します。グローバル権限の詳細については、「MySQL グローバル権限」をご参照ください。

      Global permissions

      説明

      標準アカウントを使用していて、権限タイプリストに対象の権限が見つからない場合、アカウントに必要な権限がないか、インスタンスタイプがその権限をサポートしていない可能性があります。アカウントの権限が不足している場合は、特権アカウントで再試行してください。

    3. オブジェクトのアクセス許可 タブをクリックし、パラメータを設定します。オブジェクト権限の詳細については、「MySQL オブジェクト権限」をご参照ください。

      たとえば、次の図の設定から生成される SQL ステートメントは次のようになります:

      GRANT SELECT,INSERT ON `rds_db`.* TO 'username'@'host'; 
       GRANT DELETE ON `rds_db`.`rds_table` TO 'username'@'host';

      Object permissions

  6. 確認 をクリックします。

  7. Sqlのプレビュー ダイアログボックスで、確認 をクリックします。

    説明

    セキュリティコラボレーションモードのデータベースインスタンスは、セキュリティルールによって制限されます。操作を実行できない場合は、画面の指示に従うか、DBA または DMS 管理者にお問い合わせください。セキュリティルールの調整方法の詳細については、「FAQ」をご参照ください。

MongoDB データベースアカウントの作成

  1. DMSコンソールV5.0 にログインします。

  2. 対象のデータベースにログインします。詳細については、「データベースへのログイン」をご参照ください。

    重要

    MongoDB レプリカセットインスタンスの場合は、プライマリノードにログインします。

  3. ホームページの左側メニューでデータベースインスタンスをクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[Database Account Management] をクリックします。

  4. ページの左上にある [ユーザーの作成] をクリックし、次の情報を設定します。

    1. ユーザー情報を設定します。

      image

      パラメータ

      説明

      対象データベース

      ドロップダウンリストから、ユーザーが属するデータベースを選択します。

      説明
      • admin 以外のデータベースを選択すると、作成されるユーザーは標準ユーザーになります。

      • admin データベースを選択すると、作成されるユーザーは特権ユーザーになります。

      ユーザー名

      ユーザーの名前です。

      • 中国語文字はサポートされていません。

      • 英字、数字、特殊文字がサポートされています。

      • 特殊文字には次が含まれます: !#$%^&*()_+-=

      パスワード

      ユーザーのパスワードです。

      データセキュリティを確保するため、パスワードは 8~32 文字で、次の文字種のうち少なくとも 3 つを含む必要があります。

      • 大文字

      • 小文字

      • 数字

      • 特殊文字 (!#$%^&*()_+-=)

      パスワードの確認

      パスワードを再度入力します。

    2. ユーザーの権限を設定します。

      説明
      • 対象データベースとして admin データベースを選択した場合:

        [現在のデータベース権限] タブで、[通常の操作ロール]、[管理者操作ロール]、[インスタンスレベルの操作ロール]、[クラスター管理ロール]、[バックアップおよび復元ロール]、[スーパーユーザーロール] などの権限を設定できます。ロール権限の詳細については、「MongoDB ロール権限」をご参照ください。

        [その他のデータベース権限] タブをクリックして、データベース名を追加し、対応するデータベースのロール権限を設定することもできます。

      • 対象データベースとして admin 以外のデータベースを選択した場合:

        [現在のデータベース権限] タブで、現在のデータベースに対して [通常の操作ロール] と [管理者操作ロール] のみを設定できます。ロール権限の詳細については、「MongoDB ロール権限」をご参照ください。

        [その他のデータベース権限] タブは使用できません。

  5. 確認 をクリックします。

    説明

    セキュリティコラボレーションモードのデータベースインスタンスは、セキュリティルールによって制限されます。操作を実行できない場合は、画面の指示に従うか、DBA または DMS 管理者にお問い合わせください。

PostgreSQL データベースアカウントの作成

  1. DMSコンソールV5.0 にログインします。

  2. 対象のデータベースにログインします。詳細については、「データベースへのログイン」をご参照ください。

  3. ホームページの左側のナビゲーションペインで [データベースインスタンス] をクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[アカウント管理] をクリックします。

  4. [アカウント管理] ページで、左上の [ユーザーの作成] をクリックします。

  5. 表示されたダイアログボックスで、次のパラメータを設定します。

    1. 基本設定 タブをクリックし、パラメータを設定します。

      パラメータ

      説明

      [ユーザー名]

      アカウントのユーザー名です。

      [パスワード]

      ログインパスワードです。

      [パスワードの確認]

      ログインパスワードを再度入力します。

      [パスワードの有効期限]

      パスワードの有効期限です。たとえば、2021 年 12 月 30 日 00:00 に設定すると、その時刻にパスワードが無効になります。

      このパラメータはオプションです。デフォルトでは、パスワードは期限切れになりません。

      [接続制限]

      アカウントの最大同時接続数です。たとえば、このパラメータを 10 に設定すると、アカウントは最大 10 のクライアントから同時にデータベースに接続できます。

      デフォルト値は -1 で、接続数が無制限であることを示します。

      [発言]

      アカウントの説明です。

    2. [権限] タブをクリックし、対象の権限を選択します。

      権限タイプ

      説明

      [ログインを許可]

      ログイン権限です。対応する SQL コマンドは LOGINNOLOGIN です。デフォルトでは、ログインは許可されていません。

      [ユーザー作成を許可]

      データベースアカウントを作成する権限です。対応する SQL コマンドは CREATEROLENOCREATEROLE です。デフォルトでは、ユーザー作成は許可されていません。

      [データベース作成を許可]

      データベースを作成する権限です。対応する SQL コマンドは CREATEDBNOCREATEDB です。デフォルトでは、データベース作成は許可されていません。

  6. [確認] をクリックします。

  7. [SQL プレビュー] ダイアログボックスで、[確認] をクリックします。

    説明

    セキュリティコラボレーションモードのデータベースインスタンスは、セキュリティルールによって制限されます。操作を実行できない場合は、画面の指示に従うか、DBA または DMS 管理者にお問い合わせください。セキュリティルールの調整方法の詳細については、「FAQ」をご参照ください。

アカウントの編集または削除

アカウント編集機能を使用して、アカウントの [ユーザー名]、[パスワード]、および MySQL の [グローバル権限] と [オブジェクト権限] を変更できます。

  1. DMSコンソールV5.0 にログインします。

  2. ホームページの左側のナビゲーションペインで [データベースインスタンス] をクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[アカウント管理] をクリックします。

  3. 対象のアカウントを見つけて、[編集] または [削除] をクリックし、対応する操作を実行します。

アカウントの編集または削除

アカウント編集機能を使用して、アカウントの [ユーザー名]、[パスワード]、および MySQL の [グローバル権限] と [オブジェクト権限] を変更できます。

  1. DMSコンソールV5.0 にログインします。

  2. ホームページの左側メニューでデータベースインスタンスをクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[Database Account Management] をクリックします。

  3. 対象のアカウントを見つけて、[編集] または [削除] をクリックし、対応する操作を実行します。

データベースアカウントの切り替え

  1. DMSコンソールV5.0 にログインします。

  2. 左側のナビゲーションペインにある [データベースインスタンス] エリアで、対象のインスタンスを見つけます。

  3. インスタンス名を右クリックし、[インスタンスの編集] を選択します。

  4. [基本情報] セクションで、ログインに使用するデータベースアカウントとパスワードを入力します。

  5. [保存] をクリックします。

データベースアカウント権限の付与または取り消し

  1. DMSコンソールV5.0 にログインします。

  2. ホームページの左側メニューでデータベースインスタンスをクリックします。インスタンスリストで、対象のインスタンス名を右クリックし、[Database Account Management] をクリックします。

  3. 対象のアカウントを見つけて、[編集] をクリックします。

  4. 権限エリアで、対象の権限を選択して付与するか、対象の権限をクリアして取り消し、[確認] をクリックします。

権限リファレンス

MySQL グローバル権限

権限

オブジェクト

説明

CREATE

データベース、テーブル、またはインデックス

データベース、テーブル、またはインデックスを作成します。

DROP

データベース、テーブル、またはビュー

データベース、テーブル、またはビューを削除します。

GRANT OPTION

データベース、テーブル、またはストアドプロシージャー

他のアカウントに権限を付与または取り消します。

REFERENCES

データベース、テーブル、またはカラム

外部キーを作成します。

LOCK TABLES

データベース

データベース内のテーブルをロックします。

EVENT

データベース

MySQL イベントをクエリ、作成、変更、または削除します。

ALTER

テーブルまたはビュー

テーブルまたはビューを変更します。たとえば、カラムやインデックスを追加したり、カラムを変更したりします。

DELETE

テーブル

テーブルからデータを削除します。

INDEX

テーブル

テーブルのインデックスを作成または削除します。

INSERT

テーブルまたはカラム

テーブルまたはカラムにデータを挿入します。

SELECT

テーブルまたはカラム

テーブルまたはカラムのデータをクエリします。

UPDATE

テーブルまたはカラム

テーブルまたはカラムのデータを更新します。

CREATE VIEW

ビュー

ビューを作成します。

SHOW VIEW

ビュー

ビューの定義を表示します。

TRIGGER

トリガー

トリガーを作成、削除、実行、または表示します。

ALTER ROUTINE

ストアドプロシージャー

ストアドプロシージャーを変更します。

CREATE ROUTINE

ストアドプロシージャー

ストアドプロシージャーを作成します。

EXECUTE

ストアドプロシージャー

ストアドプロシージャーを実行します。

FILE

サーバーホスト上のファイルアクセス

サーバーホスト上のファイルにアクセスします。

CREATE TEMPORARY TABLES

サーバー管理

一時テーブルを作成します。

CREATE USER

サーバー管理

アカウントを作成します。

PROCESS

サーバー管理

実行中のプロセスに関する情報を表示します。

RELOAD

サーバー管理

FLUSH-HOSTSFLUSH-LOGSFLUSH-PRIVILEGESFLUSH-STATUSFLUSH-TABLESFLUSH-THREADSREFRESHRELOAD などのコマンドを実行します。

REPLICATION CLIENT

サーバー管理

レプリケーションソースとレプリカのステータスを確認します。

REPLICATION SLAVE

サーバー管理

レプリケーションソースからバイナリログを読み取ります。

SHOW DATABASES

サーバー管理

すべてのデータベースの名前を表示します。

SHUTDOWN

サーバー管理

サーバーをシャットダウンします。

SUPER

サーバー管理

KILL ステートメントを実行してスレッドを終了します。

注意

SUPER 権限は、RDS MySQL または RDS MariaDB ではサポートされていません。

MySQL オブジェクト権限

権限

オブジェクト

説明

CREATE

データベース、テーブル、またはインデックス

データベース、テーブル、またはインデックスを作成します。

DROP

データベース、テーブル、またはビュー

データベース、テーブル、またはビューを削除します。

GRANT OPTION

データベース、テーブル、またはストアドプロシージャー

他のアカウントに権限を付与または取り消します。

REFERENCES

データベース、テーブル、またはカラム

外部キーを作成します。

LOCK TABLES

データベース

データベース内のテーブルをロックします。

EVENT

データベース

MySQL イベントをクエリ、作成、変更、または削除します。

ALTER

テーブルまたはビュー

テーブルまたはビューを変更します。たとえば、カラムやインデックスを追加したり、カラムを変更したりします。

DELETE

テーブル

テーブルからデータを削除します。

INDEX

テーブル

テーブルのインデックスを作成または削除します。

INSERT

テーブルまたはカラム

テーブルまたはカラムにデータを挿入します。

SELECT

テーブルまたはカラム

テーブルまたはカラムのデータをクエリします。

UPDATE

テーブルまたはカラム

テーブルまたはカラムのデータを更新します。

CREATE VIEW

ビュー

ビューを作成します。

SHOW VIEW

ビュー

ビューの定義を表示します。

TRIGGER

トリガー

トリガーを作成、削除、実行、または表示します。

MongoDB ロール権限

ロール権限の詳細については、MongoDB の公式ドキュメントをご参照ください。

ロールタイプ

ロール

説明

通常の操作ロール

read

現在のデータベースのデータをクエリします。

readWrite

現在のデータベースのデータを挿入、削除、変更、クエリします。

管理者操作ロール

dbAdmin

データベースのスキーマ、インデックス、統計の管理など、管理操作を実行します。このロールには、データに対する読み書き権限は含まれません。

userAdmin

現在のデータベースでユーザーを作成します。

dbOwner

現在のデータベースに対するすべての操作を実行します。

インスタンスレベルの操作ロール

readAnyDatabase

インスタンスのすべてのデータベースのデータをクエリします。

readWriteAnyDatabase

インスタンスのすべてのデータベースのデータを挿入、削除、変更、クエリします。

userAdminAnyDatabase

インスタンスのすべてのデータベースでユーザーを作成します。

dbAdminAnyDatabase

インスタンスのすべてのデータベースに対して dbAdmin 操作を実行します。

クラスター管理ロール

hostManager

サーバーのシャットダウンなど、ホストレベルの管理操作の権限を提供します。

clusterMonitor

クラスターとレプリカセットをクエリします。

clusterManager

クラスターとレプリカセットを管理および監視します。

clusterAdmin

クラスターに対するすべての操作を実行します。

バックアップおよびリストアロール

backup

インスタンスのすべてのデータベースからデータをバックアップする権限を提供します。

restore

インスタンスのすべてのデータベースにデータをリストアする権限を提供します。

スーパーユーザーロール

root

スーパーユーザー権限。

関連トピック

ApsaraDB RDS for PostgreSQL の権限管理のベストプラクティス

よくある質問

Q:権限ユーザーを作成する際に、CREATE_USER コマンドがセキュリティルールによってブロックされているというエラーが表示されます。この問題を解決するにはどうすればよいですか。

A:エラーダイアログボックスの手順に従って、この問題を解決してください。次の操作を実行します。

  1. インスタンスに関連付けられているセキュリティルールセットの名前を確認します。

    コンソールのホームページの左側にあるインスタンスリストで、対象のインスタンスを見つけて右クリックし、[View Details] をクリックします。

  2. セキュリティルールを調整します。

    1. DMS にログインします。

    2. 上部のメニューバーで、Security and Disaster Recovery (DBS) > Security Rules を選択します。

    3. [セキュリティルール] タブで、目的のルールセットを見つけ、[操作] 列の [編集] をクリックします。

    4. 左側のナビゲーションペインで、[SQL Correct] をクリックします。

    5. [Checkpoint][SQL Execution Rules] に設定します。

    6. [Allow all DCL statements to be executed directly in the SQL console] セキュリティルールを見つけて、[操作] 列の [Edit] をクリックします。

    7. [Edit Rule] ダイアログボックスの [Rule DSL] セクションで、ルールを次のように変更します:if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end

      この構文は DCL カテゴリ全体に一致するため、各 SQL タイプを個別にリストしなくても、CREATE USERGRANT などのすべての DCL ステートメントが対象となります。このルールにおいて、allow_execute_direct は SQL コンソールでステートメントを直接実行することを許可するのに対し、allow_submit は承認を得るためにステートメントをチケットとして申請することのみを許可します。この 2 つのオプションは許容度が異なるため、要件に応じて選択してください。

  3. [Submit] をクリックします。

  4. リスク識別ルールを確認します。[SQL Change] > [Risk Identification Rules] で、DCL ステートメントを高リスクとして識別するルールがあるかどうかを確認します。そのようなルールが存在する場合は、無効化または調整してください。そうしないと、前の手順で設定した DCL ルールが上書きされ、ルールの変更が有効になりません。

説明

セキュリティルールを編集できるのは、セキュリティコラボレーションモードのインスタンスのみです。柔軟な管理モードと 安定的な変更モードのインスタンスは、編集できない組み込みのシステムルールを使用します。対象のインスタンスがセキュリティコラボレーションモードでない場合は、セキュリティコラボレーションライセンスを購入してコントロールモードを切り替えてから、上記の手順に従ってルールを変更してください。また、変更したルールセットが対象のインスタンスに関連付けられていることを確認してください。そうでない場合、変更は有効になりません。