pg_authid
pg_authid
カタログはデータベース認証識別子(ロール)の情報を保持します。
ロールは「ユーザ」と「グループ」の概念を包括しています。
ユーザは本質的にrolcanlogin
フラグセットを持ったロールです。
どのようなロール(rolcanlogin
を持っている、持っていないに関わらず)も他のロールをメンバとして持っていても構いません。
pg_auth_members
を参照してください。
このカタログはパスワードを含んでいるため、第三者が内容を読むことができないようにしなければいけません。
pg_roles
は、pg_authid
のビューで、パスワードのフィールドは空白となっていますので内容を読み取ることができます。
21章データベースロールでユーザと権限管理に関するより詳細について説明します。
ユーザの本人確認はクラスタ全体にわたる情報ですので、pg_authid
はクラスタのすべてのデータベースで共有されます。
データベース毎ではなく、クラスタ毎にたった1つだけpg_authid
が存在します。
表50.8 pg_authid
の列
名前 | 型 | 説明 |
---|---|---|
oid | oid | 行識別子(隠し属性です。明示的に選択しなければなりません) |
rolname | name | ロール名 |
rolsuper | bool | ロールはスーパーユーザの権限を持っています |
rolinherit | bool | ロールは自動的にメンバとして属するロールの権限を継承します |
rolcreaterole | bool | ロールはロールを作成することができます |
rolcreatedb | bool | ロールはデータベースを作成することができます |
rolcanlogin | bool | ロールはログインすることができます。つまりロールはセッションを始める認証の識別子となることができます |
rolreplication | bool | ロールはレプリケーション用のロールです。 レプリケーションロールは、レプリケーション接続を開始すること、およびレプリケーションスロットを作成および削除することができます。 |
rolbypassrls | bool | すべての行単位セキュリティポリシーを無視するロール。詳しくは5.7. 行セキュリティポリシーを参照してください。 |
rolconnlimit | int4 | ログイン可能なロールでは、これはロールが確立できる同時実行接続数を設定します。 -1は制限無しを意味します。 |
rolpassword | text | (おそらく暗号化された)パスワード。無い場合はNULLです。
パスワードが暗号化された場合、この列にはmd5 という文字列の後に32文字の16進数表記のMD5ハッシュが含まれます。
MD5ハッシュはユーザのパスワードとユーザ名を連結したものになります。
例えばユーザjoe のパスワードがxyzzy の場合、PostgreSQLはxyzzyjoe をMD5でハッシュ化したものを格納します。
この書式に従わないパスワードは暗号化されていないとみなされます。
|
rolvaliduntil | timestamptz | パスワード有効期限(パスワード認証でのみ使用)。 NULLの場合には満了時間はありません。 |