0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PostgreSQL】AIに自由に分析させるためのRead Onlyユーザー作成手順

Posted at

MCP経由でAIにDBのデータを分析させる際に、読み取り専用のユーザーを使うと安全です。
作成する手順の簡易的なメモです。

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

管理者権限を持つユーザーでDBに接続し、以下のSQLを実行します。

-- 1. ユーザーの作成
CREATE USER readonly_user WITH PASSWORD 'secure_password';

-- 2. スキーマへのアクセス許可
GRANT USAGE ON SCHEMA public TO readonly_user;

-- 3. 【既存】テーブルへの読み取り許可
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;

-- 4. 【未来】のテーブルへの読み取り許可(重要!)
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly_user;

ポイント

特に重要なのが 4番目の ALTER DEFAULT PRIVILEGES です。 これを行わないと、「ユーザー作成後に新しく追加されたテーブル」が見えなくなってしまいます。 忘れずに実行しましょう。

2. 動作確認(テスト)

作成した readonly_user でログインし、挙動を確認します。

読み取り(SELECT)

SELECT * FROM users LIMIT 1;
-- 結果: データが取得できること

書き込み(INSERT/UPDATE/DELETE)

INSERT INTO users (name) VALUES ('test');
-- 期待される結果: ERROR:  permission denied for table users

この permission denied(権限がありません) というエラーが出れば成功です。 「エラーが出ること」を確認して、作業完了となります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?