AWS RDS for SQL Server
Keeperを使用したAWS SQL Serverデータベースの管理者と通常ユーザーのローテーション
最終更新
Keeperを使用したAWS SQL Serverデータベースの管理者と通常ユーザーのローテーション
最終更新
本ページでは、Keeperローテーションを使用して、AWS環境でAWS SQL Serverデータベースのユーザーアカウントと管理者アカウントのパスワードをローテーションする方法について取り扱います。RDS for SQL ServerはAWSのマネージドリソースで、SQL Serverの管理者認証情報がPAMデータベースレコードタイプで定義され、SQL Serverユーザーの構成はPAMユーザーレコードタイプで定義されます。
本ページでは、以下がすでに実行されていることを前提としています。
PAMデータベースレコードには、管理者認証情報へのリンクと、AWSのSQL Server RDSインスタンスに接続するために必要な構成が含まれています。Keeperローテーションは、これらの設定を使用して、SQL Server RDSインスタンスの通常のデータベースユーザーアカウントのパスワードをローテーションします。これらの管理者認証情報には、データベースユーザーアカウントの認証情報を正常に変更するための十分なデータベースアクセス権も必要です。
以下は、PAMデータベースレコードの必須フィールドとなります。
タイトル
Keeperレコードの名前 (RDS SQL Server Admin
など)
ホスト名またはIPアドレス
RDSエンドポイント (rdsdb.ckivswes.us-east-2.rds.amazonaws.com
など)
ポート
SSLの使用
データベースにSSLが設定されている場合は、接続する前にSSL検証を実行します
ログイン
ローテーションを実行する管理者アカウントのユーザー名
パスワード
管理者アカウントのパスワード
接続データベース
データベースサーバーに接続するときに使用されるオプションのデータベース。
たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトでmaster
となります。
データベースID
AWS DBインスタンスID
データベースタイプ
mssql
プロバイダリージョン
Amazon RDSインスタンスが使用しているリージョン (us-east-2
など)
備考: プロバイダリージョン、データベースIDを追加すると、SDKを使用してPAMデータベースレコードを管理できるようになります。
管理者認証情報がリンクされたこのPAMデータベースレコードは、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません。
注: 環境に対して既にPAM構成を設定済みの場合は、この手順を省略できます。
新しいPAM構成を作成する場合は、Keeperボルトにログインし、左側のメニューから [シークレットマネージャー]、[PAM構成] タブの順に選択して、[新規構成] をクリックします。
以下は、PAM設定レコードの必須フィールドとなります。
タイトル
設定名 (AWS RDS Configuration
など)
環境
AWS
を選択
ゲートウェイ
Keeperシークレットマネージャーアプリケーションで構成され、SQL Server RDSインスタンスにネットワークでアクセスできるゲートウェイを選択します
アプリケーションフォルダ
PAM構成が格納されている共有フォルダを選択します。データベースリソースではなく、PAMユーザーレコードが格納されている共有フォルダ内に配置することを推奨します。
AWS ID
AWSのこのインスタンスの固有のID。参照用で何を指定しても構いませんが、短くすることをお勧めします。
例:AWS-1
アクセスキーID
EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドをUSE_INSTANCE_ROLE
に設定します。使用していない場合は、特定のアクセスキーIDを使用します
シークレットアクセスキー
EC2ロールポリシーを使用している場合 (デフォルト) は、このフィールドをUSE_INSTANCE_ROLE
に設定します。使用していない場合は、特定のシークレットアクセスキーを使用します
Keeperローテーションにより、PAMデータベースレコードの認証情報を使用して、AWS環境のPAMユーザーレコードをローテーションします。PAMユーザーの認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。
以下は、PAMユーザーレコードの必須フィールドとなります。
タイトル
Keeperのレコードタイトル (AWS DB User 1
など)
ログイン
ローテーションするアカウントの大文字と小文字の区別があるユーザー名。DBユーザーテーブルのユーザーのホストが%以外の場合は、USERNAME@HOST
のようにユーザー名にホスト値を追加します
パスワード
アカウントパスワードはオプションです。空白の場合はローテーションで設定されます。
接続データベース
データベースサーバーに接続するときに使用されるオプションのデータベース。
たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトでmaster
となります。
手順3で設定したPAMユーザーレコードを選択し、そのレコードを編集して[パスワードローテーション設定]を開きます。
適切なスケジュールとパスワードの複雑さを選択します。
[ローテーション設定]では、以前に設定したPAM構成を使用する必要があります。
[リソースクレデンシャル]フィールドで、手順1で設定されたPAMデータベース認証情報を選択する必要があります。
保存するとローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。
PAMユーザーのレコードに対するedit
権限が付与されているユーザーなら誰でもそのレコードのローテーションを設定できます。
Amazon RDSでは、AWS SDKを使用してデータベース管理者アカウントのパスワードをローテーションします。通常のデータベースユーザーのパスワードをローテーションするために、Keeperが指定された管理者認証情報を使用してDBインスタンスに接続し、パスワードの変更に必要なSQLステートメントを実行します。AWS環境でのローテーションプロセスの概要については、こちらのをご参照ください。
Keeperシークレットマネージャーがご利用のに対して有効になっていること
Keeperローテーションがご利用のに対して有効になっていること
Keeperシークレットマネージャーが作成済みであること
Keeperローテーションがすでにインストールされて動作しており、AWS SQL Serverデータベースと通信できること
ゲートウェイがLinuxサーバーまたはmacOSサーバーにインストールされている場合は、をインストールします
AWS環境がKeeperのドキュメントに従ってされていること
RDSポート、デフォルトポートはを参照
例: 1433
PAM構成レコードで構成できるすべてのフィールドの詳細については、こちらのをご参照ください。