❄️

[Snowflake Summit 2025参加レポート]認証情報の窃取とデータ流出を防ぐためのベストプラクティス

に公開

ナウキャストでデータエンジニアをしている島尻です。
Snowflake Summit 2025への参加レポートとして、「Best Practices for Protecting Against Credential Theft and Data Exfiltration」というハンズオンセッションのレポートを速報で公開します。

セッション概要

Summit公式から引用したセッション概要は以下の通りです。

Best Practices for Protecting Against Credential Theft and Data Exfiltration
Join us to learn more about network and authentication best practices and how to use Trust Center to continuously audit and monitor your organization's security health. This hands-on lab will guide you through the latest best practices to harden your Snowflake accounts against data exfiltration risks. You'll also learn how to use Snowflake authentication enhancements — some which will be mandatory — and how to improve your migration strategy via customer success stories.

ざっくり言えば、Snowflakeのセキュリティを強化するための最新対策を実践的に学べるハンズオン形式のセッション、ということですね。

当日のセッションの様子

会場はかなり広く、割と席に余裕がありました。
座席にはRJ45とType-Cの変換アダプタが用意されているので、Type-Cが接続できれば有線に接続できました!Summit会場にはWi-Fiもあるのですが、やっぱりハンズオンセッションは有線で接続できた方が安心ですね。
alt text

セッションの内容

セッションのアジェンダは以下の通りです。

  • MFAの有効化
  • PATの設定
  • Workload Identity Federation(デモのみ)
  • 認証ポリシーの設定
  • セキュリティ関連のモニタリング(デモのみ)

また、ハンズオンセッション用にSnowflakeアカウントの準備は必要なく、すでに用意しているデモアカウントにログインして、講師と一緒に操作を体験してみるという形式でした。

MFAの有効化

今までSnowflakeのMFAといえばDuoでしたが、最近のリリースでそれ以外の形式に対応しました。
https://docs.snowflake.com/en/user-guide/security-mfa-second-factor

このハンズオンセッションでも、実際にパスキーやTOTPでのMFA設定を体験できました。

alt text

alt text

このような形で、今回は1passwordのパスキーとAuthenticatorアプリケーション(私は今回Google Authenticatorで試しました)の登録をハンズオンとして実施しました。設定自体はかなり簡単なので、あまり時間もかけずさらっと流す感じでしたね。

今までDuoしか使えないことで、セキュリティ上の要件が満たせず認証周りやアーキテクチャの設計に苦労するケースも少なからずあったと思うので、このようにMFAの選択肢が増えてくれたのはありがたいですね!

PATの設定

続いては、最近リリースされて話題にもなっていたPAT (Personal Access Token) の設定です。これは、特にSnowflakeに対してサービスやプログラムからのアクセス時にMFAを回避しつつ、セキュアな認証を実現するための仕組みですね(一応personユーザーでも使えますが)。
https://docs.snowflake.com/en/user-guide/programmatic-access-tokens

今までキーペアや外部OAuthでの対応が必要でしたが、サービス側の事情などで対応できないケースもあったので、こちらもセキュアな認証方法の選択肢が増えたという観点で、とても嬉しいアップデートですね。

ハンズオンでは、Snowsight上から実際にPATを生成し、それを使ってREST APIでの接続やSnowflake Connector for Pythonでの接続を試みました。

alt text

alt text

alt text

REST APIでの接続やSnowflake Connector for Pythonでの接続も行いましたが、セッション開始時に共有されるハンズオン手順ガイドからコピペすればいいだけなので、この辺りの事前知識はそれほど必要なく、主題であるPATの理解に集中できる感じでした。

なお、セッションのQAでも出たのですが、PATの更新は自動的に行われないので、そこを含めて自動化したい場合はユーザー側でプログラムを実装する必要がありそうです。

Workload Identity Federation(デモのみ)

次に、Workload Identity Federation (WIF) についての解説がありました。これはハンズオンではなく、講師によるデモ形式での紹介でした。

このデモでは、Pythonサービスを実行しているAmazon EC2インスタンスにアタッチされた IAM ロールを使用して、Snowflake に認証するデモが行われました。このサービスは、Snowflakeにシームレスに認証し、Snowflakeアカウントから情報を読み取ることができるようになります。

イメージとしては以下のようにSQLで定義ができるとのこと。

-- プライベートプレビューなので以下のSQLは機能しないことに注意
ALTER USER HOL_User_GO306
  FEDERATED_AUTHENTICATION = (
    TYPE        = AWS
    AWS_ACCOUNT = '123456789123' -- Replace with actual AWS Account
    IAM_ROLE    = 'snowflake-wif-example-role' -- Replace with actual AWS IAM role
  )
  TYPE = SERVICE
  DEFAULT_ROLE = PUBLIC;

しかしこのWIP機能はSnowflake on AWS環境で現在プライベートプレビュー機能とのことで、詳細はわからずですが機能が公開されたらぜひ試してみたいと思いました!

認証ポリシーの設定

認証ポリシー自体は目新しい機能ではないですが、PATでの認証をしているユーザーアカウントが、認証ポリシーでOAuthのみに制限された場合にアクセスできなくなる、というのをハンズオン形式で確かめました。

従来の長期認証情報に比べればPATが使えるのは多くの利点があるものの、サービスユーザーにとって最も安全でスケーラブルなアプローチはWIFかOAuthということでした。WIFの機能が公開されたら認証ポリシーでWIFも含めて制限できるようになるかもしれませんね。

セキュリティ関連のモニタリング(デモのみ)

最後は、Trust Centerや、現在プライベートプレビューのACCOUNT_USAGEのビューを使ったモニタリング方法が紹介されていました。

alt text

alt text

Trust Centerでは個別にスキャナーを選択して、セキュリティ要件に応じた柔軟な監視設定ができるようになっているので、なるべくマネージドサービスであるTrust Centerを使いつつ、足りない部分はACCOUNT_USAGEでの監視を行うのが良いのかな、と改めて思いました。

プライベートプレビュー中のACCOUNT_USAGEのビューもデモで見せてもらいましたが、セキュリティ周りでログの種類が増えてくれるのはありがたいですね!

まとめ

このハンズオンセッションでは、最近発表された認証周りの新機能や、これから実装される予定の機能などが包括的に学べ、Snowflakeのユーザーにとってもパートナーにとっても非常にためになるような内容でした!
また、今回のSummitではAIやAppsを推しているようですが、きちんとセキュリティ周りでも継続的な改善がされていくというメッセージングも感じました。

こういった最新情報に触れられるのはSummitに参加する醍醐味の1つですね。明日以降に行われる他のハンズオンセッションや事例セッションも楽しみです!

Finatext Tech Blog

Discussion