github編集

Cloud SQL for SQL Server

KeeperでAWS SQL Serverデータベースの管理者ユーザーおよび一般ユーザーをローテーション

概要

本ページでは、Keeperローテーションを使用して、Google Cloud環境におけるGoogle Cloud SQL Serverのデータベースユーザーおよび管理者アカウントのパスワードをローテーションする方法を取り扱います。Cloud SQL for SQL ServerはGoogle Cloudのマネージドリソースであり、SQL Server管理者の認証情報はPAMデータベースレコードタイプで定義され、SQL Serverユーザーの設定はPAMユーザーレコードタイプで定義されます。

一般のデータベースユーザーのパスワードをローテーションする際には、指定された管理者の認証情報を使用してデータベースインスタンスに接続し、パスワード変更に必要なSQL文を実行します。

要件

以下の作業がすでに完了していることを前提としています。

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

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

  • Keeperシークレットマネージャーのアプリケーションが作成されていること

  • Keeperローテーションゲートウェイがインストールされ、稼働しており、Google Cloud SQL Serverデータベースと通信できる状態であること

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

  • Google Cloud環境が、当社ドキュメントに従って構成されていること

1. PAMデータベースレコードのセットアップ

PAMデータベースレコードには、Google Cloud上のSQL Server Cloud SQLインスタンスに接続するために必要な管理者の認証情報および各種設定を定義します。Keeperローテーションは、これらの設定情報を使用して、SQL Server Cloud SQLインスタンスに存在する一般データベースユーザーアカウントのパスワードをローテーションします。また、ここで指定する管理者の認証情報には、データベースユーザーアカウントの認証情報を正常に変更できる十分な権限が付与されている必要があります。

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

フィールド
説明

タイトル

Keeperのレコードタイトル

例: GCP SQL Server Admin

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

SQL Serverのエンドポイント

ポート

SQL Serverのポート番号デフォルトのポート番号については、ポートマッピングをご参照ください。

例: 1433

SSLを使用

データベースでSSLが構成されている場合は有効にします。接続前にSSL検証を実行します。

ログイン

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

パスワード

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

接続データベース

接続時に使用する任意のデータベースです。例: SQL Serverではデータベースの指定が必要なため、既定では「master」が使用されます。

データベースID

Cloud SQLのデータベースインスタンスID

データベースタイプ

mssql

プロバイダリージョン

Cloud SQLインスタンスで使用しているリージョン

例: us-central1

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

2. PAM構成の作成

(すでにこの環境用のPAM構成が設定されている場合は、この手順を省略できます。)

ボルトの左側メニューから [シークレットマネージャー] を選択し、[PAM構成] タブを開いて、[新しい構成] をクリックします。

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

フィールド
説明

タイトル

構成の名前

例: GCP Workspace Configuration

環境

Google Cloud を選択します。

ゲートウェイ

Keeperシークレットマネージャーのアプリケーションで構成済みのゲートウェイを選択します。

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

PAM構成を保存する共有フォルダを選択します。PAMユーザーレコードと同じ共有フォルダに配置することを推奨します。

GCP ID

このGoogle Cloudインスタンスを識別するための一意のIDです。任意の値を指定できますが、短い名称を推奨します。

例: GCP-DepartmentName

サービスアカウントキー

ゲートウェイのサービスアカウントキーに含まれるJSONテキストをコピーして貼り付けます。

Google Workspace管理者のメールアドレス

GCPプリンシパルのパスワード管理に使用できる、Google Workspace管理者アカウントのメールアドレスを指定します。

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

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

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

フィールド
説明

タイトル

Keeperのレコードタイトル 例: GCP DB User 1

ログイン

ローテーション対象となるアカウントのユーザー名です。 データベースのユーザーテーブルでホストが「%」以外に設定されている場合は、「ユーザー名@ホスト」の形式で指定します。

パスワード

アカウントのパスワードです。 空欄の場合、ローテーション時に自動的に設定されます。

接続データベース

接続時に使用する任意のデータベースです。 例: MS SQLではデータベースの指定が必要なため、既定では master が使用されます。

4. PAMユーザーレコードでのローテーション設定

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

  • 希望するスケジュールとパスワードの複雑さを選択します。

  • [ローテーション設定] では、前の手順で設定したPAM構成を使用します。

  • [リソース認証情報] フィールドでは、手順1で設定したPAMデータベースの認証情報を選択します。

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

最終更新