最先端のデータガバナンスを提供するSaaS「Satori」を通してRedshiftにアクセスしてみた

本エントリでは、データガバナンスを実現するSaaS Satori についてご紹介していきます。

データガバナンス は、企業のデータ活用やリスクマネジメントを支える上でかなり重要な領域ですが、まだデファクトスタンダードが決まっていない未開拓の領域です。そのような時代背景の中、Satoriはどういうアプローチを取っているのでしょうか?

Satoriについて

Satoriは2019年に創業された DataSecOps Platform を提供するイスラエルのスタートアップです。SatoriはSnowflakeやRedshiftといったクラウドDWHに対して、透過的なコントロール層として機能することで、企業のデータ基盤へセキュリティやプライバシーのベストプラクティスの適応を実現します。今年の9月にシリーズAで$20Mの資金調達に成功しており、順調に経営を回している模様です。

Satori Secures New Funding to Take DataSecOps to the Next Level

主な機能は、利用状況の監視、DBユーザーの権限管理、データ利用のポリシーの設定、タグベースのマスキング機能です。これらの機能を透過的にSatori上で設定することができるので、ターゲットとなるRedshiftやSnowflakeとは分離して管理できる点が特徴的です。

本記事では個人的に気になった機能をさっくりと見ていくので、コンセプトから興味がある方は公式ドキュメントをご参照ください。

Getting Started with Satori DataSecOps - Satori DataSecOps Platform

デモ実演

Satoriの公式サイトで、 FREE TRIAL をクリックし、ユーザー情報を入力していきます。

登録したメールアドレス宛に送られてくるActivate用のリンクをクリックすると、以下の画面に飛びます。Passwordを設定します。

Activation完了後、ログインを実施します。MFAのデバイスも登録しておきましょう。

Satoriのホーム画面に到着しました。さっそく、データソースを登録していきます。

主要なDWHやDBは揃っていますね。今回はRedshiftをデータソースとして追加します。

簡略化のため、対象にするRedshiftはパブリックアクセス可能のクラスタにしています。Redshiftにはセットアップ画面にサンプルデータがロードできる設定項目があるので、こちらを活用します。

Satori入力するパラメータは、Redshiftのエンドポイントのみです。Data Store名やRegionは任意のものに設定します。

作成が完了するとData Storesのページに移ります。haruta-demo-targetをクリックして、詳細を確認してみます。

先ほど、SatoriはRedshiftの透過的なコントロール層として機能するとご紹介しましたが、この Satori Hostname がまさに透過層として機能します。こちらをクリップボードにコピーしてください。

次に、こちらのエンドポイントへ何らかのクライアントから接続します。TLS SNIが使用できるクライアントとして、今回はOSSのDBeaver CE v21.3を使用します。

DBeaverのRedshiftの設定画面です。先ほどのSatori Hostname等、接続先の情報を入力します。

他のDBの情報もついでに欲しいので、全てにチェック入れておきます。

SSLのタブで、SSLを使用するにチェックを入れます。その後にテスト接続で接続確認を取れたら、終了クリックしてウィーザードを閉じます。

試しに select * from category limit 10; を投げてみます。結果は無事返ってきてますね。

Satoriの画面に行き、左タブのData Inventoryをクリックしてください。Data Inventoryではクライアントがアクセスしたスキーマ・テーブルの情報のみ、Satoriが自動でカラム情報を取得してくれます。Redshiftに対して一気にフルスキャンを走らせず、クライアントの利用状況に沿ったメタデータのみを取得する仕組みがスマートですね。

Satoriのデータカタログ的な機能は、カラムに対してTagを付与するぐらいのシンプルな仕様です。このタグは、主にプライバシーやセンシティブデータに関するタグテンプレートで用意されています。

さて、Satoriのメインコンセプトは データガバナンス です。以降より、データガバナンスに関する機能を見ていきます。先のタグを適当に付与してみます。

ユーザーが最初に見るであろう Dashboard の画面に行くと、データの利用状況に関する数値やグラフでざっと把握することが可能です。ユーザー数や実行されたクエリの数、クライアントツールといった基本的な情報から、Satori特有のガバナンス情報も表示されています。

DashboardのTagsは、Data Storeへクエリされたカラムに付与されているタグを集計したものです。これによって、ユーザーがアクセスしているデータがセンシティブなものかどうか、管理者側は目を光らせることができますね。

続いて、Audit Logの画面を見てみます。こちらはData Storeに投げられているクエリのログがリスト形式で一覧化されています。誰が、どのツールで、どんなクエリを、どのTagが付与されいるカラムに実施したのかを詳細に確認することができます。先ほどのDashboardで全体を監視し、ドリルダウンで見たい時はAudit Logを使う感じでしょうか。

次に、Datasetの画面を見てみます。SatoriでのDatasetとは、DWHの種類(RedshiftやBigQuery)を超えて、利用用途ごとに任意のスキーマやテーブルをまとめたものです。詳細は Your First Dataset | Getting Started with Satori DataSecOps を参照ください。

Dataset作成の画面では、Datasetの管理者となるData Stewardsの指定し、Data Storeのスキーマやテーブルを指定してテーブルのまとまりを作っていきます。

Datasetの作成が完了すると、作成したDatasetにUser Access Rulesといった、ガバナンス情報を付与することができます。User Access Rulesでは、例えば、特定のユーザーグループに、1ヶ月間のみ読み取り権限を与える、といったアクセス権限を細かく制御することができます。

最後に、Masking Profilesを見てみます。これの素晴らしい点が、カラムごとのTagベースで一括マスキングを定義することができる点です。

時間が足りず、どういう挙動になるかまでは確認できませんでしたが、センシティブなデータに対して自動でマスキングが機能してくれると、利用者も安心してデータ活用を進められそうですね。

所感

データガバナンス自体かなり抽象的な概念なので、「何から始めたら良いかわからない」という企業が多いかと思いますが、そんな悩みに対してSatoriは具体的な機能とソリューションを提示している印象です。また、Satoriは丁度良い抽象度を保ちつつ、ポリシーやタグ、ユーザー、権限といった、色んな観点を組み立ててガバナンスを定義できる点において、かなり上手く設計されているなと関心しました。

東京リージョンではまだホストされていないので、地理的なレイテンシの遅さが少し気になりますが、データガバナンスをSaaSで実現したい企業さんにとって、必見の製品だと思います。

本アドベントカレンダーでは、今話題のデータ関連SaaSを取り上げていきますので、引き続き乞うご期待ください!