0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HULFT Squareを使ってSnowflakeへデータ連携してみた【キーペア認証】

Posted at

はじめに

こんにちは、なりにゅーです。

近年、企業において Snowflake を DWH として採用するケースが増えており、
それに伴って「どのように Snowflake へデータを連携するか」といった情報も多く見られるようになってきました。
Snowflake へのデータ連携方法は数多く存在しますが、
・API連携を自前で実装する?
・S3を経由する?
・ETLツールを使う?
本記事ではその選択肢のひとつとして、HULFT Square を使った方法を実際に試してみます。

本記事では、
HULFT SquareでSnowflakeへどのように接続するのかを解説したいと思います。

HULFT Squareでは各システムへ接続するためのコネクタが用意されており、Snowflakeには専用コネクタがあります。

それでは、Snowflakeコネクションを登録して接続するための手順を解説していきます。

1.手順

以下の手順で設定していきます。
1)Snowflakeのキーペア認証設定
2)HULFT SquareのSnowflakeコネクション作成

2.Snowflake上でキーペア認証設定をしてみよう!

以下の手順で設定していきます。

キーペア認証とは

キーペア認証は、パスワードに依存せず、
公開鍵/秘密鍵による暗号鍵ペアでユーザーを認証する方式です。

認証情報を人やツールが直接扱う必要がなくなるため、
パスワード管理や定期変更、漏えい対策といった
従来の運用負荷を抑えつつ、システム連携を安定して運用できます。

Snowflake を中核としたデータ基盤において、
キーペア認証は 実運用を見据えた現実的な選択肢として採用が進んでいます。

補足:Snowflake は「パスワードのみ」のサインインを段階的に廃止予定

Snowflake は、ユーザー名とパスワードだけでログインする
単一要素(single-factor)認証を段階的に廃止する方針を公開しています。

今後は、MFA・SSO・OAuth・キーペア認証などの
強い認証方式への移行が前提となり、
パスワード“だけ”に依存した運用は成立しなくなります
(最終的な施行時期は 2026年10月予定 「Snowflake公式サイト参照」)。

1.設定の全体像

Snowflake のキーペア認証は、以下の流れで設定します。

  1. クライアント端末で鍵ペア(秘密鍵・公開鍵)を作成
  2. 公開鍵を Snowflake のユーザーに登録
  3. 接続元(今回の場合はHULFT Square)に秘密鍵を設定
  4. HULFT Squareからキーペア認証でSnowflakeへの接続確認

2.キーペアの作成

秘密鍵・公開鍵の生成

OpenSSL を使って鍵を作成します。

今回はWindows端末を利用し、
事前に「OpenSSL」がインストールされている前提とさせて頂きます。

(1)コマンドプロンプトを起動

スタートメニュー →「cmd」
もしくは Win + R → cmd

(2)OpenSSLがインストール、かつ、パスが通っているか確認

コマンドを入力して「OpenSSLのバージョン」が表示されればOKです

openssl version
※ 表示例
OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024)

(3)秘密鍵(PKCS8)を作成

以下コマンド入力し、パスフレーズを入力します

openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8
※ 表示例
Enter Encryption Password:任意の【パスフレーズ】を入力
Verifying - Enter Encryption Password:上記と同じ【パスフレーズ】を入力

※カレントディレクトリに**「rsa_key.p8」**が作成されます

(4)公開鍵を作成

以下のコマンドを実行すると、秘密鍵作成時に設定したパスフレーズの入力を求められます。

openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
※ 表示例
Enter pass phrase for rsa_key.p8:秘密鍵で設定した【パスフレーズ】を入力

※カレントディレクトリに**「rsa_key.pub」**が作成されます

(5)公開鍵の中身を整形して文字列を作成する

**「rsa_key.pub」**をテキストエディタで開きます。
--BEGIN / END PUBLIC KEY 行を削除
--改行をすべて削除
--1行の文字列にする

image.png

3.Snowflakeに公開鍵を設定する。

(1)Snowflakeへログインし、以下SQLを実施します。

ALTER USER <ユーザー名>
SET RSA_PUBLIC_KEY='MIIBIjANBgkq...';

※<ユーザー名>にはSnowflakeへ接続するときのユーザーを設定します。
※'MIIBIjANBgkq...'の箇所には、整形した公開鍵文字列を設定します。

これによりSnowflakeへキーペア認証でログインすることができるようになります!

2.HULFT SquareのSnowflakeコネクションの作成

1)秘密鍵ファイルの配置

秘密鍵ファイルを任意のストレージに配置します。
image.png

2)Snowflakeコネクション作成

①それぞれHULFT Squareのメニュー画面より選択し以下のように登録します。
image.png

②名前を設定します。
image.png

設定項目 説明
名前 任意の名前
ワークスペース 利用するワークスペースを指定
説明 任意入力

③Snowflakeコネクション作成
image.png

設定項目 説明
アカウント識別子 Snowflakeのアカウント識別子(例:scuulgi-hixxxx)
ウェアハウス名 Snowflakeのウェアハウス名(例:SANDBOX_WH)
データベース名 Snowflakeのデータベース名(例:SNOWFLAKE_SANDBOX_DB)
スキーマ名 Snowflakeのスキーマ名(例:PUBLIC)
ユーザ名 Snowflakeのログインユーザ(Snowflake上で公開鍵を設定したユーザ)
認証方式 「キー・ペア認証」を選択
秘密鍵 「ブラウザ」ボタンよりストレージにアップロードした秘密鍵を指定
秘密鍵パスフレーズ 秘密鍵作成時に設定したパスフレーズ

『接続テスト』ボタンで成功すればOK!
image.png

④プロファイル選択
image.png

⑤後は登録して完了です!

3.HULFT SquareのSnowflakeコネクタの利用について

1)HULFT Square DesignerでのSnowflakeコネクタを配置します。

以下の画面では「テーブル書き込み」を指定しています。
image.png

2)Snowflakeコネクタのプロパティにて、接続先に登録したコネクションを選択することで利用可能となります。

image.png

3)アイコンを配置することで簡単にデータ連携が実現できます。

以下の例ではAWSのRDSよりデータをマッピング・加工してSnowflakeへデータ登録が可能となります。
image.png

最後に

皆様お疲れさまでした。
無事HULFT SquareのSnowflakeコネクタの設定をすることができました。

最後までお読みいただき、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?