IT技術関連SQL

SQL#3 ユーザー管理と権限の設定

SQL

はじめに

こんにちは、シルです。
SQLの学習にあたり、学んだことメモしておきます。
学習にお役立てください。

参考までに…
SQLコマンド集:基本から応用

前回までの内容です
SQL#1 環境準備と基本操作
SQL#2 テーブルとデータベースの管理

学習の概要

このパートでは、データベースのユーザー管理と権限の設定について学びます。
ユーザーの作成、権限の付与、パスワードの変更、不要なユーザーの削除方法に加えて、権限確認も行います。
これらの操作をマスターすることで、データベースのセキュリティを強化でき、アクセス管理を効率化します。

含まれる操作

SQL操作は以下の通り

1. ユーザー作成と権限付与

2. データベースの権限を確認する

3. ユーザーのパスワード変更

4. ユーザー削除

5. SHOW GRANTS – ユーザー権限の確認

課題

  • 新しいユーザーを作成し、特定のデータベースにのみアクセス可能な権限を与える。
  • ユーザーの権限を確認し、パスワードを変更する。

実践

1. ユーザー作成と権限付与

データベースにアクセスする新しいユーザーを作成し、そのユーザーに特定のデータベースへのアクセス権限を付与します。

ユーザー作成
次のコマンドを使用して、dbuser というユーザーを作成し、パスワードを設定します。

CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password123';


権限付与
このユーザーに対して、EmployeeDB データベースへのすべての権限を付与します。

GRANT ALL PRIVILEGES ON EmployeeDB.* TO 'dbuser'@'localhost';

特定のテーブルにだけ権限を付与する場合は、次のようにします。

GRANT SELECT, INSERT ON EmployeeDB.Employees TO 'dbuser'@'localhost';

2. データベースの権限を確認する

特定のユーザーにどのような権限があるか確認するには、SHOW GRANTS コマンドを使います。

SHOW GRANTS FOR 'dbuser'@'localhost';

これで、dbuser に割り当てられている権限の詳細を確認できます。

3. ユーザーのパスワード変更

セキュリティを強化するため、ユーザーのパスワードを定期的に変更することが推奨されます。

ALTER USER 'dbuser'@'localhost' IDENTIFIED BY 'newpassword456';

4. ユーザー削除

不要になったユーザーを削除する際には、次のコマンドを使用します。

DROP USER 'dbuser'@'localhost';

この操作により、dbuser がデータベースにアクセスできなくなります。

5. SHOW GRANTS – ユーザー権限の確認

前述の SHOW GRANTS コマンドを使って、既存のユーザーの権限を確認することで、管理ミスを防ぐことができます。

SHOW GRANTS FOR 'dbuser'@'localhost';

テストデータの挿入

以下のコマンドを使って、テスト用のデータベースとユーザーを作成し、権限を設定します。

テストデータベースの作成

CREATE DATABASE TestDB;

テストユーザーの作成と権限付与

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'test123';
GRANT ALL PRIVILEGES ON TestDB.* TO 'testuser'@'localhost';

テストユーザーの権限確認

SHOW GRANTS FOR 'testuser'@'localhost';

課題

  • 課題1
    新しいユーザー staffuser を作成し、EmployeeDB データベースに対する SELECT と INSERT のみの権限を付与してください。
CREATE USER 'staffuser'@'localhost' IDENTIFIED BY 'staff123';
GRANT SELECT, INSERT ON EmployeeDB.* TO 'staffuser'@'localhost';
  • 課題2
    staffuser のパスワードを変更し、権限を確認してください。
ALTER USER 'staffuser'@'localhost' IDENTIFIED BY 'newstaff456';
SHOW GRANTS FOR 'staffuser'@'localhost';
  • 課題3
    不要になった testuser を削除してください。
DROP USER 'testuser'@'localhost';

まとめ

この記事では、データベースユーザーの作成と管理、権限の設定、パスワードの変更、不要なユーザーの削除について学習しました。これらの操作を理解することで、データベースのセキュリティを強化し、適切なアクセス管理を行うことができます。

次回は、サーバーステータスやインデックスの管理方法を学び、さらにデータベース運用のスキルを深めていきます。

コメント

タイトルとURLをコピーしました