Kubernetes v1.33: SecretsからSer... ノート

Kubernetes v1.33: SecretsからService Accountsへ: Kubernetesのイメージプルが進化

Kubernetesは、APIに保存された有効期間の長い認証情報への依存度を減らすように進化しており、その顕著な例として、Kubernetes Service Accountトークンが、静的なものからOpenID Connect互換のセマンティクスを持つエフェメラル(一時的な)トークンに移行したことが挙げられます。しかし、イメージプル認証には大きなギャップが残っており、Kubernetesクラスタは現在、有効期間の長いイメージプルシークレットまたはノードレベルのkubeletクレデンシャルプロバイダーに依存しています。これはセキュリティと運用上の課題をもたらします。なぜなら、イメージプルシークレットはローテーションが難しく、侵害されると不正なイメージアクセスにつながる可能性があるからです。これに対処するため、KubernetesはKubeletクレデンシャルプロバイダー向けのService Accountトークン連携を導入します。これにより、クレデンシャルプロバイダーは、Pod固有のサービスアカウントトークンを使用して、レジストリの認証情報を取得できるようになります。この機能強化により、有効期間の長いイメージプルシークレットの必要性がなくなり、ワークロード固有の認証、エフェメラルな認証情報、既存のKubernetes認証メカニズムとのシームレスな統合が実現します。新しいアプローチにより、kubeletクレデンシャルプロバイダーは、イメージレジストリの認証情報を取得する際にワークロードIDを使用できるようになり、セキュリティ、きめ細かいアクセス制御、運用上の簡素化などのメリットが得られます。この機能は現在アルファ版で利用可能であり、Kubernetes v1.34ではベータ版としてリリースされる予定です。今後の開発では、キャッシュメカニズムの実装と、クレデンシャルプロバイダーの柔軟性の向上に重点が置かれます。ユーザーは、ServiceAccountTokenForKubeletCredentialProvidersフィーチャーゲートを有効にし、サービスアカウントトークンを認証に使用するようにクレデンシャルプロバイダーを修正することで、この機能を試すことができます。Kubernetesコミュニティはフィードバックを歓迎しており、Kubernetes SlackのSIG Authチャネルを通じて、この機能の開発に参加することを推奨しています。