

# RDS Proxy の使用時に新しいデータベースユーザーを追加する
<a name="rds-proxy-new-db-user"></a>

状況に応じて、プロキシに関連付けられている RDS DB インスタンス に新しいデータベースユーザーを追加できます。Secrets Manager シークレットで標準認証を使用しているか、エンドツーエンドの IAM 認証を使用しているかに応じて続行します。

標準の IAM 認証を使用している場合は、以下の手順に従います。

1. 「[RDS Proxy のデータベース認証情報の設定](rds-proxy-secrets-arns.md)」で説明している手順を使用して、新しい Secrets Manager シークレットを作成します。

1. IAM ロールを更新して、RDS Proxy に新しい Secrets Manager シークレットへのアクセスを許可します。そのためには、IAM ロールポリシーのリソースセクションを更新します。

1. RDS Proxy を変更して、**[Secrets Manager のシークレット]** に新しい Secrets Manager のシークレットを追加します。

1.  既存のユーザーを新しいユーザーに置き換える場合は、プロキシで既存のユーザーの Secrets Manager シークレットに保存されている認証情報を更新します。

エンドツーエンドの IAM 認証を使用している場合は、データベースユーザーを作成し、IAM アクセス許可を設定する必要があります。これを行うには、次のステップを実行します。

1. 認証に使用する IAM ユーザーまたはロール名と一致する新しいデータベースユーザーをデータベースに作成します。

1. データベースユーザーがデータベースで IAM 認証プラグインを使用して設定されていることを確認します。「[IAM 認証を使用したデータベースアカウントの作成](UsingWithRDS.IAMDBAuth.DBAccounts.md)」を参照してください。

1. 「[エンドツーエンドの IAM 認証用の IAM ポリシーの作成](rds-proxy-iam-setup.md#rds-proxy-iam-setup-e2e-steps)」で説明されているように、IAM ユーザーまたはロールに `rds-db:connect` アクセス許可を付与するように IAM ポリシーを更新します。

1. デフォルトの認証スキームとして IAM 認証を使用するようにプロキシが設定されていることを確認します。

エンドツーエンドの IAM 認証では、クライアントからプロキシ、プロキシからデータベースへの認証に IAM 認証情報が使用されるため、Secrets Manager シークレットでデータベース認証情報を管理する必要はありません。

## RDS Proxy を使用する場合に PostgreSQL データベースに新しいデータベースユーザーを追加する
<a name="rds-proxy-new-db-user-pg"></a>

PostgreSQL データベースに新しいユーザーを追加するとき、次のコマンドを実行する必要がある場合は、次のコマンドを実行します。

```
REVOKE CONNECT ON DATABASE postgres FROM PUBLIC;
```

ユーザーがターゲットデータベース上の接続をモニタリングできるように、`rdsproxyadmin` ユーザーに `CONNECT` 権限を付与します。

```
GRANT CONNECT ON DATABASE postgres TO rdsproxyadmin;
```

上記のコマンドで `rdsproxyadmin` をデータベースユーザーに変更することで、他のターゲットデータベースユーザーにヘルスチェックの実行を許可することもできます。

## RDS Proxy を使用する場合のデータベースユーザーのパスワードの変更
<a name="rds-proxy-changing-db-user-password"></a>

状況に応じて、プロキシに関連付けられている RDS DB インスタンス のデータベースユーザーのパスワードを変更できます。その場合は、対応する Secrets Manager シークレットを新しいパスワードで更新します。

エンドツーエンドの IAM 認証を使用している場合は、Secrets Manager シークレットのパスワードを更新する必要はありません。