Snowflake Notebooks の外部アクセスの設定¶
ノートブックで作業する際、外部サービスを呼び出す必要があるかもしれません。その際、 API キーなどの認証情報を必要とすることがよくあります。機密情報をセキュアに保つために、ノートブックに認証情報をハードコーディングする代わりに、Snowflake内で管理するシークレットを使用することができます。
外部アクセス統合 (EAIs) はネットワークルールを使用して構成され、オプションで認証に Snowflake シークレットを使用できます。
デフォルトでは、Snowflakeは外部エンドポイントからのネットワークトラフィックを制限します。外部エンドポイントにアクセスするには、以下の手順に従います。
ネットワークルールを作成します。
このルールを使用する 外部ネットワークアクセス統合 を作成します。
認証のためのシークレット(必要な場合)を作成します。一般的な文字列シークレットには、 EAI も必要です。
シークレットを EAI に関連付けます。
EAI とシークレットをNotebooksに関連付けます。
注釈
EAIs およびネットワークルールは、組織管理者が作成する必要があります。必要な権限については、 アクセス制御の要件 を参照してください。
外部アクセスとシークレットを持つノートブックの構成¶
このエンドツーエンドの例では、一般的な文字列シークレットを使って OpenAI API にアクセスするように Notebooks を構成する方法を示します。
注釈
シークレットは外部アクセス統合 (EAI) とノートブックの両方に関連付けなければなりません。シークレットが1つしか関連付けられていない場合、ノートブックコードからはアクセスできません。
ノートブックの中のシークレットにアクセスする¶
シークレットをノートブックに関連付けた後、ノートブックのコードでその値にアクセスするには、
st.secretsオブジェクトを使います。
追加の EAI 例¶
これらの例では、一般的なデータサイエンスや機械学習サイトの外部アクセスのセットアップ方法を紹介します。
PyPI の EAI¶
Hugging Faceのための EAI¶
外部アクセス統合を使用するために、 USAGE 権限を付与します。¶
EAIs を作成したら、それを使用するロールに統合の USAGE 権限を 付与します。
ノートブックの作成に使用されるロールは、 EAI で USAGE を持っている必要があります。PUBLIC ロールに USAGE を付与しても機能しません。
Snowsight で外部アクセス統合を有効にします。¶
External Access ペインに作成したアクセス統合を表示するには、 EAIs を作成してプロビジョニングした後、Notebook セッションを再起動します。
Snowsight を使用して統合を有効にするには、以下の手順に従います。
認証の追加例¶
OAuth アクセストークン¶
シークレットタイプ: GENERIC_STRING¶
API キーやトークンのような単一の値を保存するには、 GENERIC_STRING シークレットを使用します。
シークレットを作る
GENERIC_STRING シークレットについては、辞書または属性スタイルでアクセスします。
シークレットのタイプ: PASSWORD (例:GitHubBasic Auth)¶
ユーザー名とパスワードのペアを保存するには、 PASSWORD シークレットを使用します。これらは、外部認証コード (APIs) での基本認証に必要となることがよくあります。
この例では、Notebooksは PASSWORD シークレットと外部アクセス統合を使って GitHub REST API にアクセスします。
シークレットを作る
EAI の一部としてシークレットを使用する:
コード内のシークレットにアクセスします。
追加のリソース¶
構文の詳細については、 外部ネットワークアクセスの概要 をご覧ください。
CREATE SECRET の詳細については、 認証情報を表すシークレットの作成 を参照してください。
EAIs のその他の例については、 外部ネットワークアクセスの例 または Github上でSnowflake Notebooksの外部アクセスを設定する をご参照ください。
