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

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

最終更新日:Sep 03, 2026

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

説明

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

前提条件

  • データベースが次のいずれかの種類であること:

    • MySQL: ApsaraDB RDS for MySQL、PolarDB 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;
    2. グローバル権限 タブをクリックし、目的の権限を選択します。グローバル権限の詳細については、「MySQL グローバル権限」をご参照ください。

      説明

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

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

      例えば、以下の設定から、次の SQL ステートメントが生成されます:

      GRANT SELECT,INSERT ON `rds_db`.* TO 'username'@'host'; 
       GRANT DELETE ON `rds_db`.`rds_table` TO 'username'@'host';
  6. 確認 をクリックします。

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

    説明

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

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

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

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

    重要

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

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

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

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

      [ユーザーの作成] ダイアログボックスの [現在のデータベース権限] タブでは、次のロールを選択できます:

      • 通常操作ロール: read(現在のデータベースのデータをクエリする権限)および readWrite(現在のデータベースのデータを挿入、削除、変更、およびクエリする権限)

      • 管理者操作ロール: dbAdmin (データベースオブジェクトの管理操作、データベースの読み書き権限なし) および userAdmin (現在のデータベースでユーザーを作成する権限)

      パラメーター

      説明

      目的のデータベース

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

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

      • admin データベースを選択した場合、作成するユーザーは特権ユーザーになります。

      ユーザー名

      ユーザー名。

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

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

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

      パスワード

      ユーザーのパスワード。

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

      • 英大文字

      • 英小文字

      • 数字

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

      パスワードの確認

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

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

      説明
      • 目的のデータベースとして admin データベースを選択した場合:

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

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

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

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

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

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

    説明

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

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

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

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

  3. ホームページの左側のナビゲーションウィンドウで [Database instances] をクリックします。インスタンスリストで、目的のインスタンス名を右クリックし、[アカウント管理] をクリックします。

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

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

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

      パラメーター

      説明

      [ユーザー名]

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

      [パスワード]

      ログオンパスワード。

      [パスワードの確認]

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

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

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

      このパラメーターは任意です。デフォルトでは、パスワードに有効期限はありません。

      [接続制限]

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

      デフォルト値は -1 で、接続数が制限されないことを示します。

      [発言]

      アカウントの説明。

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

      権限の種類

      説明

      [ログオンを許可]

      ログオン権限です。対応する SQL コマンドは LOGIN と NOLOGIN です。デフォルトでは、ログオンが許可されています。

      [ユーザー作成を許可]

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

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

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

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

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

    説明

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

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

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

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

  2. ホームページの左側のナビゲーションウィンドウで [Database instances] をクリックします。インスタンスリストで、目的のインスタンス名を右クリックし、[アカウント管理] をクリックします。

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

Edit or delete an account

You can use the account editing feature to modify the [Username], [Password], and MySQL [Global permissions] and [Object permissions] of an account.

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

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

  3. Find the target account and click [Edit] or [Delete] to perform the corresponding operation.

Switch the database account

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

  2. In the Database instances area on the left, find the target instance.

  3. Right-click the instance name and select [Edit Instance].

  4. In the [Basic Information] section, enter the database account and password that you want to use for logon.

  5. Click [Save].

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

  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-HOSTS、FLUSH-LOGS、FLUSH-PRIVILEGES、FLUSH-STATUS、FLUSH-TABLES、FLUSH-THREADS、REFRESH、RELOAD などのコマンドを実行します。

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

クラスターリソースに対して hostInfo アクションを実行する権限を提供します。

clusterMonitor

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

clusterManager

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

clusterAdmin

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

バックアップとリストアロール

backup

バックアップツールがすべてのデータベースをバックアップするために必要な権限を提供します。

restore

リストアツールがすべてのデータベースにデータをリストアするために必要な権限を提供します。

スーパーユーザーロール

root

スーパーユーザー権限。

関連トピック

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

よくある質問

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

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

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

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

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

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

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

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

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

    5. [チェックポイント] を [SQL 実行ルール] に設定します。

    6. [すべての DCL ステートメントを SQL Console で直接実行することを許可] セキュリティルールを見つけ、 [アクション] 列の [編集] をクリックします。

    7. 「ルールの編集」ダイアログボックスの [ルール DSL] セクションで、ルールを if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end に変更します。

      この構文は DCL カテゴリ全体に一致し、CREATE USER や GRANT などのすべての DCL ステートメントをカバーします。各 SQL タイプを個別にリストする必要はありません。このルールでは、allow_execute_direct により、SQL Console でステートメントを 直接実行 できるようになります。一方、allow_submit では、承認のために チケットとして送信 することのみが許可されます。この2つのオプションは許可のレベルが異なるため、要件に応じて選択してください。

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

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

説明

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