2025-06
2025-06-20
Rust の機能を OCaml に入れたみたいな紹介をされがちだが、実際にはライフタイムではなくいくつかの単純化されたモードを扱うため、C# の ref struct 周りのスタックアロケーションの導入に近いと思う CSI Driver は Driver Spec において要求するトークンの audience を指定することができる
このトークンはボリュームを要求するタイミングで kubelet が発行するため、任意のサービスアカウントトークンが発行されるという事態にはならない ので、適切な権限を持つトークンが発行されていなければエラーということをやればいいだけなはずだが、やっていないだけという話っぽい
ただデフォルトのデプロイではトークンを要求しないのでうまくいかない。Provider によって Driver Spec に設定するべき内容が変わるというのが難しそうではある
2025-06-18
CSI Driver の側から Pod のトークンが渡ってきて、それをいい感じに交換して渡しているのだろうと思っていたが、そんなことはないらしい
namespace と service account と pod の情報から token を作り、それを使って認証している
なので serviceaccount/tokenのcreateがいる
これは非常に強力で、任意のワークロードが持つ権限を窃取できる
セキュアとか言ってるのなんだったんだ