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

ApsaraDB RDS:指定の IP アドレスから承認済みデータベースにアクセスできるアカウントを承認する

最終更新日:Apr 04, 2025

RDS インスタンスの IP アドレス ホワイトリストは、RDS インスタンスで作成されたすべてのアカウントに適用されます。ホワイトリストを設定して、各アカウントが承認済みデータベースにアクセスできる IP アドレスを制限することはできません。これにより、RDS インスタンスはセキュリティリスクにさらされます。このトピックでは、SQL コマンドを実行して、ApsaraDB RDS for MySQL インスタンスで、指定された IP アドレスから承認済みデータベースにアクセスするアカウントを承認する方法について説明します。

前提条件

特権アカウントが作成されていること。詳細については、「ApsaraDB RDS for MySQL インスタンスでアカウントを作成する」をご参照ください。

注意事項

  • 指定の IP アドレスから承認済みデータベースにアクセスするようにアカウントを承認した後、ApsaraDB RDS [コンソール] で、または API オペレーションを呼び出すことによって、アカウントを管理するときに問題が発生する可能性があります。Data Management (DMS) または SQL 文を使用してアカウントを管理することをお勧めします。

  • データベースにログインするために使用されるアカウントのユーザー名が同じで、192.168.% や 192.168.%.% など、同等の IP アドレスが割り当てられている場合、システムは認証順序を保証できません。これにより、アクセス例外が発生する可能性があります。たとえば、データベースに user@192.168.% アカウントと user@192.168.%.% アカウントが作成されている場合、システムはいずれかのアカウントをランダムに認証します。2 つのアカウントのパスワードまたは権限が異なる場合、ログインが失敗するか、データベースにログインした後の権限が異なる可能性があります。異なるユーザー名を使用することをお勧めします。

SQL 文を使用して、指定の IP アドレスから承認済みデータベースにアクセスするアカウントを承認する

  1. RDS インスタンスに接続します。詳細については、「クライアントまたは CLI を使用して ApsaraDB RDS for MySQL インスタンスに接続する」をご参照ください。

  2. SQL 文を実行して RDS インスタンスにアカウントを作成し、指定された IP アドレスからデータベースを管理し、承認済みデータベースにアクセスする権限をアカウントに付与します。

    次の文を実行して、test001 という名前のユーザーを作成し、IP アドレス 42.120.XX.XX から rds001 データベースにアクセスして管理する権限をユーザーに付与します。

    CREATE USER `test001`@`42.120.XX.XX`IDENTIFIED BY 'passwd'; // ユーザー test001@42.120.XX.XX をパスワード 'passwd' で作成
    GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'test001'@'42.120.XX.XX'; // test001@42.120.XX.XX に必要な権限を付与
    GRANT ALL PRIVILEGES ON `rds001`.* TO 'test001'@'42.120.XX.XX'; // test001@42.120.XX.XX に rds001 データベースへのすべての権限を付与
    GRANT SELECT ON mysql.* TO 'test001'@'42.120.XX.XX'; // test001@42.120.XX.XX に mysql データベースへの SELECT 権限を付与
    
    説明
    • すべての先行する文で IP アドレス 42.120.XX.XX をワイルドカード % に変更しない限り、RDS コンソールでユーザーの承認済みデータベースを表示することはできません。

    • 次の文を実行して、IP アドレスを 42.121.XX.XX に変更できます。

      RENAME USER `test001`@`42.120.XX.XX` TO `test001`@`42.121.XX.XX`; // ユーザー名を変更して IP アドレスを更新