AWS RDS for MariaDB

Keeperを使用したAWS MariaDBデータベースの管理者/通常ユーザーのローテーション

概要

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

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

要件

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

  • Keeperシークレットマネージャーがご利用のロールに対して有効になっていること

  • Keeperローテーションがご利用のロールに対して有効になっていること

  • Keeperシークレットマネージャーアプリケーションが作成済みであること

  • Keeperローテーションゲートウェイがすでにインストールされて動作しており、AWS MariaDBデータベースと通信できること

  • AWS環境がKeeperのドキュメントに従って設定されていること

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

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

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

フィールド
説明

タイトル

Keeperレコードの名前 (AWS MariaDB Adminなど)

ホスト名またはIPアドレス

RDSエンドポイント (rdsdb.ckivswes.us-east-2.rds.amazonaws.comなど)

ポート

RDSポート、デフォルトポートはポートマッピングを参照 (3306など)

SSLの使用

データベースにSSLが設定されている場合は、接続する前にSSL検証を実行します

ログイン

ローテーションを実行する管理者アカウントのユーザー名

パスワード

管理者アカウントのパスワード

データベースID

AWS DBインスタンスID

データベースタイプ

mariadb

プロバイダリージョン

Amazon RDSインスタンスが使用しているリージョン (us-east-2)

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

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

2. PAM構成を設定

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

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

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

フィールド
説明

タイトル

設定名 (AWS RDS Configurationなど)

環境

AWSを選択

ゲートウェイ

Keeperシークレットマネージャーアプリケーションで構成され、MariaDB RDSインスタンスにネットワークでアクセスできるゲートウェイを選択します。

アプリケーションフォルダ

PAM構成を含む共有フォルダを選択します。データベースではなく、管理者アカウント用の共有フォルダ内に配置することを推奨します。

AWS ID

このAWSインスタンスの固有のID。参考用のため、任意のIDを指定できますが、短くすることをお勧めします。(AWS-1など)

アクセスキーID

EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドをUSE_INSTANCE_ROLEに設定します。使用していない場合は、特定のアクセスキーIDを使用します。

シークレットアクセスキー

EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドをUSE_INSTANCE_ROLEに設定します。使用していない場合は、特定のシークレットアクセスキーを使用します。

PAM構成レコードで構成できるすべてのフィールドの詳細については、こちらのページをご参照ください。

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

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

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

フィールド
説明

タイトル

Keeperレコードの名前 (AWS DB User 1など)

ログイン

ローテーションするアカウントのユーザー名 (大文字と小文字の区別あり)。DBユーザーテーブルのユーザーのホストが%以外の場合は、USERNAME@HOSTのようにユーザー名にホストの値を追加します。

パスワード

アカウントパスワードはオプションです。空白の場合はローテーションで設定されます。

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

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

  • 適切なスケジュールとパスワードの複雑さを選択します。

  • [ローテーション設定] では、以前に設定したPAM構成を使用する必要があります。

  • [リソースクレデンシャル] フィールドで、手順1で設定されたPAMデータベース認証情報を選択する必要があります。

  • 保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。

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

最終更新