このページでは、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 をボリュームとしてマウントする。
Cloud Code で Kubernetes Secret を操作する
Cloud Code で Secret を作成、バージョニング、使用、削除する手順については、Secret の管理をご覧ください。
次のステップ
- Kubernetes ドキュメントで Kubernetes Secret の詳細を確認する。
- Kubernetes Secret のベスト プラクティスを理解する。
- サービス アカウント トークンまたは代替を Secret に使用することを検討する。