はじめに
この実験では、docker trust key load
コマンドを使用して、署名キーを Docker トラストキーストアに読み込む方法を学習します。まず、openssl
を使用して Docker イメージの署名用の秘密鍵ファイルを準備します。
キー生成後、この秘密鍵を Docker トラストキーストアに読み込みます。このキーストアは、暗号化キーを安全に保管する場所です。最後に、キーストア内で特定の名前で秘密鍵を読み込む方法を探ります。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、docker trust key load
コマンドを使用して、署名キーを Docker トラストキーストアに読み込む方法を学習します。まず、openssl
を使用して Docker イメージの署名用の秘密鍵ファイルを準備します。
キー生成後、この秘密鍵を Docker トラストキーストアに読み込みます。このキーストアは、暗号化キーを安全に保管する場所です。最後に、キーストア内で特定の名前で秘密鍵を読み込む方法を探ります。
このステップでは、Docker イメージの署名用の秘密鍵ファイルを準備する方法を学びます。Docker Content Trust は、イメージの整合性と信頼性を検証するために暗号化キーを使用します。イメージを署名するには秘密鍵が必要で、対応する公開鍵は他の人が署名を検証するために使用されます。
まず、この実験の作業ディレクトリである ~/project
ディレクトリに移動します。
cd ~/project
次に、openssl
コマンドを使用して新しい RSA 秘密鍵を生成します。このコマンドは 4096 ビットの秘密鍵を作成し、現在のディレクトリ内の my-signing-key.pem
という名前のファイルに保存します。
openssl genrsa -out my-signing-key.pem 4096
キー生成プロセスを示す出力が表示されます。このコマンドは PEM 形式の秘密鍵を生成します。
次に、~/project
ディレクトリに my-signing-key.pem
ファイルが作成されたことを確認しましょう。
ls -l my-signing-key.pem
ファイルのパーミッション、所有者、グループ、サイズ、および変更時刻が表示されるはずです。これにより、秘密鍵ファイルが正常に生成されたことが確認できます。
このステップでは、前のステップで生成した秘密鍵を Docker トラストキーストアに読み込みます。Docker トラストキーストアは、Docker がイメージの署名と検証に使用する暗号化キーを保管する安全な場所です。
Docker トラストキーストアは ~/.docker/trust/private
ディレクトリにあります。作成した秘密鍵ファイル (my-signing-key.pem
) をこのディレクトリにコピーする必要があります。
まず、秘密鍵を作成した ~/project
ディレクトリにいることを確認します。
cd ~/project
次に、my-signing-key.pem
ファイルを Docker トラストの秘密鍵ディレクトリにコピーします。ディレクトリが存在しない場合は作成する必要があります。
mkdir -p ~/.docker/trust/private
cp my-signing-key.pem ~/.docker/trust/private/
mkdir -p
コマンドは、ディレクトリが存在しない場合にそのディレクトリと必要な親ディレクトリを作成します。cp
コマンドは秘密鍵ファイルをコピーします。
ファイルをコピーした後、~/.docker/trust/private
ディレクトリの内容を一覧表示することで、秘密鍵が Docker トラストキーストアにあることを確認できます。
ls ~/.docker/trust/private/
出力に my-signing-key.pem
が表示されるはずです。これにより、秘密鍵が Docker トラストキーストアに正常に読み込まれたことが確認できます。
このステップでは、特定の名前で秘密鍵を Docker トラストキーストアに読み込む方法を学びます。前のステップで行ったように単にキーファイルをコピーすることもできますが、docker trust key load
コマンドを使用すると、Docker トラストシステム内でキーに特定の名前を関連付けることができます。これは、複数の署名キーを管理する際に便利です。
まず、秘密鍵ファイル my-signing-key.pem
を作成した ~/project
ディレクトリにいることを確認します。
cd ~/project
次に、docker trust key load
コマンドを使用して秘密鍵を読み込みます。キーの名前を入力するように求められます。このキーに my-signer
という名前を付けましょう。
docker trust key load my-signing-key.pem --name my-signer
促されたら、キーの名前として my-signer
を入力します。
Loading key from 'my-signing-key.pem'...
Enter name for new key: my-signer
名前を入力した後、新しいキーのパスフレーズを入力するように求められます。この実験では、Enter キーを押すだけでパスフレーズを空にすることができます。実際のシナリオでは、秘密鍵を保護するために強力なパスフレーズを使用することを強くお勧めします。
Enter passphrase for new key:
Repeat passphrase for new key:
キーが正常に読み込まれたことを示す出力が表示されるはずです。
Successfully loaded private key from 'my-signing-key.pem' with ID '...'
指定した名前でキーが読み込まれたことを確認するには、docker trust key list
コマンドを使用して Docker トラストキーストア内のキーを一覧表示できます。
docker trust key list
NAME が my-signer
で、対応する KEY ID があるエントリが表示されるはずです。これにより、特定の名前で秘密鍵を正常に読み込んだことが確認できます。
この実験では、openssl genrsa
を使用して Docker イメージの署名用に秘密鍵ファイルを作成する方法を学びました。次に、生成した秘密鍵を ~/.docker/trust/private
ディレクトリにコピーすることで、その秘密鍵を Docker トラストキーストアに読み込む操作を練習しました。