# PostgreSQLデータベースの例

## 概要

この例では、PostgreSQLデータベースをボルト内にPAMデータベースレコードとして構成する方法について取り扱います。

## 要件

まず、以下を完了しておきます。

* [Keeperゲートウェイのインストールと構成](https://docs.keeper.io/jp/keeperpam/secrets-manager/about/one-time-token)
* [対象環境のPAM構成の作成](https://docs.keeper.io/keeperpam/privileged-access-manager/getting-started/pam-configuration)

## PAMデータベースレコード

PostgreSQLのようなデータベースは、PAMデータベースレコードタイプとして構成できます。

## PAMデータベースの作成

1. **\[新規作成]** をクリックします。
2. ユースケースに応じて、**\[ローテーション]**、**\[トンネル]**、**\[接続]** のいずれかをクリックします。
3. 表示されるウィンドウで以下を設定します。
   * **\[新規レコード]** を選択します。
   * 作成対象の共有フォルダを選択します。
   * **タイトル**を入力します。
   * **ターゲット**として **\[データベース]** を選択します。
   * **\[次へ]** をクリックし、必要な情報をすべて入力します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FNENa4U7PDWpDo16psgQP%2Fimage.png?alt=media&#x26;token=adb0386f-ec38-4e35-81a0-6d5ef314c95d" alt=""><figcaption><p>PostgreSQL PAMデータベースレコード</p></figcaption></figure>

## PAMデータベースレコードでPostgreSQLデータベースを構成

以下は、ホスト名が`db-postgres-1`のデータベースを構成する場合の設定例です。

<table><thead><tr><th>フィールド</th><th width="249.38671875">説明</th><th>値</th></tr></thead><tbody><tr><td>タイトル (必須)</td><td>PAMデータベースレコードのタイトル</td><td><code>PostgreSQL Database - postgresuser</code></td></tr><tr><td>ホスト名またはIPアドレス (必須)</td><td>データベースリソースのアドレス、RDPエンドポイント、サーバー名</td><td>db-postgres-1</td></tr><tr><td>ポート (必須)</td><td>データベース接続ポート</td><td>5432</td></tr><tr><td>SSLの使用 (必須)</td><td>SSL接続を行うかどうか (構成済みの場合は有効化)</td><td><code>Enabled</code></td></tr><tr><td>データベースID</td><td>AzureまたはAWSリソースID (該当する場合)</td><td><strong>必須</strong> (マネージドDBの場合)</td></tr><tr><td>データベースの種類</td><td>対応するデータベースタイプ</td><td><code>postgresql</code></td></tr><tr><td>プロバイダーグループ</td><td>AzureまたはAWSのプロバイダーグループ</td><td>マネージドDBであれば<strong>必須</strong></td></tr><tr><td>プロバイダーリージョン</td><td>AzureまたはAWSのリージョン</td><td>マネージドDBであれば<strong>必須</strong></td></tr></tbody></table>

## PAM設定の構成

ボルト内のPAMデータベースレコードの **\[PAM設定]** セクションで、KeeperPAMの接続およびトンネル機能を構成できます。PAMユーザー認証情報をリンクすることで、接続やローテーションが可能になります。トンネルのみを使用する場合、認証情報のリンクは不要です。以下は、PostgreSQLデータベースに対して構成可能なすべてのフィールドと対応する値です。

構成可能なすべてのフィールドと対応する値です。

| フィールド        | 説明                                       | 備考                                                                                                                                                                                                                                                                |
| ------------ | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PAM構成        | 環境を定義する関連PAM構成レコード                       | **必須** (要件で作成済み)                                                                                                                                                                                                                                                  |
| 管理者用認証情報レコード | 接続や操作に使用されるリンクされたPAMユーザー認証情報レコード         | <p><strong>必須</strong><br>詳しくは<a href="#rekdo">こちら</a>を参照</p>                                                                                                                                                                                                     |
| プロトコル        | ゲートウェイから対象に接続するために使用されるネイティブなデータベースプロトコル | **必須** (例: MySQL)                                                                                                                                                                                                                                                 |
| セッションレコーディング | 録画かTypeScriptを指定                         | [こちらのページ](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/session-recording-and-playback)を参照                                                                                                                                                        |
| 接続パラメータ      | プロトコルの種類に応じて異なる接続専用のプロトコル設定              | <p>PostgreSQLプロトコルの設定については<a href="https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/privileged-access-manager/connections/session-protocols/postgresql-connections/README.md">こちらのページ</a>を参照<br><br>最低限、ポート番号の指定を推奨 (PostgreSQLでは5432)</p> |

## 管理者認証情報レコード

PAMデータベース内の**管理者認証情報レコード**により、ユーザーがボルト内のPAMデータベースレコードにリンクされます。このリンクされたユーザーは、起動ボタンをクリックして接続を開始する際の認証に使用されます。

ユーザーアカウントは、PAMユーザーレコードで構成されます。詳細については[こちらのページ](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/getting-started/pam-resources/pam-user)をご参照ください。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fc1430L3229KUFFC43Vbo%2Fimage.png?alt=media&#x26;token=707054a5-18d8-42a9-ae4c-680bcdf20aed" alt=""><figcaption><p>管理者認証情報レコード</p></figcaption></figure>

### 非管理者ユーザーを指定する場合

管理者認証情報を使用して接続を認証したくない場合は、そのリソースの通常ユーザーを管理者認証情報として指定することもできます。

## PAMデータベースレコードの共有

PAMデータベースレコードは、組織内の他のKeeperユーザーと共有できます。ただし、KeeperPAMの機能を利用するには、共有先のユーザーが適切なPAMポリシーが適用されたロールに割り当てられている必要があります。

PAMデータベースレコードを共有しても、リンクされた管理者認証情報が共有されることはありません。たとえば、PAMデータベースがPostgreSQLデータベースで構成されている場合でも、共有先ユーザーはリンクされた認証情報に直接アクセスすることなく、データベースに接続できます。詳しくは[こちらのページ](https://docs.keeper.io/jp/keeperpam/privileged-access-manager/getting-started/sharing-and-access-control)をご覧ください。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FdSk1UJr5NijC8VeHu4t9%2Fimage.png?alt=media&#x26;token=cbce571f-c6fa-4373-94b1-934be7b77c87" alt=""><figcaption><p>PostgreSQLデータベースレコードの共有</p></figcaption></figure>

## セットアップ完了

PostgreSQLデータベースレコードのセットアップが完了しました。接続の起動権限が付与されているユーザーは、ボルトからPostgreSQL接続またはトンネル接続を起動できます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgne2jbLy8O5xPlR6f8Dc%2Fimage.png?alt=media&#x26;token=c7f79d68-0b82-4d6b-a30d-0ae81a0e1b03" alt=""><figcaption></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F6A8uZiAZScpB054t3VNb%2Fimage.png?alt=media&#x26;token=ac5769b7-6953-4ef7-91ee-12837a143011" alt=""><figcaption><p>PostgreSQLインタラクティブCLIセッションを起動</p></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FswUwHWVcnGzSWDLMSTmZ%2Fimage.png?alt=media&#x26;token=8db82e69-2972-4fb8-a394-520ae3c4752e" alt=""><figcaption><p>PostgreSQLデータベースへのインタラクティブ接続</p></figcaption></figure>
