Creating Postgres users#
デプロイ中にPostgresユーザーを作成するには、
config.ymlのcluster_vars または特定のインスタンスのvars
の下のpostgres_users のリストにエントリを追加します。
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 を設定できます。