# AWS RDS for MySQL

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FCDCaIYE464oPqbIwjBI4%2Fimage.png?alt=media&#x26;token=7709fa3d-7811-4e77-8b4e-4bdda7011fff" alt=""><figcaption></figcaption></figure>

## 概要

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

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

## 要件

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

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

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

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

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

<table><thead><tr><th width="241.99493029150824">フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>Keeperレコードの名前 (<code>AWS MySQL 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="https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/privileged-access-manager/references/port-mapping/README.md">ポートマッピング</a>を参照 (<code>3306</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>データベースID</strong></td><td>AWS DBインスタンスID</td></tr><tr><td><strong>データベースタイプ</strong></td><td><code>mysql</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="266.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シークレットマネージャーアプリケーションで構成され、MySQL RDSインスタンスにネットワークでアクセスできるゲートウェイを選択します。</td><td></td></tr><tr><td><strong>アプリケーションフォルダ</strong></td><td>PAM構成を含む共有フォルダを選択します。データベースではなく、管理者アカウント用の共有フォルダ内に配置することを推奨します。</td><td></td></tr><tr><td><strong>AWS ID</strong></td><td>このAWSインスタンスの固有のID。参考用のため任意の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構成レコードで構成できるすべてのフィールドの詳細については、こちらの[ページ](https://docs.keeper.io/keeperpam/privileged-access-manager/getting-started/pam-configuration)をご参照ください。

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

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

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

<table><thead><tr><th width="176.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></tbody></table>

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

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

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

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