Squadbase logo

Snowflake

SnowflakeをSquadbaseに接続するための手順と必要情報の取得方法

必要情報

項目説明
Snowflake Account接続先のSnowflakeアカウントを識別する「アカウント識別子」です。組織名やリージョン情報を含む文字列で表記されます。
Snowflake UserSnowflakeに接続する際に使用する「ユーザー名」です。
Snowflake RoleSnowflake上で操作できる範囲を定義する「ロール(権限セット)の名前」です。どのデータベースやテーブルにアクセスできるかはロールによって制御されます。
Snowflake Warehouseクエリの実行に使用する「コンピューティングリソース(仮想ウェアハウス)の名前」です。処理能力のサイズや稼働状況はウェアハウスごとに管理されます。
Snowflake Private KeySnowflakeへの認証に使用する「秘密鍵(Base64エンコード済み)」です。パスワードの代わりに使用する、より安全な認証方式のための鍵です。

取得方法

Snowflake Account

画面左下のユーザー名をクリックして個人設定を開いてください。「Account」欄に表示されている値が Snowflake Account に該当します。

Snowflakeの個人設定画面でAccountを確認する

Snowflake User

同様に、個人設定を開いた際に最上部に表示されている名前が Snowflake User に該当します。

Snowflake Role

同様に、「Switch Role」欄に表示されている値が Snowflake Role に該当します。

Snowflake Warehouse

左側のサイドメニューから「Compute」→「Warehouses」を開き、一覧に表示される「NAME」列の値が Snowflake Warehouse に該当します。

Snowflake Private Key

以下の手順で秘密鍵を作成し、Squadbaseに登録してください。

前提条件

  • OpenSSL がインストールされていること
  • Snowflake の管理者権限(またはユーザーの OWNERSHIP 権限)があること

秘密鍵(Private Key)を生成する

ターミナルを開き、以下のコマンドを実行します。

暗号化なしの秘密鍵を生成する場合(推奨:シンプルな設定):

openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

パスフレーズで暗号化した秘密鍵を生成する場合(より安全):

openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8

暗号化版を選んだ場合、コマンド実行中にパスフレーズの入力を求められます。設定したパスフレーズは安全な場所に保管してください。

生成に成功すると、rsa_key.p8 ファイルが作成されます。ファイルの中身は以下のような形式になります:

-----BEGIN PRIVATE KEY-----
MIIE6T...
-----END PRIVATE KEY-----

公開鍵(Public Key)を生成する

生成した秘密鍵から公開鍵を作成します。

openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub

生成に成功すると、rsa_key.pub ファイルが作成されます:

-----BEGIN PUBLIC KEY-----
MIIBIj...
-----END PUBLIC KEY-----

公開鍵を Snowflake ユーザーに設定する

Snowflake のワークシートまたは SnowSQL で以下の SQL を実行し、対象ユーザーに公開鍵を割り当てます。

ALTER USER <ユーザー名> SET RSA_PUBLIC_KEY='<公開鍵の内容>';

公開鍵の内容は、rsa_key.pub-----BEGIN PUBLIC KEY----------END PUBLIC KEY-----間の文字列のみを貼り付けてください(ヘッダー・フッター行は含めません)。

例:

ALTER USER my_user SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';

公開鍵を設定するには、対象ユーザーに対する OWNERSHIP 権限または MODIFY PROGRAMMATIC AUTHENTICATION METHODS 権限が必要です。