AWS RDS for SQL Server
Keeperを使用したAWS SQL Serverデータベースの管理者/通常ユーザーのローテーション
概要
このガイドでは、Keeper Rotationを使用して、AWS環境でAWS SQL Serverデータベースのユーザーアカウントと管理者アカウントのパスワードをローテーションする方法について説明します。RDS for SQL ServerはAWSのマネージドリソースで、SQL Serverの管理者のクレデンシャルがPAMデータベース記録タイプで定義され、SQL Serverユーザーの設定がPAMユーザー記録タイプで定義されています。
Amazon RDSでは、AWS SDKを使用してデータベース管理者アカウントのパスワードをローテーションします。通常のデータベースユーザーのパスワードをローテーションするために、Keeperは指定された管理者クレデンシャルを使用してDBインスタンスに接続し、パスワードの変更に必要なSQLステートメントを実行します。AWS環境でのローテーションプロセスの大まかな概要は、こちらのページをご参照ください。
前提条件
このガイドでは、以下の作業がすでに実行されていることを前提としています。
Keeper Rotationがご利用のロールに対して有効になっていること
Keeper Secrets Managerアプリケーションが作成済みであること
Keeper Rotationゲートウェイがすでにインストールされて動作しており、AWS SQL Serverデータベースと通信できること
ゲートウェイがLinuxサーバーまたはmacOSサーバーにインストールされている場合は、Microsoft ODBCドライバをインストールします
AWS環境がKeeperのドキュメントに従って設定されていること
1. PAMデータベース記録を設定
PAMデータベース記録には、管理者のクレデンシャルと、AWSのSQL Server RDSインスタンスに接続するために必要な設定が含まれています。Keeper Rotationは、これらの指定された設定を使用して、SQL Server RDSインスタンスの通常のデータベースユーザーアカウントのパスワードをローテーションします。指定されたこれらの管理者のクレデンシャルには、データベースユーザーアカウントのクレデンシャルを正常に変更するための十分なデータベースアクセス権も必要です。
以下は、PAMデータベース記録の必須フィールドとなります。
フィールド | 説明 |
---|---|
タイトル | Keeperの記録タイトル 例: |
ホスト名またはIPアドレス | RDSエンドポイント ( |
ポート | RDSポート、デフォルトポートはポートマッピングを参照
すなわち |
SSLの使用 | データベースにSSLが設定されている場合は、接続する前にSSL検証を実行することを確認します |
ログイン | ローテーションを実行する管理者アカウントのユーザー名 |
パスワード | 管理者アカウントのパスワード |
接続データベース | データベースサーバーに接続するときに使用されるオプションのデータベース。
たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトで |
データベースID | AWS DBインスタンスID |
データベースタイプ |
|
プロバイダリージョン | Amazon RDSインスタンスが使用しているリージョン( |
注意:プロバイダリージョンとデータベースIDを追加すると、SDKを使用してPAMデータベース記録を管理できるようになります。
管理者のクレデンシャルを含むこのPAMデータベース記録は、前提条件で作成したKSMアプリケーションで共有される共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません
2. PAMの設定を指定
AWS環境のPAM設定が作成済みの場合は、データベースユーザーのローテーションに必要なその他のリソースクレデンシャルを既存のPAM設定に追加すればよいだけです。
新しいPAM設定を作成する場合は、Keeperボルトにログインし、左側のメニューから[Secrets Manager]、[PAM設定]タブの順に選択して、[新規設定]をクリックします。
以下は、PAM設定記録の必須フィールドとなります。
フィールド | 説明 |
---|---|
タイトル | 設定名、例: |
環境 | 選択: |
ゲートウェイ | Keeper Secrets Managerアプリケーションで設定され、SQL Server RDSインスタンスにネットワークでアクセスできるゲートウェイを選択します |
アプリケーションフォルダ | 手順1のPAMデータベース記録を含む共有フォルダを選択します |
管理者クレデンシャル記録 | 手順1で作成したPAMデータベース記録を選択します これは、管理者のクレデンシャルが格納された、通常のデータベースユーザーアカウントのクレデンシャルをローテーションするための十分な権限を持つ記録です |
AWS ID | AWSのこのインスタンスの一意のID。これは参考用のため、何を指定してもよいですが、短くすることをお勧めします
例: |
アクセスキーID | EC2ロールポリシー (デフォルト) を使用している場合は、このフィールドを |
シークレットアクセスキー | EC2ロールポリシー (デフォルト) を使用している場合は、このフィールドを |
PAMネットワーク設定記録の設定可能なすべてのフィールドの詳細は、こちらのページをご参照ください。
3. PAMユーザー記録を設定
Keeper Rotationは、PAMデータベース記録のクレデンシャルを使用して、AWS環境のPAMユーザー記録をローテーションします。PAMユーザーのクレデンシャルは、前提条件で作成したKSMアプリケーションで共有される共有フォルダに格納されている必要があります。
以下は、PAMユーザー記録の必須フィールドとなります。
フィールド | 説明 |
---|---|
タイトル | Keeperの記録タイトル ( |
ログイン | ローテーションするアカウントの大文字と小文字の区別があるユーザー名。DBユーザーテーブルのユーザーのHost値が%以外の場合は、 |
パスワード | アカウントパスワードはオプションです。空白の場合はローテーションで設定されます |
接続データベース | データベースサーバーに接続するときに使用されるオプションのデータベース。
たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトで |
4. 記録のローテーションを設定 - AWS SQL Serverデータベースユーザー
手順3で設定したPAMユーザーの記録を選択し、その記録を編集して[パスワードローテーション設定]を開きます。
適切なスケジュールとパスワードの複雑さを選択します。
[ローテーション設定]では、以前に設定したPAM設定を使用する必要があります。
[リソースクレデンシャル]フィールドで、手順1で設定されたPAMデータベースクレデンシャルを選択する必要があります。
保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールでローテーションできるようになります。
PAMユーザーの記録に対するedit
権限を持つユーザーならだれでも、その記録のローテーションを設定できます。
ローテーション設定画面に適切な管理者クレデンシャルが表示されていない場合は、Secrets Manager > [PAM設定]に移動し、必要なリソースクレデンシャルを追加します。
5.記録のローテーションを設定 - AWS SQL Serverデータベース管理者
手順1で設定したPAMデータベースの記録を選択し、その記録を編集して[パスワードローテーション設定]を開きます。
適切なスケジュールとパスワードの複雑さを選択します。
[ローテーション設定]では、以前に設定したPAM設定を使用する必要があります。
[リソースクレデンシャル]フィールドで、手順1で設定されたPAMデータベースクレデンシャルを選択する必要があります。
保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールでローテーションできるようになります。
ローテーション設定画面に適切な管理者クレデンシャルが表示されていない場合は、Secrets Manager > [PAM設定]に移動し、必要なリソースクレデンシャルを追加します。
最終更新