Azure PostgreSQL - シングル/フレキシブルデータベース
Keeperを使用したAzure PostgreSQLシングル/フレキシブルデータベースの管理者/通常ユーザーのローテーション

概要
本ページでは、Keeperローテーションを使用して、Azure環境でAzure PostgreSQLデータベースのユーザーアカウントと管理者アカウントのパスワードをローテーションする方法について取り扱います。Azure PostgreSQLデータベースはAzureのマネージドリソースで、PostgreSQLの管理者認証情報がPAMデータベースレコードタイプで定義され、PostgreSQLユーザーの構成がPAMユーザーレコードタイプで定義されています。
AzureマネージドPostgreSQLデータベースでは、Azure SDKを使用してデータベース管理者アカウントのパスワードをローテーションします。通常のデータベースユーザーのパスワードをローテーションするために、Keeperは指定された管理者認証情報を使用してDBインスタンスに接続し、パスワードの変更に必要なSQLステートメントを実行します。Azureの概要については、こちらのページをご参照ください。
要件
本ページでは、以下がすでに実行されていることを前提としています。
ローテーションのポリシーがご利用のロールに対して有効になっていること
Keeperシークレットマネージャーアプリケーションが作成済みであること
Azure環境がKeeperのドキュメントに従って設定されていること
Keeperゲートウェイがオンラインであること
KeeperゲートウェイからAzureマネージドPostgreSQLデータベースと通信できること
1. PAMデータベースレコードを設定
PAMデータベースレコードには、管理者認証情報へのリンクと、AzureのPostgreSQLサーバーに接続するために必要な構成が含まれています。Keeperローテーションは、これらの設定を使用して、Azure PostgreSQLサーバーインスタンスの通常のデータベースユーザーアカウントのパスワードをローテーションします。これらの管理者認証情報には、データベースユーザーアカウントの認証情報を正常に変更するための十分なデータベースアクセス権も必要です。
以下は、PAMデータベースレコードの必須フィールドとなります。
タイトル
Keeperレコードの名前 (Azure PostgreSQL Admin
など)
ホスト名またはIPアドレス
データベースサーバー名 (testdb-psql.postgresql.database.azure.com
など)
ポート
デフォルトポートはポートマッピングを参照
例: 543
SSLの使用
データベースにSSLが設定されている場合は、接続する前にSSL検証を実行します
管理者認証情報
ローテーションを実行するPAMユーザー管理者アカウントのユーザー名。DBユーザーテーブルの管理者アカウントのホストが%以外の場合は、USERNAME@HOST
のようにユーザー名にホストの値を追加します
接続データベース
データベースサーバーに接続するときに使用されるオプションのデータベース。
たとえば、PostgreSQLはデータベースを必要とするため、デフォルトでtemplate1
となります
データベースID
Azureデータベースサーバーの名前 (testdb-psql
など)
データベースタイプ
postgresql
またはpostgresql-flexible
プロバイダグループ
Azureリソースグループ名
プロバイダリージョン
Azureリソースリージョン (East US
など)
備考:プロバイダグループ、プロバイダリージョン、データベースIDを追加すると、Azure SDKを使用してPAMデータベースレコードを管理できるようになります。
管理者認証情報がリンクされたこのPAMデータベースレコードは、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません。
2. PAM構成を設定
備考:プロバイダグループ、プロバイダリージョン、データベースIDを追加すると、Azure SDKを使用してPAMデータベースレコードを管理できるようになります。
管理者認証情報がリンクされたこのPAMデータベースレコードは、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません。
タイトル
設定名 (Azure DB Configuration
など)
環境
Azure Network
を選択
ゲートウェイ
Keeperシークレットマネージャーアプリケーションで構成され、要件のAzure PostgreSQLデータベースにネットワークでアクセスできるゲートウェイを選択します
アプリケーションフォルダ
PAM構成が格納されている共有フォルダを選択します。PAMユーザーが格納されている共有フォルダ内に配置することを推奨します。
Azure ID
このAzureインスタンスの固有のID。参考用のため任意のIDを指定できますが、短くすることをお勧めします
例: Azure-prod
クライアントID
アプリケーションの登録時にAzure ADによってアプリに割り当てられた固有のアプリケーション (クライアント) ID
クライアントシークレット
Azureアプリケーションのクライアントのクレデンシャルシークレット
サブスクリプションID
Azureサービスを使用するためのサブスクリプション (従量課金制) を識別するUUID
テナントID
Azure Active DirectoryのUUID
PAM構成レコードで構成できるすべてのフィールドの詳細については、こちらのページをご参照ください。
3. 1つまたは複数のPAMユーザーレコードを設定
Keeperローテーションにより、PAMデータベースレコードの認証情報を使用して、Azure環境のPAMユーザーレコードをローテーションします。PAMユーザーの認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。
以下は、PAMユーザーレコードの必須フィールドとなります。
タイトル
Keeperレコードのタイトル (Azure PostgreSQL User1
など)
ログイン
ローテーションするアカウントのユーザー名 (大文字と小文字の区別あり)。DBユーザーテーブルのユーザーのホストが%以外の場合は、USERNAME@SERVERNAME
のようにユーザー名にホストの値を追加します
パスワード
アカウントパスワードはオプションです。空白の場合はローテーションで設定されます
接続データベース
データベースサーバーに接続するときに使用されるオプションのデータベース。
PostgreSQLはデータベースを必要とするため、デフォルトでtemplate1
となります
4. PAMレコードでローテーションを構成
手順3のPAMユーザーレコードを選択し、編集して[パスワードローテーション設定]を開きます。
適切なスケジュールとパスワードの複雑さを選択します。
[ローテーション設定]では、以前に設定したPAM構成を使用する必要があります。
[リソースクレデンシャル]フィールドで、手順1で設定されたPAMデータベース認証情報を選択する必要があります。
保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。
PAMユーザーのレコードに対するedit
権限を持つユーザーならだれでも、そのレコードのローテーションを設定できます。
最終更新