SnowPro Advanced: Data Engineer 無料問題 10 / 10 ・ 分野5: Data Transformation
暗号化を指定せずに作った内部ステージの PDF を、事前署名付き URL で BI ツールに見せようとしたが、開いたファイルが壊れていて読めない。どう直すのが公式の説明に合うか。
- GET_PRESIGNED_URL の有効期限を最大まで延ばして、URL を発行し直す
- 事前署名付き URL をやめ、BUILD_STAGE_FILE_URL のファイル URL で配る
- ALTER STAGE で内部ステージの暗号化を SNOWFLAKE_SSE に変え、ファイルはそのまま使う
- SNOWFLAKE_SSE の暗号化で新しい内部ステージを作り、ファイルを置き直す
正解と解説を見る
正解: D
正解の理由
内部ステージは、作るときにサーバー側の暗号化を指定しなければ、クライアント側で暗号化される。その暗号鍵は Snowflake が持つので、クライアント側で暗号化されたファイルは、事前署名付き URL・ファイル URL・スコープ付き URL のどれで取っても、利用者や外部のツールには読めない。非構造化データを見せる内部ステージは、CREATE STAGE で暗号化の種類 SNOWFLAKE_SSE を指定して作る。内部ステージの暗号化の種類は作ったあとで変えられないので、新しいステージを作ってファイルを置き直す。
違う選択肢
「ALTER STAGE で内部ステージの暗号化を SNOWFLAKE_SSE に変え、ファイルはそのまま使う」… 内部ステージの暗号化の種類は、ステージを作ったあとでは変えられない。同じステージのまま直すことはできない。
「GET_PRESIGNED_URL の有効期限を最大まで延ばして、URL を発行し直す」… 有効期限は URL が使える長さを決めるだけで、クライアント側で暗号化されたファイルが読めない問題は変わらない。
「事前署名付き URL をやめ、BUILD_STAGE_FILE_URL のファイル URL で配る」… クライアント側で暗号化されたファイルは、ファイル URL でも読めない。URL の種類を替えても、ステージの暗号化が変わらない限り直らない。
関連する設定
コンプライアンスで Tri-Secret Secure が要るなら、内部ステージの暗号化の種類は SNOWFLAKE_FULL にする。SNOWFLAKE_SSE は Tri-Secret Secure に対応しない。事前署名付き URL の有効期限は秒で指定し、既定は3600秒である。