GitLabセルフマネージドContainer Registry
GitLab Self Managed Container Registry を Aikido と連携して、コンテナの既知の脆弱性をスキャンできます。
この機能を有効にするには、以下の簡単な手順に従ってください:
ステップ 1: GitLab アカウントにログインして、必要な情報を収集します。
ユーザー名を確認する必要があります(スクリーンショットを参照)

ステップ 2: コンテナレジストリが存在するグループ ID をコピーします(スクリーンショットを参照)

ステップ 3: Personal Preferences >> Access tokens に移動し、Aikido 用の新しいパーソナルアクセストークンを作成します(直接リンク)。正しいスコープ read_api、read_registry を設定してください
Impersonation Token ではなく、必ず Personal Access Token を作成してください。

ステップ 4: 収集した情報を Aikido に入力します(直接リンク:https://app.aikido.dev/settings/container-image-registry/add/gitlab-self)

ステップ 5: Aikido が、アクセス可能なすべてのコンテナリポジトリを検出して一覧表示します。
ステップ 6: 検出結果の重複排除をより適切に行うため、リポジトリをコードリポジトリにリンクできます。この手順は任意です!
ステップ 7: レジストリの横にあるアクションメニューで「scan repos in registry」をクリックして開始します。結果は Feed に表示されます!
内部ネットワーク上のレジストリを接続する(Broker)
GitLab インスタンスまたはそのコンテナレジストリにインターネットからアクセスできない場合は、Aikido Broker を介して接続してください。
GitLab は通常、コンテナレジストリを GitLab インスタンスとは別のホストで提供します。両方を Broker リソースとして追加してください:
- GitLab インスタンスの URL(例:
https://gitlab.example.com) - レジストリの URL(例:
https://registry.example.com)
レジストリの URL は、GitLab の Deploy > Container Registry、または gitlab.rb の registry_external_url 設定で確認できます。
両方のリソースを Broker に追加する
Broker Clients ページで、GitLab インスタンスの URL とレジストリの URL を Broker クライアントのリソースとして追加します。
GitLab インスタンスの Broker URL を使用する
Aikido のレジストリフォーム(ステップ 4)で、GitLab インスタンスリソースの Broker URL を Instance Url フィールドに入力します。レジストリの Broker URL をどこかに貼り付ける必要はありません。
レジストリをスキャンする
ステップ 7 の説明に従ってスキャンを開始します。
unable to login to registry ... Client.Timeout exceededが表示される場合は、レジストリのホストが Broker リソースに含まれていないか、Broker がそのホストにアクセスできません。Broker のALLOWED_INTERNAL_SUBNETSおよびDNS_SERVERS設定を確認してください。