views4GCPのストレージサービスについてまとめてみた。Exp:58182017年12月より現職。インフラ担当としてIaC、Kubernetesを勉強していた。2019年11月よりコンサルタントに転向。好きな言語はJavascript。好きなOCGカードは《超弩級砲塔列車グスタフ・マックス》。コンサルティングチームに異動した亀梨です。KMSで(どの方式を採用して)鍵のローテーションをしても、旧鍵で引き続き復号できる」旨の記載をしておりましたが、おわびして訂正いたします。KMSとはそもそも鍵のローテーションは何のためにあるのか暗号鍵の賞味期限ローテをしないことによるデメリット鍵バレした!ので、古い鍵で戻せなくしたい。KMSのdocumentにおいて、単に「Rotaion」と書かれているページは「対称鍵のローテーション」についての説明であり、「非対称鍵のローテーション」のページが別に存在しています。rotationの仕様について、対称鍵(共通鍵暗号)と非対称鍵(公開鍵暗号)で差異があり、嘘を言っていましたので、おわびして訂正いたします。TL;DR共通鍵方式(対称鍵方式)については、自動rotationが可能です。公開鍵方式(非対称鍵方式)については、rotationがサポートされていません。非対称暗号化は、公開鍵/秘密鍵ペアの公開鍵を使用して平文を暗号化し、対応する秘密鍵を使用して暗号テキストを復号するプロセスを表します。データの暗号化と復号に同じ鍵が使用されます。https://cloud.google.com/kms/docs/asymmetric-encryption?hl=jaだそうです。Service)について、「鍵のローテーションをしてしまったら、古い鍵で暗号化してしまったファイルは元に戻せないのではないのか?だから、ローテーションなんてしないほうがいいのでは。」という意見を耳にしました。「『暗号鍵のローテーション』という機能をGCPがmanagedで出している」以上、「人間が頑張って手動で『鍵』と『それを使った暗号化済ファイル』の対応付けを頑張らないといけない」なんて事は考えられないので、この記事ではそれを実証しようと思います。いうかドキュメントに「ローテ前の鍵で暗号化したファイルは、ローテ以後もちゃんと戻せる」って書いてあるんですけどね。(TL;DR)鍵をローテーションしても、以前の鍵バージョンが無効になったり破棄されたりすることはありません。以前の鍵バージョンはメインではなくなりますが、引き続きデータの復号に使用できます。KMSとはひとことで言うなれば、『IAMでの権限付与』に基いて、『暗号鍵へのアクセス権を管理』できるサービスです。Platform)が提供するため、鍵の運用をする必要がありません。)で認証し、API経由で暗号化/復号/鍵の管理を提供します。Providerで動的に秘匿情報を復号したりできます。それをすることができるアカウントをIAMで管理できます。Accountにも当然付与できます。そもそも鍵のローテーションは何のためにあるのか現状、一般的に商用で普及している仕組みとして、「計算コストの安さ・移植の容易さ・突破されにくさ」のバランスに秀でた暗号化方式のRSA暗号を用いた公開鍵基盤があります。ファイルを盗まれるとか。通信経路上でTLS通信パケットを継続的にキャプチャされるとか。暗号化したけど権限管理がいいかげんで全世界に公開されている機密ファイル...等は、総当たり攻撃でいつかは破られる運命にあります。(やる人が居るとは言っていない)SSH等でも、通信の途中で鍵をどんどんローテーションし、「ある時点まではこの鍵で暗号化していたけれど、この時点からは別の鍵で暗号化するんで、別の鍵で復元してね」をやっています。これにより、ある鍵が割れたとしても、平文へのアクセスが部分的にしか得られないというメリットがあります。「サーバ証明書」を運用したことがあるでしょうか。あんな短いスパンで更新しなければならないのか。それは、前述の通り「賞味期限が切れてバレバレになるおそれがあるから」です。認証局が豪遊するためではないのです。ローテをしないことによるデメリットは、もう書いてしまいましたね。鍵バレした!ので、古い鍵で戻せなくしたい。Loggingで検出したりした場合、古い鍵バージョンを無効化し、新しい鍵へローテーションすることができます。不正な操作に使用されたアカウントを特定・排除したのち、新バージョンの鍵を用いて暗号化し直すことで、(古い鍵で暗号化していたファイルは助からなくても)それ以降の鍵で暗号化したファイルへのアクセスを防ぐことができます。ローテをしたら戻せない、は本当なのか?やってみましょ。以下のステップで進めます。Shellを起動します。お好きなエディタで、平文のファイルを作りましょう。速攻魔法(準制限カード)このカードの発動に対して魔法・罠・モンスターの効果は発動できない。(1):手札を1枚捨てて発動できる。自分・相手フィールドから、融合モンスターカードによって決められた融合素材モンスターを墓地へ送り、その融合モンスター1体をEXデッキから融合召喚する。「キーリングを作成」しましょう。キーリング「team5ds」がリージョン「asia-northeast1」に作成されました。KeyRing内のKeyを用意するteam5dsという鍵束の単位で管理されるメンバーである鍵を作成します。デフォルトのローテ期間「90日」で作成するものとします。※「暗号化/復号」とそれ以外の表記に揺れがあるのは私共の不徳の致すところであり、サービス提供側へfeedback依頼を上げておきます故ご容赦ください。現在のKeyバージョンを確認する作成された「chokan」キーを確認します。概要画面から以下のような操作が可能です。「名前」列の「chokan」リンクを辿り、鍵のバージョン画面へ遷移します。バージョン「1」の「chokan」のみが存在していることがわかります。現在のKeyを用いて、暗号化と復号ができることを確認する暗号化してみます。data暗号化できたことがわかります。