次の方法で共有


Docker コンテンツ信頼から公証人プロジェクトへの移行

Azure Container Registry は、2028 年 3 月 31 日に Docker Content Trust (DCT) を廃止します。 この移行を支援するために、この記事では、DCT を無効にし、Notary Project を採用してコンテナー イメージに署名して検証する方法に関するガイダンスを提供します。

DCT の非推奨

DCT を使用すると、イメージ発行元はイメージに署名でき、イメージ コンシューマーは、プルしたイメージが署名されていることを確認できます。 技術の進歩により、DCT はコンテナーの最新のサプライ チェーン セキュリティの要件を満たさなくなりました。 その結果、DCT の廃止は 2025 年 3 月 31 日に開始されました。 DCT は、2028 年 3 月 31 日に Azure Container Registry から完全に削除されます。

DCT の代わりに、Microsoft は、Notary Project に基づく署名および検証ソリューションを提供しています。 公証人プロジェクト は、本物のコンテナー イメージやその他の Open Container Initiative (OCI) 成果物を使用してソフトウェアサプライ チェーンをセキュリティで保護するための業界間の標準を提供する一連の仕様とツールです。

Notary Project のツールである Notation は、そのプロジェクトの仕様を実装します。 これには、コンテナー イメージと成果物の署名と検証を行うコマンド ライン インターフェイス (CLI) とライブラリが含まれています。 コンテナー イメージの整合性と信頼性を確保するために、Notary Project ソリューションを使用する利点は次のとおりです。

  • 移植性と相互運用性: Notary Project 署名はOCI 標準 に準拠しており、コンテナー レジストリなどの OCI 準拠レジストリに格納できます。 これらの機能により、クラウド環境間での署名の移植性と相互運用性が容易になります。
  • セキュリティで保護されたキー管理: Azure Key Vault を使用して、署名キーと証明書を管理できます。
  • 継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインとの統合: Azure DevOps や GitHub ワークフローを含む CI/CD パイプラインに署名を実装します。
  • 包括的な検証: CI/CD パイプライン (Azure DevOps や GitHub ワークフローなど) と Azure Kubernetes Service (AKS) 上のコンテナー イメージを検証して、信頼されていないイメージの使用とデプロイを防ぎます。

DCT を無効にする

Notation Project ソリューションに移行する前に、DCT を無効にする必要があります。 次のいずれかの方法を使用します。

  • DOCKER_CONTENT_TRUST環境変数を 0 に設定して、シェルから DCT を無効にします。 たとえば、Bash シェルで次のコマンドを使用します。

    export DOCKER_CONTENT_TRUST=0
    

    もしくは、次の手順で環境変数の設定を解除することもできます。

    unset DOCKER_CONTENT_TRUST
    
  • Azure portal から DCT を無効にします。 レジストリに移動し、[ポリシー] で [コンテンツの信頼>Disabled>Save を選択します

  • Azure CLI を使用して DCT を無効にします。

    az acr config content-trust update -r myregistry --status disabled
    

Notary Project を使用してコンテナー イメージに署名して確認する

DCT を無効にした後、Notary Project を使用してコンテナー イメージに署名して検証できます。 開始するには、次の参考資料をご覧ください。

次の手順でコンテナー イメージに署名します。

次の手順でコンテナー イメージを検証します。