Snowflakeユーザー

Keeperボルト内でSnowflakeユーザーのローテーション

概要

本ページでは、SnowflakeコネクタライブラリとKeeper PAMゲートウェイの「NOOP モード」を使用してパスワードローテーションを設定する方法を解説します。これは、Keeperレコードに設定されるフラグで、ゲートウェイに主なローテーション方式を飛ばして、ポストローテーションスクリプトを直接実行するように指示します。

本ページには、要件、手順、Pythonスクリプトの例が含まれています。

要件

  1. KSMアプリケーション: Keeperシークレットマネージャー (KSM) アプリケーションが設定されていること。

  2. 共有フォルダ: すべてのレコードが保存される共有フォルダを設定されていること。

  3. PAM構成: PAM構成が設定されており、ゲートウェイが実行中でこの構成に接続されていること。

  4. snowflake.connectorライブラリ: Python環境にsnowflakeコネクタライブラリがインストールされていること。

Snowflakeコネクタをインストール

Python用のSnowflakeコネクタは、PythonアプリケーションがSnowflakeに接続し、標準的な操作をすべて実行できるインターフェースです。ポストローテーションスクリプトを正常に実行するためには、Python環境にSnowflakeコネクタライブラリがインストールされている必要があります。Snowflakeコネクターをインストールするには、keeper-gateway環境内でPythonの仮想環境を有効にし、以下のコマンドを実行してください:

注: 仮想環境を使用する場合は、 Python環境設定に基づいてスクリプトの先頭にシェバン行を追加します。

Snowflakeユーザー認証情報のローテーション設定

以下は、Snowflakeユーザーレコードのローテーションを設定する手順となります。

1. ローテーションレコードをセットアップ

新しいPAMユーザーレコードを作成し、パスワードをローテーションするSnowflakeユーザーの詳細情報を保存します。

  • ユーザー名をSnowflakeユーザーのメールアドレスと一致するように設定します。

  • パスワードを、ユーザーに設定されている現在のパスワードに設定します。

2. PAMスクリプトを追加

  • パスワードのローテーションを実行する以下のPythonスクリプトを添付します。スクリプトにはコメントが含まれています。

  • ノーオペレーション (NOOP) アトミック実行を有効にします。

    • ユーザーの詳細情報が保存されている現在のPAMユーザーレコードで、 NOOPという名前の新しいカスタムテキストフィールドを作成し、その値をTrueに設定します。

3. パスワードローテーション設定を構成

  1. Rotation Typo (ローテーションタイプ): この例では、「On-Demand」に設定します。

  2. Password Complexity (パスワードの複雑さ): 特別な要件がない限り、デフォルトのままにしておきます。

  3. Rotation Settings (ローテーション設定): 先ほど設定したPAM構成を指定します。

  4. Administrative Credentials Record (管理者認証情報レコード): 空白のままでも構いません。

ポストローテーションPythonスクリプト

以下は、Snowflakeユーザーの認証情報をローテーションするPAMスクリプトです。

上記のSnowflakeポストローテーションスクリプトは、以下でも入手できます。

Snowflakeユーザー認証情報のローテーション

PAMユーザーレコードでSnowflakeユーザー認証情報のローテーションを設定した後、[スクリプトのみを実行]をクリックすると認証情報がローテーションします。

最終更新