# AWS RDS for PostgreSQL

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FOZ2BFNl1d734GIC12cK5%2Fimage.png?alt=media&#x26;token=4b49d7c9-3ba2-4399-9911-6c720c16e781" alt=""><figcaption></figcaption></figure>

## 概要

本ページでは、Keeperローテーションを使用して、AWS環境でAWS PostgreSQLデータベースのユーザーアカウントと管理者アカウントのパスワードをローテーションする方法について取り扱います。RDS for PostgreSQLはAWSのマネージドリソースで、PostgreSQLの管理者認証情報は**PAMデータベース**レコードタイプで定義され、PostgreSQLユーザーの構成は**PAMユーザー**レコードタイプで定義されます。

Amazon RDSでは、AWS SDKを使用してデータベース管理者アカウントのパスワードをローテーションします。通常のデータベースユーザーのパスワードをローテーションするために、Keeperが指定された管理者認証情報を使用してDBインスタンスに接続し、パスワードの変更に必要なSQLステートメントを実行します。AWS環境でのローテーションプロセスの概要については、こちらの[ページ](/keeperpam/jp/privileged-access-manager/password-rotation/rotation-use-cases/aws.md)をご参照ください。

## 要件

本ページでは、以下がすでに実行されていることを前提としています。

* Keeperシークレットマネージャーがご利用の[ロール](/keeperpam/jp/privileged-access-manager/password-rotation/rotation-overview.md)に対して有効になっていること
* Keeperローテーションがご利用の[ロール](/keeperpam/jp/privileged-access-manager/password-rotation/rotation-overview.md)に対して有効になっていること
* Keeperシークレットマネージャー[アプリケーション](/keeperpam/jp/privileged-access-manager/getting-started/applications.md)が作成済みであること
* Keeperローテーション[ゲートウェイ](/keeperpam/jp/privileged-access-manager/getting-started/gateways.md)がすでにインストールされて動作しており、AWS PostgreSQLデータベースと通信できること
* AWS環境がKeeperのドキュメントに従って[設定](/keeperpam/jp/privileged-access-manager/getting-started/pam-configuration/aws-environment-setup.md)されていること

## 1. PAMデータベースレコードを設定

**PAMデータベース**レコードには、管理者認証情報と、AWSのPostgreSQL RDSインスタンスに接続するために必要な構成が含まれています。Keeperローテーションは、これらの設定を使用して、PostgreSQL RDSインスタンスの通常のデータベースユーザーアカウントのパスワードをローテーションします。これらの管理者認証情報には、データベースユーザーアカウントの認証情報を正常に変更するための十分なデータベースアクセス権も必要です。

以下は、**PAMデータベース**レコードの**必須**フィールドとなります。

<table><thead><tr><th width="261.99493029150824">フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>Keeperレコードの名前 (<code>AWS PostgreSQL Admin</code>など)</td></tr><tr><td><strong>ホスト名またはIPアドレス</strong></td><td>RDSエンドポイント (<code>rdsdb.ckivswes.us-east-2.rds.amazonaws.com</code>など)</td></tr><tr><td><strong>ポート</strong></td><td>RDSポート、デフォルトポートは<a href="/pages/Fd2WozyLc78LgPNjG4e0">ポートマッピング</a>を参照 (<code>5432</code>など)</td></tr><tr><td><strong>SSLの使用</strong></td><td>データベースにSSLが設定されている場合は、接続する前にSSL検証を実行します。</td></tr><tr><td><strong>ログイン</strong></td><td>ローテーションを実行する管理者アカウントのユーザー名</td></tr><tr><td><strong>パスワード</strong></td><td>管理者アカウントのパスワード</td></tr><tr><td><strong>接続データベース</strong></td><td>データベースサーバーに接続するときに使用されるオプションのデータベース。<br>たとえば、PostgreSQLはデータベースを必要とするため、デフォルトで<code>template1</code>となります。</td></tr><tr><td><strong>データベースID</strong></td><td>AWS DBインスタンスID</td></tr><tr><td><strong>データベースタイプ</strong></td><td><code>postgresql</code></td></tr><tr><td><strong>プロバイダリージョン</strong></td><td>Amazon RDSインスタンスが使用しているリージョン (<code>us-east-2</code>など)</td></tr></tbody></table>

