コンテンツにスキップ

Google Cloud Artifact Registryとの連携

Google Cloud Artifact Registryを中間層として構成することで、レジストリのトラフィックをAikidoのレジストリプロキシ経由でルーティングできます。Artifact Registryはパブリックレジストリの代わりにAikidoからパッケージを取得するため、チームがインストールするすべてのパッケージがマルウェア、公開期間の制限、既知の脆弱性についてチェックされます。

Settings > Registry Proxyに移動し、エコシステムを選択してアップストリームプロキシURLをコピーします

Artifact Registryにリモートリポジトリを作成する

Section titled “Artifact Registryにリモートリポジトリを作成する”
  1. Google Cloud ConsoleでArtifact Registry > Repositoriesに移動します。
  2. Create Repositoryをクリックします。
  3. リポジトリに名前を付けます(例: aikido)。
  4. Formatをエコシステム(npm、Python、またはMaven)に合わせて設定します。
  5. Repository modeRemoteに設定します。
  6. Remote repository sourceCustomを選択します。
  7. Custom repositoryフィールドに、手順1で取得したAikidoプロキシURLを貼り付けます。
  8. Remote repository authentication modeUnauthenticatedに設定します。
  9. Regionを選択し、Createをクリックします。

(任意)仮想リポジトリを作成する

Section titled “(任意)仮想リポジトリを作成する”

Artifact Registry内のStandardリポジトリにも内部パッケージを公開している場合は、両方を集約するVirtual Repositoryを作成します。

  1. Artifact Registry > Repositories > Create Repositoryに移動します。
  2. Formatをリモートリポジトリに合わせて設定し、Repository modeVirtualに設定します。
  3. Standardリポジトリと、手順2のRemoteリポジトリをアップストリームリポジトリとして追加します。
  4. 各アップストリームに優先度を割り当てます。複数のアップストリームにパッケージが存在する場合、優先度が高い方が優先されます。
  5. パッケージマネージャーをVirtual RepositoryのURLに向けるよう変更します。

これにより、チームは内部パッケージとAikido経由で外部プロキシされたパッケージの両方を提供する単一のレジストリエンドポイントを利用できます。

開発者のマシンでArtifact Registryを使用するよう設定する

Section titled “開発者のマシンでArtifact Registryを使用するよう設定する”

各開発者のパッケージマネージャーをArtifact Registryのリポジトリ(作成した場合はVirtual Repository)に向けます。正確な手順についてはGoogle Cloudのドキュメントを参照してください。

npm

npm用の認証を構成する

Python

Python用の認証を構成する

Maven

Maven用の認証を構成する

(任意)Device Protectionでパブリックレジストリをブロックする

Section titled “(任意)Device Protectionでパブリックレジストリをブロックする”

Artifact Registryを導入しても、開発者がパッケージマネージャーをパブリックレジストリに直接向けることで迂回することは可能です。Aikido Device Protectionを導入して、すべてのトラフィックがプライベートレジストリを経由するように強制してください。

パブリックパッケージレジストリのブロック