このページでは、Kubernetes Secret の概要と、Cloud Code で Secret Manager API を使用して Secret を作成、使用、保存する方法について説明します。
Kubernetes Secret の概要
Kubernetes アプリケーションを作成する際は、多くの場合、パスワード、SSH 認証鍵、OAuth トークン用の少量のセンシティブ データを渡す必要があります。この情報を Pod 仕様やコンテナ イメージに保存するのではなく、Kubernetes Secret を作成してセンシティブ データを保存できます。
デフォルトでは、Kubernetes Secret は暗号化されずに API サーバーの基盤となるデータストアに保存されます。API アクセス権を持つすべてのユーザーが Secret を取得または変更できます。Kubernetes Secret のドキュメントでは、Kubernetes Secret を安全に使用するために、少なくとも次の手順を行うことをおすすめします。
- Secret の保存データの暗号化を有効にします。
- Secret への最小特権アクセスを使用して、RBAC ルールを有効化または構成します。
- Secret へのアクセスを特定のコンテナに制限します。
- 外部 Secret ストア プロバイダの使用を検討します。
Cloud Code の Secret Manager
Cloud Code は、Secret Manager API を使用して、IDE 内から、保存時の暗号化で Secret を作成、バージョニング、保存できるようにします。Secret Manager は、Cloud Code でのみ、またはシークレット管理にすでに使用している他のツールに加えて使用できます。
Cloud Code を使用して IDE 内で使用できるアクションは次のとおりです。
- Secret Manager API を有効にします。
- Secret Manager ビューまたはエディタビューを使用して Kubernetes Secret を作成します。
- Secret をバージョニング、表示、削除します。
- アプリケーションから Secret にアクセスします。
- Secret を環境変数として追加します。
- Secret をボリュームとしてマウントします。
Cloud Code を使用して Kubernetes Secret を操作する
Cloud Code を使用してシークレットの作成、バージョニング、使用、削除を行う際の手順ガイドについては、シークレットを管理するをご覧ください。
次のステップ
- Kubernetes ドキュメントで Kubernetes Secret の詳細を確認する。
- Kubernetes Secret のベスト プラクティスについて十分に理解する。
- サービス アカウント トークンまたは代替を Secret に使用することを検討する。