Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ナニソレ?共有ワークスペース!

Avatar for あべ あべ
November 03, 2026

 ナニソレ?共有ワークスペース!

【雪かき部】#9 ナニソレ?共有ワークスペース!
https://yukikaki.connpass.com/event/409126/

Avatar for あべ

あべ

November 03, 2026

More Decks by あべ

Other Decks in Technology

Transcript

  1. 自己紹介 PROFILE 会社 株式会社BeeX 担当業務 データ分析基盤の導入支援、データ利活用の支援 資格、認定 受賞 AWS Community

    Builders 2026 (Data) 2026 Japan All AWS Certifications Engineers 安倍 航太 2026 Snowflake Partner Champion Snowflake 以外 Snowflake Squad 2026 AWS × 12 、 Google Cloud × 1 あべ( @_coco_se ) Data 2
  2. ワークスペースって何? Snowsight 上で SQL や Python のファイルを書いて実行する場所 実行だけじゃなくて、色々な定義の管理や保管にも利用できる 開き方 プロジェクト

    → ワークスペース 画面の構成 左:ファイルとフォルダの一覧 右:エディタ(書いたその場で実行できる) 6
  3. ワークスペースの種類 個人 Private Git 連携 Git-synced 共有 Shared 用途 用途

    用途 個人の開発、アドホック分析、 本番ワークロード、複数ファイ 複数人での共同作業 管理作業 ルの開発 保存場所 保存場所 保存場所 ユーザーの個人データベース PDB と外部の Git リポジトリ 通常のデータベースとスキーマ 共有の方法 共有の方法 共有の方法 なし Git 経由 ロールに共有 ( PDB) 7
  4. 個人ワークスペースだけで困ること よく使う 1 SQL が、個人ワークスペースに置かれたままになっていませんか? 探せない 必要なクエリがほかの人の個人ワークスペースにあり、自分からは見えない 2 同じ SQL

    を何度も書く 同じ集計 SQL を、それぞれが少しずつ違う形で書いている 3 異動や退職で見られなくなる その人のワークスペースごと参照できなくなる 8
  5. ファイルの権限とデータの権限 ファイルを開くことができても、クエリは自分のロールの権限で実行される A さん B さん 共有ワークスペースの WRITE : あり

    共有ワークスペースの WRITE : あり テーブルの権限: なし テーブルの権限: あり × 権限エラーで実行できない ◦ 結果が返る 【 注意】 ワークスペースの権限を付けても、データやウェアハウスの権限は付かない 12
  6. 作成に必要な権限 作成できるのは、スキーマのオーナーか 方法1 CREATE WORKSPACE 権限を持つロール 作成先スキーマの OWNERSHIP 方法2 データベースの

    USAGE と、スキーマの USAGE 、 CREATE WORKSPACE 方法2の GRANT 文 GRANT USAGE ON DATABASE <database> TO ROLE <role>; GRANT USAGE, CREATE WORKSPACE ON SCHEMA <database>.<schema> TO ROLE <role>; 共有される側のロールにも、そのデータベース とスキーマ の USAGE が必要です CREATE WORKSPACE をほかのロールに付与できるのは、スキーマのオーナー、 MANAGE GRANTS を持つロール、 WITH GRANT OPTION 付きで CREATE WORKSPACE を持つロールです 14
  7. 作成手順 画面からは 5つの手順で簡単に作成可能 1 プロジェクト 2 → +(新規作成) から 3

    4 5 名前を入力し、 データベースと 共有するロールを スキーマを選ぶ 追加して ワークスペース 共有ワークスペース オーナーロールを を開く を選ぶ 確認する 作成を押す オーナーロールに注意 画面で作成する場合、画面左下のユーザーメニューで選んでいるロールが所有者で表示される 右上で選択したロールではないので注意 SQLで作成する場合は、右上で選択したロールが所有者になる! 15
  8. 共有ワークスペースへ移す 個人ワークスペースのファイルは、コピーか移動で共有ワークスペースへ! ファイル一覧から 1. ファイルやフォルダを選び、「 開いているファイルから …」を開く 2. コピー先 か

    移動 を選ぶ 3. 移動先の共有ワークスペースを選ぶ 1. エディタ右上の 共有 を押す 2. 共有ワークスペース へにファイルを移動(笑) を選ぶ コピー先: 個人ワークスペースに原本を残す 3. 移動先を選んで Move を押す 移動 開いている 1ファイルだけを移動する : 個人ワークスペースからはなくなる 注意 コピーや移動をした時点で公開済みになり、権限を持つユーザー全員が参照可能 16
  9. 共有ワークスペースのファイルを渡す 共有ワークスペースに置いたファイルは URL で直接共有可能 共有 → URL をコピー 共有 →

    コードをコピー ファイルの中身をクリップボードにコ ファイルの URL をコピーし、チャットなどで送る 共有ワークスペースにアクセスできる人は、その ピーする URL でファイル とワークスペースを直接開ける 使えるのは、共有ワークスペース内のファイルだけ 「 …」 → ダウンロード ファイルを PC に保存する 注意 ファイルをリネームしたり削除したりすると、その URL は使用不可に! 17
  10. 共有相手の管理 共有相手は画面からも SQL からも管理でき、単位はロール 画面から SQL から(例:書き込み権限を付与) 1. ワークスペースの「 …」を開く

    2. ワークスペースを構成 を選ぶ 3. ロールを追加、削除する SHOW WORKSPACES IN ACCOUNT; SHOW GRANTS ON WORKSPACE <workspace_name>; GRANT WRITE ON WORKSPACE <workspace_name> TO ROLE <role_name>; REVOKE WRITE ON WORKSPACE <workspace_name> FROM ROLE <role_name>; ユーザーへの直接共有は不可。ロールに対して共有する形! 18
  11. ドラフトと公開 編集中の内容は自分にしか見えず、公開 するとチーム全員に反映される 編集を始める 公開版 ドラフト Publish 全員が見ている版 自分にだけ見える 変更を公開

    のメニューでできること ドラフト状態(まだ共有されていない) 変更を表示 自分のドラフトと最新の公開版を左右に並べて比較する 押すと権限がある人全員に反映される 変更を破棄 ドラフトを破棄し、最後の公開版に戻す バージョン履歴 ファイルのバージョン履歴を表示 20
  12. 公開なしで反映される操作 ファイルの追加、名前変更、削除は 公開 なしで全員に反映される すぐ全員に反映される ドラフトになる アップロード ファイルの中身の編集 リネーム 公開するまで自分にだけ見える

    削除(ファイルとフォルダ) 共有ワークスペースへの 移動、コピー 自分がドラフトを持っているファイルをほかの人が削除した場合、公開するときに再作成するかを聞かれる (ファイル開いているタイミングじゃないとできない操作なので注意 ) 21
  13. 公開履歴と Git との違い 公開した版は履歴からリストア可能。 Git とは微妙に違うので注意が必要 1. 「 …」 →

    バージョン履歴 を開く 2. 右側のパネルでタイムスタンプを選ぶ 3. このバージョンを復元 Git との違い → 復元して公開 を押す 履歴に残るのは公開した版だけで、ドラフト の途中経過は残らない Publish は Git の commit や Pull Request と は別の仕組み ブランチや Pull Request でのレビューが必要 なら、 Git 連携ワークスペースを使う 23
  14. どこに作るか、 3つのパターン 公式のベストプラクティスでは、作る場所について 3つのパターンを紹介 集中型ハブ チームスコープ ハイブリッド 共有ワークスペース専用の チームごとのデータベースや チームをまたぐプロジェクト

    スキーマに作る。部門ごとに は中央のスキーマに、日常の つ用意し、全チームがそこに データベースとロールが分か 作業はチームごとのスキーマ 作る れている組織に合う に作る データベースとスキーマを 出典: https://docs.snowflake.com/ja/user 1 -guide/ui -snowsight/workspaces -shared -best -practices 25
  15. 運用で決めておくこと 始める前に、次の 4点を決めておきます 作成できるロール 共有に使うロール • 作れるのは 管理担当とスキーマのオーナー だけ •

    共有相手はロール で指定(人単位では不可) • 誰でも作れると、 似たワークスペースが増えすぎる • チームの 今あるロール をそのまま使う • 作成の権限は管理者が付ける • 編集するチームは WRITE 、見るだけなら 名前とフォルダ 見直しの頻度 • 名前はチーム名 _ プロジェクト名 の形にそろえる READ • 四半期に1回、使われていないものを整理する • SQL は queries/ 、 Python は scripts/ に置く • ワークスペースごとに 管理担当を決めておく • 決まりは最初にチームで共有しておく • 何に使うかを 社内 Wiki などにまとめる 26
  16. +α: AIと組み合わせる AI エージェント「 よく使う CoCo in Snowsight SQL を整理する

    」で、共有ワークスペースをもっと活用! ドキュメントを作る チームの動きを把握する • 定着した分析 SQL を選ぶ • README.md などを下書きさせる • 変更内容を AI に要約させる • 設計用の場所へ移して資産にする • DDL と説明を一緒に置く • レビューや引き継ぎが楽になる デモや、共有ワークスペースのデザインパターンの紹介は こちら でもやってます! 28
  17. まとめ 1 共有ワークスペースは、スキーマ配下のオブジェクトとして作り、ロールに共有する。権限は READ 、 WRITE 、 OWNERSHIP の3種類 2

    編集はドラフトから公開で反映し、公開した版は履歴から戻せる 3 作成できるロールと置き場所を先に決めておくと、増えすぎずに運用できる まずは個人ワークスペースにある SQL を 1本、共有ワークスペースにコピーしてみてください!! 30