AWS Postgresqlインスタンスでスーパーユーザーを作成できないのはなぜですか?


15

RDSインスタンス(Postgresql)に接続するAWS EC2インスタンスがあります。RDSインスタンスを作成したとき、DBルートのユーザー名は次のとおりmy_user1で、パスワードはであると伝えましたpassword1。今、私はロールとスーパーユーザーを作成しようとしています。しかし、それは失敗します:

$ createuser -P -d -s -e my_user2 --host myhost.com -U my_user1
Enter password for new role: XXXYYYZZZ
Enter it again: XXXYYYZZZ
Password: password1
CREATE ROLE my_user2 PASSWORD 'md5999999c0101a1d64afd57575e06f999c' SUPERUSER CREATEDB  CREATEROLE INHERIT LOGIN;
createuser: creation of new role failed: ERROR:  must be superuser to create superusers
$

-sフラグなしでコマンドを繰り返すと、動作します:

$ createuser -P -d -e my_user2 --host myhost.com  -U my_user1
Enter password for new role:
Enter it again:
Password:
CREATE ROLE my_user2 PASSWORD 'md5999999c0101a1d64afd57575e06f888c' NOSUPERUSER CREATEDB NOCREATEROLE INHERIT LOGIN;
$

そのため、明らかに、my_user1スーパーユーザーを作成する権限がありません。しかし、これはRDSが私の管理ユーザーだと言ったユーザーです!my_user1スーパーユーザーを作成する権限がない場合、誰が持っていますか?また、AWSからユーザー名/パスワードを取得するにはどうすればよいですか?


pg_hba.confは認証スキームがローカルユーザーのピアであると言っていますか?
ルーキー

Drookie、このファイルはRDSインスタンス自体にありますか?私はまだそのマシンにSSHで接続していません。
サキブアリ

@SaqibAli RDSインスタンスにSSHで接続することはできません。
ceejayoz

回答:


22

RDSインスタンスはAmazonによって管理されます。そのため、レプリケーションなどを壊さないようにするために、ユーザー(インスタンスを作成するときに設定したルートユーザーも含む)には完全なスーパーユーザー権限はありません。

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html

DBインスタンスを作成すると、作成したマスターユーザーシステムアカウントがrds_superuserロールに割り当てられます。rds_superuserロールは、PostgreSQLスーパーユーザーロール(ローカルインスタンスでは慣例的にpostgresという名前)に似た事前定義済みのAmazon RDSロールですが、いくつかの制限があります。PostgreSQLのスーパーユーザーロールと同様に、rds_superuserロールにはDBインスタンスに対するほとんどの権限があります。DBインスタンスへのアクセスが最も必要でない限り、ユーザーにこのロールを割り当てないでください。


5
スーパーユーザーフラグを使用せずにデータベースをバックアップすることはできませんpg_dump。AWSのRDでこれを回避する方法はありますか?
チョビー

@chovy、grantデータベース所有者ロールをユーザーに試してみてください。
スパイク

3

\du+または\dg+で現在の許可をリストすると、スーパーユーザーではなく、許可された許可Create Role、Create DBのみが許可されます。そのため、現在割り当てられている権限よりも高い権限を自分で割り当てることはできません。

通常、ホストされている環境ではルートまたはスーパーユーザーのアクセス許可は与えられません。完全な制御のために、カスタムEC2インスタンスを起動し、PostgreSQLをローカルにインストールすることをお勧めします。


2
そうでない場合、pg_dumpを使用してAmazon RDSデータベースをバックアップする方法は本当にありませんか?
チョビー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.