[解決済み】Dockerとパスワードの保護
質問
最近、Dockerを使っていくつかのサービスを作って遊んでいるのですが、ずっと気になっているのが、Dockerfileにパスワードを入れることです。私は開発者なので、パスワードをソースに保存することは、顔面を殴られたような感じがします。これは気にする必要があるのでしょうか?Dockerfileでパスワードをどのように扱うかについて、何か良い規約があるのでしょうか?
どのように解決するのですか?
確かに懸念されることです。Dockerfilesは一般的にリポジトリにチェックインし、他の人と共有します。代替案としては、任意のクレデンシャル(ユーザー名、パスワード、トークン、機密性の高いもの)を提供することです。
実行時に環境変数として
. これは
-e
引数 (CLIでの個々のバーの場合) あるいは
--env-file
引数(ファイル内の複数の変数の場合)を
docker run
. 読む
これ
docker-composeで環境を使用する方法について説明します。
使用方法
--env-file
に秘密が表示されるのを防ぐことができるので、間違いなく安全なオプションです。
ps
を使用した場合、ログに
set -x
.
しかし、env varsも特に安全というわけではありません。それらは
docker inspect
を実行することができるすべてのユーザーが利用可能です。
docker
コマンドを使用します。(もちろん
docker
は、ホスト上でも
はルートを持つ
ということです(笑)。
私が好むパターンは、ラッパースクリプトを
ENTRYPOINT
または
CMD
. ラッパースクリプトは、まずランタイムに外部の場所からコンテナに秘密をインポートし、その後、秘密を提供しながらアプリケーションを実行することができます。この正確な仕組みは、ランタイム環境に応じて異なります。AWSの場合、IAMロールの組み合わせ、すなわち
鍵管理サービス
とS3バケットに暗号化された秘密を保存するために。次のようなものです。
HashiCorp Vault
または
クレドスタッシュ
も選択肢の一つです。
AFAIKでは、機密データをビルドプロセスの一部として使用するための最適なパターンは存在しません。実際、私は SO質問 このトピックについて を使うことができます。 ドッカースカッシュ を使用して、画像からレイヤーを削除します。しかし、Dockerにはこの目的のためのネイティブな機能はありません。
このサイトでは コンテナ内の設定に関するコメント が便利です。
関連
-
GTA3 オートフルブラッド C++
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ClientとUser-Agentの違い
-
[解決済み] HTTPSヘッダーは暗号化されていますか?
-
[解決済み] 認証と認可
-
[解決済み] Webサイトに "remember me "を実装するのに最適な方法は何ですか?[クローズド]
-
[解決済み] ハッシュ化アルゴリズムと暗号化アルゴリズムの根本的な違い
-
[解決済み] ブラウザの「パスワードの保存」機能を無効にする
-
[解決済み] HTTPクッキーはポート指定ですか?
-
[解決済み] HTTPS(HTTP + SSL)において、クエリストリングパラメーターは安全ですか? [重複している]。
-
[解決済み] APIキーとシークレットキーはどのように機能するのですか?APIキーやシークレットキーを他のアプリケーションに渡すのは安全ですか?
-
[解決済み] コマンドの標準入力に変数の値を渡すには?