Snowpipe Streamingの構成

Snowpipe Streamingプロパティ

profile.json ファイルで API 接続設定を構成します。プロパティについては、このセクションで説明します。

Java の例 (GitHub)で示されているように、変数 PROFILE_PATH への入力としてファイルパスを指定することにより、 profile.json から設定を読み込むことができます。

必須のプロパティ

url

Snowflakeアカウントにアクセスするための URL。この URL には、使用する アカウント識別子 が含まれている必要があります。プロトコル(https://)とポート番号はオプションです。

すでにSnowflake Ingest SDK を使用しており、 profile.json ファイルで hostscheme、および port プロパティを設定している場合は、 url は必要ありません。

user

Snowflakeアカウントのユーザーログイン名。

private_key

ユーザーを認証するための秘密キー。ヘッダーまたはフッターではなく、キーのみを含めます。キーが複数の行に分割されている場合、改行を削除します。

暗号化されていないキーを提供するか、暗号化されたキーを提供して snowflake.private.key.passphrase パラメーターを提供し、Snowflakeがキーを復号化できるようにします。 snowflake.private.key パラメーター値が暗号化されている 時に限り 、このパラメーターを使用します。

role

Snowflakeに接続した後にセッションに使用するアクセス制御ロール。

オプションのプロパティ

snowflake.private.key.passphrase: (オプション)

キーが暗号化されている場合に秘密キーを復号化するためのパスフレーズ。詳細については、 キーペア認証およびキーローテーションの使用 (このトピック内)をご参照ください。

キーペア認証の使用およびキーローテーション

API 呼び出しは、 JSON Webトークン(JWT)によるキーペア認証に依存しています。JWTs では、 RSA 暗号化を使用した公開/秘密キーペアを使用して署名されます。この認証方法には、2048ビット(最小)の RSA キーペアが必要です。 OpenSSLを使用して公開キーと秘密キーのペアを生成します。公開キーは、プロパティファイルで定義されたSnowflakeユーザーに割り当てられます。

キーペアのローテーション で説明されているキーペアの認証手順を完了します。秘密キー全体をコピーして、プロパティファイルの snowflake.private.key フィールドに貼り付けます。ファイルを保存します。

フィンガープリントを作成して JWT トークンを生成する例については、 Javaの例 をご参照ください。

次に、 シークレットの外部化 (このトピック内)の推奨事項を評価します。

秘密の外部化

Snowflakeは、秘密キーなどの秘密を外部化し、暗号化された形式、または AWS Key Management Service(KMS)、Microsoft Azure Key Vault、 HashiCorp Vaultなどのキー管理サービスで保存することを強くお勧めします。

詳細については、この サービス のConfluent説明をご参照ください。