Container Registry への接続の保護
プライベート・ネットワーク接続を使用して、IBM Cloud® Container Registry のデータを安全にルーティングできます。
本番ワークロードにクラウドベースのサービスを使用する場合、安全なプライベート接続を使用することで、コンプライアンス規制を確実に遵守することができます。 IBM Cloud サービス・エンドポイントを使用して、プライベート IBM Cloud ネットワークで IBM Cloud サービスに接続できます。
サービス・エンドポイントを使用すると、プライベート IBM Cloud ネットワークで、異なる IBM Cloud サービスとユーザーのレジストリー間のネットワーク・トラフィックを安全にルーティングすることが簡単になります。 このネットワーク・ルーティングにより、データがパブリック・インターネット上に送信されないようにすることができます。
IBM Cloud サービス・エンドポイントについて詳しくは、サービス・エンドポイントを使用したサービスへのセキュアなアクセスを参照してください。
プライベート・ネットワーク接続の使用
イメージのプッシュおよびプル用のプライベート・ネットワーク接続をセットアップできるように、正しい権限でアカウントをセットアップする必要があります。
IBM Cloud Container Registry はマルチテナント・オファリングであるため、プライベート接続を介してレジストリーに接続するために独自のサービス・エンドポイントを作成する必要はありません。
アカウントのサービス・エンドポイント・サポートの有効化
プライベート・ネットワークから IBM Cloud サービスに接続するには、以下の基準を満たす必要があります。
- クラシック・インフラストラクチャーにアクセスできることが必要です。
- アカウントのサービス・エンドポイントへの 仮想ルーティングおよび転送 (VRF) および接続を有効にする必要があります。
- 支払請求可能なアカウントを持っている必要もあります。
IBM Cloud アカウントで仮想ルーティングおよび転送 (VRF) エンドポイント、およびサービス・エンドポイントを有効にするには、VRF エンドポイントおよびサービス・エンドポイントの使用を参照してください。
プライベート・ネットワーク接続に関する考慮事項
-
プライベート・ドメイン名は、
container-registry
CLI プラグインでは使用されません。 プライベート・ドメイン・ネームでイメージをプッシュし、パブリック接続で CLI を使用してibmcloud cr images
コマンドを実行すると、そのイメージは同じパブリック・ドメイン・ネームを持つ他のすべてのイメージとともにリストされます。 -
プライベート IBM Cloud Kubernetes Service クラスターをお持ちの場合は、何も変更する必要はありません。IBM Cloud Kubernetes Service はプライベート接続を使用するため、パブリック・ドメイン名によって参照される接続は修正済みです。 この動作は変わりません。
- IBM Cloud Kubernetes Service を使用する場合は、プライベート・レジストリー・ドメイン名を使用して、プライベート・クラスターからイメージを任意で参照できます。 ただし、追加のドメイン・ネーム用には、さらに
imagePullSecrets
を作成する必要があります。レジストリーからのイメージのプルをクラスターに許可する方法を参照してください。
- IBM Cloud Kubernetes Service を使用する場合は、プライベート・レジストリー・ドメイン名を使用して、プライベート・クラスターからイメージを任意で参照できます。 ただし、追加のドメイン・ネーム用には、さらに
-
プライベート接続を使用したイメージのプルに関して、プル・トラフィックは課金されません。
-
イメージ署名 を使用していて、プライベート・ドメイン名を使用したい場合は、お持ちのイメージに再署名する必要があります。これは、ドメイン名が署名済み成果物の一部を形成しているためです。
イメージのプッシュおよびプル
イメージのプッシュとプルができるように、プライベート接続が使用可能となっています。 同じ icr.io
ドメイン・ネームを接頭部 private.
とともに使用します。リージョンを参照してください。
IBM Cloud Container Registry CLI を使用して、イメージ管理操作にプライベート接続を使用することはできません。
docker login
コマンドを実行してレジストリーでの認証を行います。 API_KEY
を APIキーにAPIリクエストの認証と承認に使用される固有のコード。 このコードは、呼び出し元のアプリケーションまたはユーザーを識別し、APIの使用状況を追跡・管理するためにAPIに渡されます。、
PRIVATE_REGISTRY_DOMAIN
をネームスペースが設定されているプライベートドメイン名に置き換えてください。 プライベート・ドメイン・ネームについては、 リージョン で説明されています。
docker login -u iamapikey -p API_KEY PRIVATE_REGISTRY_DOMAIN
IBM Cloud Container Registry は、Docker と同様にさまざまなクライアントもサポートします。 他のクライアントを使用してログインするには、自動化での名前空間へのアクセスを参照してください。
詳細については、IBM Cloud Container Registry へのアクセスの自動化を参照してください。
アカウントへのアクセスの適用
IAM コンテキスト・ベースの制限 を使用して、特定のネットワーク・ゾーン (VPC やプライベート・ネットワークなど) の外部にある IP アドレスからのイメージのプルやプッシュを防止できます。