Creating Postgres users¶
展開中にPostgresユーザーを作成するには、 cluster_vars
の下のpostgres_users
またはconfig.ymlの特定のインスタンスのvars
のリストにエントリを追加します。
cluster_vars:
postgres_users:
- username: example
- username: otheruser
generate_password: true
role_attrs:
- superuser
- replication
granted_roles:
- r1
- r2
上記の例では、2人のユーザーを作成します(repmgrやbarmanなど、TPA自分自身が作成することを決定したユーザーを除く)。
各エントリは、作成するusername を指定する必要があります。
granted_roles
リスト内のロールは、新しく作成されたユーザーに付与されます。
role_attrs リストには、特定の CREATE ROLE options が含まれる場合があります
[NO]SUPERUSER 、[NO]CREATEDB 、[NO]LOGIN
(ユーザーまたはロールを作成するため)など
パスワード生成¶
デフォルトでは、TPAはユーザーのランダムなパスワードを生成し、クラスターのインベントリ内の<username>_password
という名前のボールト暗号化変数に保存します。後で値を取得できます。
$ tpaexec show-password ~/clusters/speedy example
beePh~iez6lie4thi5KaiG%eghaeT]ai
config.ymlでパスワードを明示的に指定することはできませんが、代わりに別の<username>_password
をインベントリーに保存できます。
$ tpaexec store-password ~/clusters/speedy example --random
$ tpaexec show-password ~/clusters/speedy example
)>tkc}}k1y4&epaJ?;NJ:luT{C7D*<p
$ tpaexec store-password ~/clusters/speedy example
Password:
$ tpaexec show-password ~/clusters/speedy example
terrible insecure password
$
ユーザーにパスワードをまったく持たせたくない場合は、
generate_password: false を設定できます。