✅ この記事のポイント
- Snowflakeでは、内部ステージ(Internal Stage)に保存されるすべてのファイルは、自動で暗号化されます。
- 暗号化方式は業界標準である**AES-256(Advanced Encryption Standard, 256ビット)**です。
🔎 ステージと暗号化の関係
Snowflakeではデータを取り込む際に、**ステージ(Stage)**と呼ばれる中間領域を使います。ステージには以下の種類があり、それぞれで暗号化の取り扱いが異なります。
| ステージの種類 | 説明 | 暗号化 | ユーザー操作 |
|---|
| Internal Stage | Snowflakeが管理するステージ領域 | ✅ AES-256で自動 | 不要(自動処理) |
| Named Internal Stage | 名前付き内部ステージ | ✅ AES-256で自動 | 不要(同上) |
| External Stage | S3やAzure Blobなど外部ストレージ | ❌ 自動ではない | 暗号化は外部設定が必要 |
🔐 AES-256とは?
| 項目 | 内容 |
|---|
| 名前 | Advanced Encryption Standard 256-bit |
| 鍵長 | 256ビット(非常に強固) |
| 採用機関 | 米国政府、軍事、商業分野で広く採用 |
| 特徴 | 高速・高セキュリティ・非対称暗号ではない |
| Snowflakeでの扱い | サーバー側の透過的暗号化(Transparent Encryption) |
💡 ユーザーが自ら暗号鍵を指定・操作する必要はありません。Snowflake側で自動的に鍵管理・ローテーションされます。
📦 ファイルの保存と暗号化の流れ
- ファイルのPUT操作:ユーザーがファイルをInternal Stageにアップロード
- Snowflakeが自動でAES-256暗号化
- COPY INTO TABLEでデータロード:ロード時に自動的に復号
- ファイル保持期限切れまたは手動削除でステージ上から除去
📘 セキュリティ対策上の補足
| セキュリティ機能 | Internal Stageの暗号化との関係 |
|---|
| オブジェクトストレージ暗号化 | Snowflake自身が管理しているため不要(内部処理) |
| セキュリティポリシーの設定 | ファイルアクセス権限にはRole-Based Access Controlが併用される |
| データベース内のデータ | ステージと同様、透過的暗号化が適用される |
✅ 試験対策まとめ
| 項目 | 内容 |
|---|
| 暗号化される対象 | Internal Stage内のファイル |
| 暗号化アルゴリズム | AES-256 |
| 設定の要否 | 不要(自動で適用) |
| 関連ドメイン | セキュリティ、データロード、ガバナンス |
🔗 参考リンク
Summary of Data Loading Features – Snowflake Documentation