LoginSignup
8
1

Snowflakeのセキュリティダッシュボードを作ろうとしたけどやめた

Last updated at Posted at 2023-12-05

はじめに

以前からSnowflakeのセキュリティ周りの対策に興味があって以下のQuickStartの記事を見つつ、セキュリティ監査ができるダッシュボードを作ろうと思っていました。

ですが先日のSnowdayの発表で以下の記事がリリースされました。

More comprehensive security with the introduction of Trust Center and added platform protections

...どうやらセキュリティの監視ができる機能が追加されるようです。非常に嬉しい発表ですが私が同じダッシュボードを作っても車輪の再発明になりそうです:sob:
というわけで今回はSnowflakeが準拠するCIS Banchmarkを眺めながら、Snowflakeが何を保証してくれるのか、そして我々ユーザーが何を気をつけなければいけないのかを考えてみたいと思います。

この記事はSnowflake Advent Calendar 2023 6日目の記事です。

この記事の内容は2023年12月時点のものです。ご使用の環境へ設定を適用する際は必ず原本を参照のもと適用いただくようお願いいたします。
https://www.cisecurity.org/cis-benchmarks

概要

すべての評価項目は以下の二つの項目に分類されます。

  1. Automated
    すべての評価が自動で行われます。
  2. Manual
    一部の評価を手動で行う必要があります。

また各評価項目は以下の2つのレベルに分類されます。

  1. Level1
    サービスのベストプラクティスに基づいた一般的なものです
  2. Level2
    Level1よりセキュリティ面を重視したものです。管理面やサービスの有用性に影響を与える可能性があります。

1 Identity and Access Management

項目 Level Autmated/Manual ユーザー対応
アカウントでSSOが有効化されていること 1 Automated Security integrationを作成する
SCIMが有効化され、IdP側でユーザーの管理ができること 2 Automated SCIM統合を作成する
SSOが有効化されているユーザーのパスワード認証が無効化されていること 1 Manual alter userでパスワードをNULLに設定する
システムユーザーを除き、パスワード認証に加えてMFAが有効化されていること 1 Automated GUIから登録
パスワードの最小文字数が14文字以上であること 1 Automated password policyを登録 
システムユーザーはキーペア認証をしていること 1 Automated キーペア認証を参照
キーペア認証に用いる鍵が180日でローテーションされていること 1 Automated 手動で定期的に検査が必要
90日以上ログインしていないユーザーが無効化されていること 1 Automated 手動で定期的に検査が必要
ACCOUNYADMIN, SECURITYADMINを持つユーザーのセッションタイムアウトが15分以内に設定されていること 1 Automated Session policyを変更する
ACCOUNYADMIN, SECURITYADMINを持つユーザーの数が制限されていること 1 Automated 手動で管理が必要
ACCOUNTADMINを持つユーザーにemailが設定されていること 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINがデフォルトロールとして設定されていないこと 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINを継承しているロールが存在しないこと 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINがownerになっているtaskが存在しないこと 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINの権限で実行されているtaskが存在しないこと 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINがownerになっているprocedureが存在しないこと 1 Automated 手動で検査が必要
ACCOUNYADMIN, SECURITYADMINの権限で実行されているprocedureが存在しないこと 1 Automated 手動で検査が必要

2 Monitoring and Alerting

項目 Level Autmated/Manual ユーザー対応
ACCOUNYADMIN, SECURITYADMINに対する権限付与が検知できること 1 Manual 手動で検査が必要
MANAGE GRANTSに対する権限付与が検知できること 1 Manual 手動で検査が必要
SSOが有効化されているユーザーのパスワードでのログインが検知できること 1 Manual 手動で検査が必要
MFAが有効化されていないユーザーのパスワードログインが検知できること 1 Manual 手動で検査が必要
Security integrationに対するcreate, update, deleteの操作を検知できること 1 Manual 手動で検査が必要
Network policyとそれが紐づいているオブジェクトに対する変更を検知できること 1 Manual 手動で検査が必要
SCIM tokenの作成が検知できること 1 Manual 手動で検査が必要
Shareが他アカウントに公開された時に検知できること 1 Manual 手動で検査が必要
EOSとなっているConnector, JDBC driverのアクセスを検知できること 2 Manual 手動で検査が必要

3 Networking

項目 Level Autmated/Manual ユーザー対応
アカウントレベルでのホワイトリストによるNetwork policyが有効化されていること 2 Manual network policyを作成する
システムユーザーに対してNetwork Policyが有効化されていること 1 Manual network policyを作成する

4 Data Protection

項目 Level Autmated/Manual ユーザー対応
1年以内にデータの再暗号化が行われること 2 Automated アカウントパラメータのPERIODIC_DATA_REKEYINGをtrueに設定する
AES暗号化キーが256bitであること 1 Automated アカウントパラメータのCLIENT_ENCRYPTION_KEY_SIZEを256に設定する
重要なデータに対するDATA_RETENTION_TIME_IN_DAYSが90に設定されていること 2 Manual 必要なデータに対してDATA_RETENTION_TIME_IN_DAYSを90に設定する
MIN_DATA_RETENTION_TIME_IN_DAYSが7以上に設定されていること 2 Automated アカウントパラメータのMIN_DATA_RETENTION_TIME_IN_DAYSを7以上に設定する
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATIONがtrueに設定されていること 1 Automated アカウントパラメータのREQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATIONをtrueに設定する
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATIONがtrueに設定されていること 1 Automated アカウントパラメータのREQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATIONをtrueに設定する
すべてのexternal stageにstorage integrationが設定されていること 1 Automated アカウントパラメータのREQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATIONをtrueに設定する
PREVENT_UNLOAD_TO_INLINE_URLがrueに設定されていること 1 Automated アカウントパラメータのPREVENT_UNLOAD_TO_INLINE_URLをtrueに設定する
Tri-Secret Secureが有効化されていること 2 Manual Tri-Secret Secureを参照
機密データがマスキングされていること 2 Manual 必要なデータにmasking policyを設定する
機密データがにrow access policyが設定されていること 2 Manual 必要なデータにrow access policyを設定する

おわりに

CIS Benchmarkのそれぞれの項目を並べてみました。すべて手で確認するのはかなりの手間なので、これらをすべて確認できるような機能がリリースされると思うと非常に楽しみですね。
これからのSnowflakeの発展にますます期待です!

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1