2.2. ロールの作成 (psql)¶
0. 準備¶
1. 事前作業¶
管理ユーザの確認¶
コマンド:
psql \ --host=${DB_HOSTNAME} \ --username=${DB_USER} \ --dbname=${DB_NAME} \ -c '\du'
結果(例):
ロール一覧 ロール名 | 属性 | メンバー -----------------+----------------------------------------------------------------------------------+------------------- pgadmin | ロールを作成できる, DBを作成できる +| {rds_superuser} | パスワード有効期限infinity | rds_replication | ログインできない | {} rds_superuser | ログインできない | {rds_replication} rdsadmin | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, Bypass RLS+| {} | パスワード有効期限infinity | rdsrepladmin | 継承なし, ログインできない, レプリケーション | {}
2. データベースに接続するためのユーザ作成¶
2.1. ロール作成¶
コマンド:
echo "CREATE ROLE redmine_handson LOGIN ENCRYPTED PASSWORD '#dbpass321' NOINHERIT VALID UNTIL 'infinity';" \ | psql --host=${DB_HOSTNAME} \ --username=${DB_USER} \ --dbname=${DB_NAME}
結果:
CREATE ROLE
コマンド:
psql \ --host=${DB_HOSTNAME} \ --username=${DB_USER} \ --dbname=${DB_NAME} \ -c '\du'
結果(例):
ロール一覧 ロール名 | 属性 | メンバー -----------------+----------------------------------------------------------------------------------+------------------- pgadmin | ロールを作成できる, DBを作成できる +| {rds_superuser} | パスワード有効期限infinity | rds_replication | ログインできない | {} rds_superuser | ログインできない | {rds_replication} rdsadmin | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, Bypass RLS+| {} | パスワード有効期限infinity | rdsrepladmin | 継承なし, ログインできない, レプリケーション | {} redmine_handson | 継承なし +| {} | パスワード有効期限infinity |
2.2. マスタユーザへのロール許可¶
コマンド:
echo "GRANT redmine_handson TO pgadmin;" \ | psql \ --host=${DB_HOSTNAME} \ --username=${DB_USER} \ --dbname=${DB_NAME}
結果:
GRANT ROLE
コマンド:
psql \ --host=${DB_HOSTNAME} \ --username=${DB_USER} \ --dbname=${DB_NAME} \ -c '\du'
結果(例):
ロール一覧 ロール名 | 属性 | メンバー -----------------+----------------------------------------------------------------------------------+----------------------------- pgadmin | ロールを作成できる, DBを作成できる +| {rds_superuser,redmine_handson} | パスワード有効期限infinity | rds_replication | ログインできない | {} rds_superuser | ログインできない | {rds_replication} rdsadmin | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, Bypass RLS+| {} | パスワード有効期限infinity | rdsrepladmin | 継承なし, ログインできない, レプリケーション | {} redmine_handson | 継承なし +| {} | パスワード有効期限infinity |