Azure SQL

Keeperを使用したAzure SQL Databaseの管理者/通常ユーザーのローテーション

概要

このガイドでは、Keeper Rotationを使用して、Azure環境でAzure SQL Databaseのユーザーアカウントと管理者アカウントのパスワードをローテーションする方法について説明します。Azure SQLはAzureのマネージドリソースで、SQLの管理者のクレデンシャルがPAMデータベース記録タイプで定義され、SQLユーザーの設定がPAMユーザー記録タイプで定義されています。

Azure Managed SQL Databaseでは、Azure SDKを使用してデータベース管理者アカウントのパスワードをローテーションします。通常のデータベースユーザーのパスワードをローテーションするために、Keeperは指定された管理者クレデンシャルを使用してDBインスタンスに接続し、パスワードの変更に必要なSQLステートメントを実行します。Azureネットワークでのローテーションプロセスの大まかな概要は、こちらのページをご参照ください。

前提条件

このガイドでは、以下の作業がすでに実行されていることを前提としています。

  • Keeper Secrets Managerが企業およびロールに対して有効になっていること

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

  • Keeper Secrets Managerアプリケーションが作成済みであること

  • Keeper Rotationゲートウェイがすでにインストールされて動作しており、Azure SQL Server Databaseと通信できること

  • ゲートウェイがLinuxサーバーまたはmacOSサーバーにインストールされている場合は、Microsoft ODBCドライバをインストールします

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

1. PAMデータベース記録を設定

PAMデータベース記録には、管理者のクレデンシャルと、AzureのSQL Serverに接続するために必要な設定が含まれています。Keeper Rotationは、これらの指定された設定を使用して、Azure SQL Serverインスタンスの通常のデータベースユーザーアカウントのパスワードをローテーションします。指定されたこれらの管理者のクレデンシャルには、データベースユーザーアカウントのクレデンシャルを正常に変更するための十分なデータベースアクセス権も必要です。

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

フィールド説明

タイトル

Keeperの記録タイトル、例:Azure SQL Admin

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

データベースサーバー名、例: testdb-sql.mssql.database.azure.com

ポート

デフォルトポートはポートマッピングを参照 例:1433

SSLの使用

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

ログイン

ローテーションを実行する管理者アカウントのユーザー名。DBユーザーテーブルの管理者のHost値が%以外の場合は、USERNAME@SERVERNAMEのようにユーザー名にHost値を追加します

パスワード

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

接続データベース

データベースサーバーに接続するときに使用されるオプションのデータベース。 たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトでmasterとなります

データベースID

Azureデータベースサーバーの名前(testdb-sql

データベースタイプ

mssql

プロバイダグループ

Azureリソースグループ名

プロバイダリージョン

Azureリソースリージョン(East US

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

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

2. PAMの設定を指定

Azure環境のPAM設定が作成済みの場合は、マシンユーザーのローテーションに必要なその他のリソースクレデンシャルを既存のPAM設定に追加すればよいだけです。

新しいPAM設定を作成する場合は、Keeperボルトにログインし、左側のメニューから[Secrets Manager]、[PAM設定]タブの順に選択して、[新規設定]をクリックします。 以下は、PAM設定記録の必須フィールドとなります。

フィールド説明

タイトル

設定名、例:Azure DB Configuration

環境

選択:Azure Network

ゲートウェイ

Keeper Secrets Managerアプリケーションで設定され、前提条件のAzure SQL Databaseにネットワークでアクセスできるゲートウェイを選択します

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

手順1のPAMデータベース記録を含む共有フォルダを選択します

管理者クレデンシャル記録

手順1で作成したPAMデータベース記録を選択します これは、管理者のクレデンシャルが格納された、ディレクトリユーザーアカウントのクレデンシャルをローテーションするための十分な権限を持つ記録です

Azure ID

このAzureインスタンスの一意のID。これは参考用のため、何を指定してもよいですが、短くすることをお勧めします 例:Azure-Prod

クライアントID

アプリケーションの登録時にAzure ADによってアプリに割り当てられた一意のアプリケーション(クライアント)ID

クライアントシークレット

Azureアプリケーションのクライアントのクレデンシャルシークレット

サブスクリプションID

Azureサービスを使用するためのサブスクリプション(従量課金制)を識別するUUID

テナントID

Azure Active DirectoryのUUID

PAMネットワーク設定記録の設定可能なすべてのフィールドの詳細は、こちらのページをご参照ください。

3. 1つまたは複数のPAMユーザー記録を設定

Keeper Rotationは、PAMデータベース記録のクレデンシャルを使用して、Azure環境のPAMユーザー記録をローテーションします。PAMユーザーのクレデンシャルは、前提条件で作成したKSMアプリケーションで共有される共有フォルダに格納されている必要があります。

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

フィールド説明

タイトル

Keeperの記録タイトル(Azure DB User1

ログイン

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

パスワード

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

接続データベース

データベースサーバーに接続するときに使用されるオプションのデータベース。 たとえば、MS SQL Serverはデータベースを必要とするため、デフォルトでmasterとなります

4. 記録のローテーションを設定 - Azure MySQLデータベースユーザー

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

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

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

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

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

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

ローテーション設定画面に適切な管理者クレデンシャルが表示されていない場合は、Secrets Manager > [PAM設定]に移動し、必要なリソースクレデンシャルを追加します。

5. 記録のローテーションを設定 - Azure MySQLデータベース管理者

手順1で設定したPAMデータベースの記録を選択し、その記録を編集して[パスワードローテーション設定]を開きます。

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

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

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

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

ローテーション設定画面に適切な管理者クレデンシャルが表示されていない場合は、Secrets Manager > [PAM設定]に移動し、必要なリソースクレデンシャルを追加します。

最終更新