So-net無料ブログ作成

PostgreSQL 10 以降 のscram-sha-256 authentication [RDBMS]

最近気づいたが PostgreSQL 10 になってから、 SASL 認証という認証プラグイン機構のひとつとして SCRAM-SHA-256 というチャレンジレスポンス方式の認証方法が実装されたらしい。
http://tatsuo-ishii.github.io/doc-ja/10.0/sasl-authentication.html#sasl-scram-sha256


既存のアカウントを scram-sha-256 で使うためには、サーバーで、以下の2つをオペレーションを実施する

1. パスワードを scram-sha-256 で再設定

https://paquier.xyz/postgresql-2/postgres-10-scram-authentication/
postgres ユーザーで psql コマンドを起動して以下のように入力(下記例ではユーザー scram のパスワードを再設定している)
postgres=# SET password_encryption = 'scram-sha-256';
SET
postgres=# \password scram;
Enter new password:
Enter it again:
postgres=#


2. pg_hba.conf で METHOD にscram-sha-256 を指定する

クラウドの時代で、サーバーとクライアントがインターネットを挟んでいて sniff される可能性があっても、データーのやり取りは TLS で通信すればいいんで、最初の認証を安全にできるようにしようということらしい。

PGCon 2017 の資料
https://www.pgcon.org/2017/schedule/attachments/466_PGCon2017-SCRAM.pdf

ちなみにいつもわすれちゃうけど、PostgreSQL のユーザーの作成、データーベースの作成、権限の付与、パスワードの変更はここらへん
https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e

(2018-09-22 追記)ドライバーの実装
- C# https://github.com/npgsql/npgsql/pull/1769/files
- erlang https://github.com/epgsql/epgsql/blob/devel/src/epgsql_scram.erl
- python https://github.com/nakagami/minipg/commit/d4ef01ae2867b267c4e4dca8550b9cfce0a61ccc


コメント(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント