Security Centerを使用してイメージをスキャンする前に、Security Centerにイメージリポジトリを追加する必要があります。 このトピックでは、Security Centerにイメージリポジトリを追加する方法について説明します。
制限事項
この機能をサポートしているのは、Security CenterのUltimateエディションのみです。 Security Centerの購入とアップグレード方法の詳細については、「Security Centerの購入」および「Security Centerのアップグレードとダウングレード」をご参照ください。
制限事項
次のタイプのイメージリポジトリをSecurity Centerに追加できます。
Container Registry Enterprise EditionおよびContainer Registry Personal Editionのイメージリポジトリ。
これらのイメージリポジトリ内のイメージに関する情報をSecurity Centerに同期できます。 Security CenterはContainer Registry Enterprise Editionのイメージのみをスキャンできます。
サードパーティのイメージリポジトリ: Harbor、Quay、およびGitLabリポジトリ。
前提条件
Security Center Ultimateが購入され、コンテナーイメージスキャン機能が有効になります。 詳細については、「セキュリティセンターの購入」および「コンテナーイメージスキャンの有効化」をご参照ください。
Container RegistryのイメージリポジトリをSecurity Centerに追加する
Container Registry Personal Editionを使用する場合、インスタンスの作成後にContainer Registry Personal EditionインスタンスのイメージリポジトリをSecurity Centerに追加できます。 Container Registry Enterprise Editionを使用している場合、Container Registry Enterprise EditionインスタンスのイメージリポジトリをSecurity Centerに追加できるのは、インスタンスの仮想プライベートクラウド (VPC) アクセス制御リスト (ACL) を設定した後だけです。 詳細については、「VPC ACLの設定」をご参照ください。
次のいずれかの方法を使用して、Container Registry Enterprise EditionおよびContainer Registry Personal Editionのイメージリポジトリ内のイメージに関する情報を同期できます。
自動同期: セキュリティセンターは、毎日早朝に情報を自動的に同期します。
手動同期: 最新の情報を手動で同期できます。 詳細については、「コンテナーに関するセキュリティ情報の表示」をご参照ください。
サードパーティのイメージリポジトリをSecurity Centerに追加する
イメージリポジトリのアクセス制御ポリシーを作成する場合は、イメージリポジトリが存在するリージョンのIPアドレスプールからのアクセスがアクセス制御ポリシーで許可されていることを確認してください。
サードパーティのイメージサービスがデータセンターにデプロイされ、VPC経由で接続されている場合は、イメージサービス宛てのトラフィックを転送する必要があります。 この場合、ECS (Elastic Compute Service) インスタンスを使用して、サードパーティのイメージサービスがデプロイされているデータセンターのサーバーにトラフィックを転送する必要があります。
次のサンプルコマンドでは、ECSインスタンスのポートAのトラフィックは、IPアドレス192.168.XX.XXを使用するオンプレミスサーバーのポートBに転送されます。
CentOS 7のサンプルコマンド
ファイアウォール-cmdを使用する
firewall-cmd --permanent --add-forward-port=port=<Port A>:proto=tcp:toaddr=<192.168.XX.XX>:toport=<Port B>
iptablesを使う:
ポート転送を有効にします。
echo "1" > /proc/sys/net/ipv4/ip_forward
ポート転送を設定します。
iptables -t nat -A PREROUTING -p tcp --dport <Port A> -j DNAT --to-destination <192.168.XX.XX>:<Port B>
Windowsのサンプルコマンド
netsh interface portproxy add v4tov4 listenport=<Port A> listenaddress=* connectaddress=<192.168.XX.XX> connectport=<Port B> protocol=tcp
Security Center コンソールにログインします。 上部のナビゲーションバーで、管理するアセットのリージョンを選択します。 中国 または 全世界 (中国を除く) を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
[コンテナー] ページで、[画像] タブをクリックします。 このタブで、[サードパーティのイメージリポジトリの追加] の下の [追加] をクリックします。
では、イメージリポジトリの追加パネル、次のパラメータを設定し、次へ.
パラメーター
説明
Private Repository Type
サードパーティのイメージリポジトリのタイプ。 有効な値: harbor、quay、gitlab
バージョン
サードパーティのイメージリポジトリのバージョン。 有効な値:
V1: イメージリポジトリのバージョンが1.X. Xの場合、このオプションを選択します。
V2: イメージリポジトリのバージョンが2.X. X以降の場合、このオプションを選択します。
Private Repository Type としてgitlabを選択した場合、V1がデフォルトのオプションであり、変更できません。
通信タイプ
Security Centerがサードパーティのイメージリポジトリと通信するために使用するプロトコル。 有効な値:
http
https
ネットワークタイプ
サードパーティのイメージリポジトリのネットワークタイプ。 有効な値:
インターネット
[VPC]
RegionId
サードパーティのイメージリポジトリが存在するリージョンのID。
IP
サードパーティのイメージリポジトリのIPアドレスとポート番号。 イメージサービスにトラフィック転送ルールを設定した場合、IPパラメーターとポート番号を、イメージサービス宛てのトラフィックを転送するECSインスタンスのIPパラメーターとポート番号に設定する必要があります。
ポート
ドメイン名
サードパーティのイメージリポジトリのドメイン名。
速度制限
1時間あたりにセキュリティセンターに追加できる画像の数。 デフォルト値: 10
重要1時間に大量の画像が追加されると、サービスに悪影響を及ぼす可能性があります。 ほとんどの場合、このパラメーターをUnlimitedに設定することはお勧めしません。
ユーザー名
管理者権限を持ち、サードパーティのイメージリポジトリへのアクセスに使用されるアカウントのユーザー名。
Password
アカウントのパスワードを入力します。
Quay Namespace Information
このパラメーターは、Private Repository Typeをquayに設定した場合にのみ必要です。
Image Repository Organization フィールドに、イメージリポジトリが属する組織の名前を入力します。 Auth_tokenフィールドに、組織に対応するAuth_tokenを入力します。
[追加] をクリックすると、複数のイメージリポジトリが属する組織を指定できます。
GitLab Group Information
このパラメーターは、Private Repository Typeをgitlabに設定した場合にのみ必要です。
[グループ情報] フィールドに、イメージリポジトリが属するグループの名前を入力します。 [Access_token] フィールドに、グループに対応するAccess_tokenを入力します。
[追加] をクリックすると、複数のイメージリポジトリが属するグループを指定できます。
サードパーティのイメージリポジトリがセキュリティセンターに追加された後、イメージセキュリティページの右上隅にある スキャンの設定 をクリックすると、追加されたイメージリポジトリに関する情報が スキャンの設定 パネルに表示されます。 イメージセキュリティページに移動するには、左側のナビゲーションウィンドウで
を選択します。
エラーコード
エラーコード | エラーメッセージ | 解決策 |
FailedToVerifyUsernameOrPwd | ユーザー名またはパスワードが無効な場合に返されるエラーメッセージ。 | ユーザー名とパスワードが正しいかどうかを確認してください。 |
RegistryVersionError | イメージリポジトリのバージョンが無効な場合に返されるエラーメッセージ。 | イメージリポジトリのバージョンが有効かどうかを確認します。 |
UserDoesNotHaveAdminRole | 管理者権限がない場合に返されるエラーメッセージ。 | ハーバーリポジトリがデプロイされているサーバーにログオンし、管理者権限を取得します。 |
NetworkConnectError | ネットワーク接続がタイムアウトした場合に返されるエラーメッセージ。 | ネットワークに接続できるかどうか、ポート80またはポート443が有効かどうかを確認します。 |
次のステップ
イメージリポジトリがSecurity Centerに追加されると、イメージリポジトリ内のイメージはSecurity Centerによって保護されます。 画像に関する情報は、コンテナーページの [画像] タブで確認できます。 詳細については、「コンテナーに関するセキュリティ情報の表示」をご参照ください。
Security Centerを使用して、イメージリポジトリ内のイメージのリスクをスキャンする必要があります。 詳細については、「イメージのスキャン」をご参照ください。