このページでは、Artifact Analysis のグローバル サービス エンドポイントとリージョン サービス エンドポイント、およびそれらの使用方法について説明します。
サービス エンドポイントは、API サービスのネットワーク アドレスを指定するベース URL です。Artifact Analysis には、グローバル エンドポイントとリージョン エンドポイントの両方があります。
グローバル エンドポイント: デフォルトでは、Artifact Analysis はグローバル エンドポイント
containeranalysis.googleapis.com
に API リクエストを送信します。グローバル エンドポイントでは、転送中のデータが特定のロケーションに保持されることは保証されません。また、サポートされている任意のリージョンからアーティファクト分析データを取得できます。データは、保存されているリージョンの外部で処理される場合があります。リージョン エンドポイント: リージョンの制限を適用するサービス エンドポイント。これにより、データが指定されたリージョンに保存、送信、処理されることが保証されます。リージョン エンドポイントは、影響を受けるリソースがエンドポイントで指定されたロケーションに存在する場合にのみ、リクエストの続行を許可します。リージョン エンドポイントの形式は次のとおりです。
containeranalysis.region.rep.googleapis.com
。リージョン エンドポイントは、次の状況で使用することを検討してください。
データにアクセスする必要があるアプリケーションが、データが保存されているリージョンに地理的に近くない。
複数のロケーションにデータを保存しており、レイテンシ、信頼性、可用性を最適化したい場合。
データが保存されている場所と同じ場所でデータを処理することを義務付けるデータ局所性に関するポリシーまたは規制に準拠する必要があります。
構成証明とビルドの来歴データは、グローバル エンドポイントに保存されます。脆弱性スキャンの結果と SBOM データは、リージョン エンドポイントとマルチリージョン エンドポイントに保存されます。
リージョン エンドポイントをサポートするロケーション
アーティファクト分析でサポートされているほとんどのリージョンでリージョン エンドポイントを使用できます。
マルチリージョンと一部のリージョンでは、Artifact Analysis はグローバル エンドポイントのみをサポートしています。
サポートされているリージョンと、各リージョンでサポートされているサービス エンドポイントの一覧については、メタデータ ストレージのロケーションをご覧ください。
Google Cloud CLI コマンド
gcloud CLI を使用する場合、リージョン エンドポイントにリクエストを送信する方法は 2 つあります。
--location
フラグを使用します。- アーティファクト分析コマンドに使用するデフォルトのリージョン エンドポイントを設定します。
--location
フラグを使用する
--location
フラグを次のいずれかのコマンドとともに使用すると、リクエストを適切なサービス エンドポイントに転送できます。
- gcloud artifacts sbom export
- gcloud artifacts sbom list
- gcloud artifacts sbom load
- gcloud artifacts version describe
- gcloud artifacts vulnerabilities list
- gcloud artifacts vulnerabilities load-vex
リージョン エンドポイントでリクエストを正常に処理するには、指定されたロケーションが次の要件を満たしている必要があります。
- ロケーションがリージョン エンドポイントをサポートしている。
- ロケーションは、アーティファクト メタデータが保存されているリージョンと一致します。
--location
フラグを省略するか、リージョン エンドポイントをサポートしていないロケーションを指定すると、コマンドはグローバル エンドポイントを使用します。
たとえば、次のコマンドは、us-east1
に保存されているイメージの脆弱性を一覧表示します。
gcloud artifacts vulnerabilities list --location=us-east1 us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:49765698074d6d7baa82f
コマンドのデフォルト エンドポイントを設定する
デフォルトでは、gcloud CLI コマンドはグローバル エンドポイントを使用します。Artifact Analysis コマンドにデフォルトのリージョン エンドポイントを設定すると、個々のコマンドでロケーションを指定する必要がなくなります。
gcloud CLI 402.0.0 以降を使用していることを確認します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: メタデータが保存されているリージョン。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com
Windows(PowerShell)
gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com
Windows(cmd.exe)
gcloud config set api_endpoint_overrides/containeranalysis https://containeranalysis.LOCATION.rep.googleapis.com
API メソッドにリージョン エンドポイントを使用する
グローバル エンドポイントではなく、リージョン エンドポイントを指定します。たとえば、次の例では、指定されたリージョン内の発生をリストします。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: メタデータが保存されているリージョン。
- PROJECT_ID: Google Cloud プロジェクトのプロジェクト ID。
HTTP メソッドと URL:
GET https://containeranalysis.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/occurrences
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
occurrences: [ { name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f" resource_uri: "https://us-east1-docker.pkg.dev/my-project/my-repo/my-image@sha256:b487c4da45ce363eef69d9c066fa26f6666e4f3c9c414d98d1e27bfcc949e544" note_name: "projects/goog-vulnz/locations/us-east1/notes/CVE-2018-1272" kind: VULNERABILITY ... }
リージョン メタデータ ストレージへの移行前は、発生とメモの識別子に場所名が含まれていませんでした。新しいスキャンではメタデータがリージョンに保存されるため、グローバル エンドポイントまたはリージョン エンドポイントを使用する API リクエストは、位置情報識別子を含む結果を返します。
移行前の発生 ID は次の例のようになります。
name: "projects/my-project/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
us-east1
に格納された同じ出現は次のようになります。
name: "projects/my-project/locations/us-east1/occurrences/030b7805-eca4-4739-9a43-ec65ed98c61f"
次のステップ
- 各ロケーションのメタデータ ストレージのロケーションとサポートされているサービス エンドポイントを確認します。