備考: プロバイダリージョン、データベースIDを追加すると、SDKを使用して**PAMデータベース**レコードを管理できるようになります。

管理者認証情報がリンクされたこのPAMデータベースレコードは、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません。

## 2. PAM構成を指定 <a href="#managed-directory-services" id="managed-directory-services"></a>

注: 環境に対して既にPAM構成を設定済みの場合は、この手順を省略できます。

新しい**PAM構成**を作成する場合は、Keeperボルトにログインし、左側のメニューから **\[シークレットマネージャー]**、**\[PAM構成]** タブの順に選択して、**\[新規構成]** をクリックします。

以下は、**PAM構成**レコードの必須フィールドとなります。

<table><thead><tr><th width="258.6055979643766">フィールド</th><th>説明</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>設定名 (<code>AWS RDS Configuration</code>など)</td><td></td></tr><tr><td><strong>環境</strong></td><td><code>AWS</code>を選択</td><td></td></tr><tr><td><strong>ゲートウェイ</strong></td><td>Keeperシークレットマネージャーアプリケーションで構成され、PostgreSQL RDSインスタンスにネットワークでアクセスできるゲートウェイを選択します。</td><td></td></tr><tr><td><strong>アプリケーションフォルダ</strong></td><td>PAM構成が格納されている共有フォルダを選択します。データベースリソースではなく、PAMユーザーレコードが格納されている共有フォルダ内に配置することを推奨します。</td><td></td></tr><tr><td><strong>AWS ID</strong></td><td>AWSのこのインスタンスの固有のID。参照用で何を指定しても構いませんが、短くすることをお勧めします。(<code>AWS-1</code>など)</td><td></td></tr><tr><td><strong>アクセスキーID</strong></td><td>EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドを<code>USE_INSTANCE_ROLE</code>に設定します。使用していない場合は、特定のアクセスキーIDを使用します。</td><td></td></tr><tr><td><strong>シークレットアクセスキー</strong></td><td>EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドを<code>USE_INSTANCE_ROLE</code>に設定します。使用していない場合は、特定のシークレットアクセスキーを使用します。</td><td></td></tr></tbody></table>

PAM構成レコードで構成できるすべてのフィールドの詳細については、こちらの[ページ](/keeperpam/jp/privileged-access-manager/getting-started/pam-configuration.md)をご参照ください。

## 3. PAMユーザーレコードを設定

Keeperローテーションにより、**PAMデータベース**レコードの認証情報を使用して、AWS環境の**PAMユーザー**レコードをローテーションします。**PAMユーザー**の認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。

以下は、**PAMユーザー**レコードの必須フィールドとなります。

<table><thead><tr><th width="205.86929716399504">フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>Keeperレコードの名前 (<code>AWS DB User 1</code>など)</td></tr><tr><td><strong>ログイン</strong></td><td>ローテーションするアカウントのユーザー名 (大文字と小文字の区別あり)。DBユーザーテーブルのユーザーのホストが%以外の場合は、<code>USERNAME@HOST</code>のようにユーザー名にホストの値を追加します。</td></tr><tr><td><strong>パスワード</strong></td><td>アカウントパスワードはオプションです。空白の場合はローテーションで設定されます。</td></tr><tr><td><strong>接続データベース</strong></td><td><p>データベースサーバーに接続するときに使用されるオプションのデータベース。</p><p>たとえば、PostgreSQLはデータベースを必要とするため、デフォルトでtemplate1となります。</p></td></tr></tbody></table>

## 4. PAMユーザーレコードでローテーションを構成

手順3の**PAMユーザー**レコードを選択し、編集し&#x3066;**\[パスワードローテーション設定]**&#x3092;開きます。

* 適切なスケジュールとパスワードの複雑さを選択します。
* **\[ローテーション設定]** では、以前に設定した**PAM構成**を使用する必要があります。
* **\[リソースクレデンシャル]** フィールドで、手順1で設定された**PAMデータベース**認証情報を選択する必要があります。
* 保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。

**PAMユーザー**のレコードに対する`edit`権限を持つユーザーならだれでも、そのレコードのローテーションを設定できます。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/privileged-access-manager/password-rotation/rotation-use-cases/aws/managed-database/aws-rds-for-postgresql.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
