Professional Data Engineer(Google Cloud) 無料問題 1 / 10 ・ 分野1: データ処理システムの設計
既定の暗号化で作った既存の BigQuery のテーブルを、CMEK で守る状態に移したい。Customer-managed Cloud KMS keys のページの Limitations の記述に合うものはどれか。
- その場では切り替えられず、移したあとは、暗号化を切り替える前の時点を指すテーブル デコレータも使えなくなる
- その場では切り替えられず、移したあとはワイルドカードの接尾辞を使うクエリで、そのテーブルをそのまま読める
- その場では切り替えられず、SELECT * で自分自身に選び、書き込みの扱いを WRITE_EMPTY にして CMEK で書き直す
- その場では切り替えられず、コピー先のテーブルの暗号化の情報に CMEK の鍵を指定して、テーブルをコピーする
正解と解説を見る
正解: D
正解の理由
Switching between CMEK-protected and default encryption の節は、既定の暗号化と CMEK の暗号化の間で、テーブルをその場で切り替えることはできないと書く。切り替えるには、宛先の暗号化の情報を指定してテーブルをコピーするか、SELECT のクエリでテーブルを自分自身に選び、書き込みの扱いを WRITE_TRUNCATE にする。どちらもデータを書き直して、新しい暗号化で守らせる方法である。
違う選択肢
「その場では切り替えられず、SELECT で自分自身に選び、書き込みの扱いを WRITE_EMPTY にして CMEK で書き直す」… 節は、SELECT のクエリでテーブルを自分自身に選ぶときの書き込みの扱いを WRITE_TRUNCATE とする、と書く。WRITE_EMPTY は、テーブルが空のときだけ書き込む扱いである(Batch loading data のページの書き込みの扱いの表)。データのある既存のテーブルを自分自身に選んで書き直す手順には使えない。
「その場では切り替えられず、移したあとは、暗号化を切り替える前の時点を指すテーブル デコレータも使えなくなる」… Using table decorators の節は、CMEK で守ったテーブルのデータを WRITE_TRUNCATE で置き換えると、範囲デコレータは暗号化が替わった境目をまたいでは働かないと書く。そのうえで、範囲デコレータを含むテーブル デコレータで、境目の前か後のデータを照会したり、特定の時点のスナップショットを照会したりすることはできると書いている。
「その場では切り替えられず、移したあとはワイルドカードの接尾辞を使うクエリで、そのテーブルをそのまま読める」… Wildcard table queries の節は、CMEK で守ったテーブルはワイルドカードの接尾辞でクエリできないと書く。移したあとは、そのテーブルを読むワイルドカードのクエリを見直す必要がある。
関連する制限
既定の暗号化では、BigQuery がデータの暗号化の鍵を鍵暗号化鍵で包み、その鍵を Google が持つ。CMEK では、鍵暗号化鍵を Cloud KMS で利用者が管理する。移したあとは、スクリプトで CMEK の操作の宛先テーブルを決められない点も Limitations に並ぶ。
Professional Data Engineer(Google Cloud)の演習アプリ(無料10問・全問は解錠で)へ