> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/sonono/private-registries/gcp-artifact-registry.md).

# Google Cloud Artifact Registry

Google Cloud Artifact Registry を仲介として設定し、Aikido のレジストリプロキシ経由でレジストリトラフィックをルーティングします。Artifact Registry は公開レジストリではなく Aikido からパッケージを取得するため、チームがインストールするすべてのパッケージがマルウェア、年齢制限、既知の脆弱性についてチェックされます。

{% hint style="warning" %}
Artifact Registry は NuGet をサポートしていないため、この方法で NuGet パッケージを Aikido 経由にルーティングすることはできません。
{% endhint %}

{% stepper %}
{% step %}

### Aikido のプロキシ URL を取得する

に移動し [設定 > レジストリプロキシ](https://app.aikido.dev/issues/fix/extended-lifecycle-support/setup-instructions)、対象のエコシステムを選択して、上流プロキシ URL をコピーします

<figure><img src="/files/5d6549f477bbae991fd832fa32087095797656d5" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

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

1. Google Cloud Console で、次へ移動します **Artifact Registry > リポジトリ**.
2. クリック **リポジトリを作成**.
3. リポジトリに名前を付けます。たとえば `aikido`.
4. 設定する **形式** を使用して、あなたのエコシステム（npm、Python、または Maven）に合わせます。
5. 設定する **リポジトリ モード** から **リモート**.
6. の下で **リモート リポジトリのソース**、次を選択します **カスタム**.
7. で **カスタム リポジトリ** フィールドに、手順 1 で取得した Aikido プロキシ URL を貼り付けます。
8. 設定する **リモート リポジトリの認証モード** から **認証なし**.
9. 次の項目を選択 **リージョン** をクリックし **作成**.

{% hint style="warning" %}
次の **カスタム リポジトリ URL** は作成後に変更できません。変更が必要な場合は、リポジトリを削除して新しいものを作成してください。
{% endhint %}
{% endstep %}

{% step %}

### （任意）仮想リポジトリを作成する

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

1. に移動し **Artifact Registry > リポジトリ > リポジトリを作成**.
2. 設定する **形式** を使用して、リモート リポジトリと **リポジトリ モード** から **Virtual**.
3. 手順 2 の Standard リポジトリとリモート リポジトリを upstream リポジトリとして追加します。
4. 各 upstream に優先度を割り当てます。パッケージが複数の upstream に存在する場合は、より高い優先度が優先されます。
5. 代わりに、パッケージ マネージャーを Virtual リポジトリの URL に向けてください。

これにより、Aikido を通じて内部パッケージと外部プロキシパッケージの両方を提供する、単一のレジストリエンドポイントをチームに提供できます。
{% endstep %}

{% step %}

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

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

{% tabs %}
{% tab title="npm" %}
[npm の認証を設定する](https://cloud.google.com/artifact-registry/docs/nodejs/authentication)
{% endtab %}

{% tab title="Python" %}
[Python の認証を設定する](https://cloud.google.com/artifact-registry/docs/python/authentication)
{% endtab %}

{% tab title="Maven" %}
[Maven の認証を設定する](https://cloud.google.com/artifact-registry/docs/java/authentication)
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### （任意）Device Protection で公開レジストリをブロックする

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

{% content-ref url="/pages/7fa47c5a1ee5b3c664f0ab37ca9a23372513ddeb" %}
[公開パッケージレジストリをブロックする](/docs/docs-ja/aikido-device-protection/using-aikido-endpoint/block-public-package-registries.md)
{% endcontent-ref %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/sonono/private-registries/gcp-artifact-registry.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
