ユーザーが作成したデータベースへのアクセスを制限した MySQL データベースのセキュリティ保護
マルチユーザー MySQL セットアップでは、データ セキュリティの確保が最も重要です。一般的な課題の 1 つは、ユーザーが自分の作成したもののみにアクセスを制限しながらデータベースを作成できるようにすることです。
この問題を解決するために、MySQL はワイルドカード データベース名を使用した微妙なアプローチを提供します。解決策は、特定のデータベースに対する権限を付与するのではなく、特定のプレフィックスまたはパターンを持つデータベースに対する権限を付与することです。
GRANT コマンドを利用すると、特定のパターンに一致するデータベースに対するすべての権限を付与できます。データベース名に一致するパターンに対する権限を付与する構文は次のとおりです。
GRANT ALL PRIVILEGES ON `<pattern_name>.%` TO '<user_name>'@'%';
このコマンドの場合:
例:
GRANT ALL PRIVILEGES ON `testuser_%.` TO 'testuser'@'%';
このコマンドを実行すると、ユーザー testuser に、次で始まるすべてのデータベースに対する権限を付与します。プレフィックス testuser_。これにより、testuser は testuser_demo、testuser_prod などの名前でデータベースを作成できるようになります。ただし、testuser は、このパターン以外の名前のデータベースを表示したりアクセスしたりすることはできません。
このアプローチにより、スケーラビリティが確保され、複数のユーザーがデータベースを作成できるようになります。自分の作成物へのアクセスを制限しながら、データベースを安全に管理します。
以上がユーザーのアクセスを自分の作成物に制限して MySQL データベースを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。