Slide 1

Slide 1 text

SnowflakeとTableauでSSOと 行アクセスポリシーを適用してみた話 2024 truestar inc. All Rights Reserved. 1

Slide 2

Slide 2 text

自己紹介 2024 truestar inc. All Rights Reserved. 2 名 前:野城 瑞穂(X:mizuho/@mizuhoruisui) 所 属:株式会社truestar データコンサルティング事業部 入 社:2020年12月 Snowflake歴:約3年半 SnowVillage歴:2年強

Slide 3

Slide 3 text

2024 truestar inc. All Rights Reserved. 3 最近、ユーザーからの要望で、Entra IDを使ってTableau・ SnowflakeとSSO(シングルサインオン)を構築、且つ 行アクセスポリシーを使ってアクセス制限をつける、なんてことを やってみたので、そのことについてお話します

Slide 4

Slide 4 text

2024 truestar inc. All Rights Reserved. 4 ユーザーからの要望 どうやって実装したか? 理想通りにいかなかったところ・残課題 目次

Slide 5

Slide 5 text

2024 truestar inc. All Rights Reserved. 5 ユーザーからの要望|Tableau – Snowflakeのアーキテクチャ ①. パスワードの入力とか煩わしいからナシにしたい ① ② ① ②. 人によって見えるデータは制御してね →Microsoft Entra IDのSAML認証でSSO構築 →行アクセスポリシー 行アクセスポリシー

Slide 6

Slide 6 text

2024 truestar inc. All Rights Reserved. 6 ユーザーからの要望|SSOの構築 ユーザー名とパスワード ・一般的なログイン方法で、ユーザーが入力した情報を基に認証 → MFAが必須になるよって言われてるヤツ キーペア認証 ・公開鍵と秘密鍵の組み合わせを使った認証 ・主にサーバー間通信やAPIアクセスで利用 OAuth認証 ・Microsoft Entra IDやGoogle認証などを用いたSaaS間の認可プロトコル ・ユーザーが他のアプリケーションにリソースへのアクセス権を付与する際に使用 ・ FacebookやGoogleのアカウントを使って他のアプリにログインできるのはこれ SAML認証 ・Entra IDなどのアイデンティティプロバイダによるフェデレーション認証 ・一度のログインで複数のサービスにアクセス可能

Slide 7

Slide 7 text

どうやって実装したか?|Snowflake – Entra ID 間のSSO 2024 truestar inc. All Rights Reserved. 7 ②Snowflakeでセキュリティ統合の作成 ①Entra IDでアプリの登録&SAML証明書の発行(有効期限:3年) ① ②

Slide 8

Slide 8 text

自動プロビジョニングとは… Microsoft Entra IDのユーザー情報から、Snowflakeユーザーを自動生成してくれる機能 Entra IDのグループ情報を、ロールとして設定することもできる ※今回Tableau&Snowflakeユーザーが数千人単位だったため、自動プロピジョニングは必須 どうやって実装したか?|Snowflake – Entra ID 間の自動プロビジョニング 2024 truestar inc. All Rights Reserved. 8 自動プロビジョニング有効化の手順 ②Entra IDでプロビジョニングを設定 以下の情報を入力 ・Snowflake URL ・Snowflakeで発行したアクセストークン ①Snowflakeでセキュリティ統合の作成&アクセストークンの発行(有効期限:6ヶ月)

Slide 9

Slide 9 text

どうやって実装したか?|Tableau Cloud – Entra ID 間のSSO 2024 truestar inc. All Rights Reserved. 9 Snowflakeと同様に、Entra IDとTableauのユーザー情報を 紐づけることでSSOが可能 ワークブックはOAuthでパブリッシュしておく

Slide 10

Slide 10 text

Snowflakeの行アクセスポリシーって? どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 10 ・ユーザーの属性に基づいてアクセス制御を行う仕組み ・特定の条件に応じてデータの一部または全部をユーザーごとに非表示にしたり、制限を設定可能

Slide 11

Slide 11 text

どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 11 当初の想定:ロールによる制御 → Entra IDのグループ設定と、制御したいグループのミスマッチ → Entra IDグループ設定の変更はNG → “マッピングテーブル”を使った制御で対応

Slide 12

Slide 12 text

どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 12 ②行アクセスポリシーの作成 ①マッピングテーブルの準備

Slide 13

Slide 13 text

どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 13 ③制限をかけたいテーブルまたはビューに適用

Slide 14

Slide 14 text

どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 14 ④Snowflake上で適用されているか確認 元のデータ(各都道府県入っている) 適用後のデータ(新潟県のみ表示)

Slide 15

Slide 15 text

どうやって実装したか?|行アクセスポリシー 2024 truestar inc. All Rights Reserved. 15 Tableau Cloudからの挙動を確認

Slide 16

Slide 16 text

うまくいかなかったところ・残課題 2024 truestar inc. All Rights Reserved. 16 ・Entra IDからのデフォルトロールの設定(みんなPUBLICのまま…) ・Snowflakeユーザーの削除(定期的な棚卸しは必須) ・証明書やトークンの更新手順の整理(ものによって期限が違うので要注意!) ・Tableauデータソースの抽出更新の自動実行ユーザーの設定

Slide 17

Slide 17 text

『Snowflake、2025年11月までに単一要素パスワード認証をブロック』 https://www.snowflake.com/ja/blog/blocking-single-factor-password-authentification/ うまくいかなかったところ・残課題 2024 truestar inc. All Rights Reserved. 17 →ユーザー名とパスワードのログインはMFA(多要素認証)が必須に →Tableauの自動更新の抽出に埋め込みユーザー認証をしている場合は対策が必須!

Slide 18

Slide 18 text

アドベントカレンダー 公開中 2024 truestar inc. All Rights Reserved. 18 おわりに ご清聴ありがとうございました!