第2章 アカウント管理とデータガバナンス(Account Mgmt & Governance, 20%)
🎯 この節の学習目標
Snowflakeに格納されるデータは、常に・既定で・自動的に暗号化されます。これを「エンドツーエンドの暗号化」と呼び、次の2つの局面をカバーします。
| 局面 | 方式 | 説明 |
|---|---|---|
| 保存時(at rest) | AES-256(強力な共通鍵暗号) | テーブルデータ、内部ステージのファイルなど、Snowflakeが保持するすべてのデータが暗号化されて保存される |
| 転送時(in transit) | TLS(トランスポート層の暗号化) | クライアントとSnowflake間、Snowflake内部の通信がTLSで保護される |
📝 試験のポイント
暗号化は全エディション共通の標準動作で、ユーザーが有効化する操作や設定は一切不要、無効化もできません。「暗号化を有効にするにはどうするか?」という問いに対して「何もしなくてよい(常に有効)」が正解になる、Snowflakeらしい出題ポイントです。
Snowflakeの暗号化キーは、1つの鍵ですべてを暗号化するのではなく、4階層のキー階層(hierarchical key model)で管理されます。上位のキーが下位のキーを暗号化して包む仕組みをキーラッピング(key wrapping)と呼びます。
図:階層キーモデル。上位キーが下位キーをラップし、実データを直接暗号化するのは最下層のファイルキー
この階層構造には明確な利点があります。
キーの寿命管理には、性格の異なる2つの仕組みがあります。この対比は確実に区別できるようにしてください。
| 自動キーローテーション | Periodic Rekeying(定期再暗号化) | |
|---|---|---|
| 何をするか | 30日経過したアクティブなキーを退役させ、新しいキーに交代する。以後の新規データは新キーで暗号化 | 退役から1年経過したキーで暗号化されているデータを、新しいキーで再暗号化する |
| 既存データ | 再暗号化しない(旧キーは復号専用として残る) | 再暗号化する(旧キーは完全に破棄できる) |
| 既定の動作 | 常に自動で有効。ユーザー操作不要 | 既定では無効。有効化が必要(ACCOUNTADMINがパラメータで設定) |
| エディション | 全エディション | Enterprise以上 |
💡 具体例:Periodic Rekeyingの有効化
-- ACCOUNTADMINで実行する
USE ROLE ACCOUNTADMIN;
ALTER ACCOUNT SET PERIODIC_DATA_REKEYING = TRUE;
ローテーションは「鍵の交代(新規データから適用)」、Rekeyingは「古いデータの再暗号化」です。「30日=ローテーション(自動)」「1年=Rekeying(Enterprise以上・要有効化)」という数字の対応で覚えましょう。
より強い統制要件を持つ組織向けに、Tri-Secret Secureという仕組みがあります。Business Criticalエディション以上の機能です。
名前の「Tri(3つ)」は、顧客管理キー・Snowflake管理キー・ユーザー認証情報という3つの秘密でデータが守られることに由来します。「顧客がキーの主導権を持ちたい」「インシデント時に即座にデータを遮断したい」という要件が出たら、Tri-Secret Secureが答えです。
ここまではSnowflake内部の暗号化の話でしたが、外部ステージ(顧客管理のクラウドストレージ上のデータ置き場)についてはクライアントサイド暗号化もサポートされています。
MASTER_KEY を指定すると、SnowflakeはCOPY時にそのキーで復号してロードできます✅ この節のまとめ
問1. Snowflakeに保存されるデータの暗号化を有効にするために必要な操作はどれか。
正解:C
Snowflakeでは保存時の暗号化(AES-256)と転送時の暗号化(TLS)が全エディションで常に有効であり、ユーザーによる有効化・無効化の操作は存在しません。AとBのような設定・オプションは不要です(存在しません)。Dも誤りで、暗号化自体はStandardエディションを含む全エディションの標準動作です(エディションが関係するのはPeriodic RekeyingやTri-Secret Secureなどの追加機能です)。
問2. Snowflakeの階層キーモデルの階層として正しい順序(上位→下位)はどれか。
正解:B
階層はルートキーを頂点に、アカウントマスターキー、テーブルマスターキー、ファイルキーの順です。上位キーが下位キーをラップ(暗号化)し、実データを直接暗号化するのは最下層のファイルキーです。Aはアカウントとテーブルの順序が逆、Cは階層関係が崩れており、Dは上下が完全に逆になっています。「広い範囲を守るキーほど上位」と考えると順序を思い出しやすくなります。
問3. 自動キーローテーションとPeriodic Rekeyingの説明として正しいものを2つ選べ。
正解:A、B
ローテーションは「30日でキー交代・新規データから新キー・全エディションで常に自動」(A)、Rekeyingは「1年経過データの再暗号化・Enterprise以上・既定無効で有効化が必要」(B)です。Cは誤りで、ローテーションは全エディションで自動的に行われ、有効化操作は不要です。Dは誤りで、毎日ではなく退役後1年を経過したキーのデータが対象です。
問4. Tri-Secret Secureの説明として最も適切なものはどれか。
正解:B
Tri-Secret Secureは顧客管理キー(クラウドKMS)とSnowflake管理キーの複合マスターキーでアカウントのデータを保護する、Business Critical以上の機能です。顧客がキーへのアクセスを取り消すと、Snowflake側だけでは復号できなくなります。Aは認証の話であり無関係です。Cはレプリケーション/災害対策の説明で別機能です。Dは「顧客がキーの主導権を持つ」というTri-Secret Secureの本質を欠いています。