このドキュメントでは、メモとオカレンスの更新通知を設定する方法について説明します。
Artifact Analysis は、自動スキャンで見つかった脆弱性とその他のメタデータについて、Pub/Sub 経由で通知を送信します。メモやオカレンスが作成または更新されると、それぞれの API バージョンの対応トピックにメッセージがパブリッシュされます。使用している API バージョンのトピックを使用します。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- プロジェクトのメタデータのアクセス制御を設定する方法を確認する。Artifact Analysis コンテナ スキャンによって作成された脆弱性オカレンスのメタデータのみを使用する場合は、この手順をスキップします。
Pub/Sub トピックを作成する
Artifact Analysis API を有効にすると、Artifact Analysis は次のトピック ID を持つ Pub/Sub トピックを自動的に作成します。
container-analysis-notes-v1
container-analysis-occurrences-v1
誤って削除したトピックや見つからないトピックは自分で追加できます。たとえば、Google Cloud 組織に、顧客管理の暗号鍵(CMEK)による暗号化が必要な組織のポリシーの制約がある場合、トピックが存在しない可能性があります。Pub/Sub API がこの制約の拒否リストに含まれている場合、サービスは、Google が管理する暗号鍵を使用してトピックを自動的に作成することはできません。
Google が所有し管理する鍵を使用してトピックを作成するには:
Console
Google Cloud コンソールで Pub/Sub トピックページに移動します。
[トピックを作成] をクリックします。
トピック ID を入力します。
container-analysis-notes-v1
名前が URI と一致するようにします。
projects/PROJECT_ID/topics/container-analysis-notes-v1
ここで PROJECT_ID は、Google Cloud プロジェクト ID です。
[作成] をクリックします。
トピック ID を入力します。
container-analysis-occurrences-v1
名前が URI と一致するようにします。
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
シェルまたはターミナル ウィンドウで次のコマンドを実行します。
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-notes-v1
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud pubsub topics
コマンドについて詳しくは、topics
ドキュメントをご覧ください。
CMEK 暗号化を使用してトピックを作成するには、Pub/Sub のトピックを暗号化する手順をご覧ください。
メモまたはオカレンスが作成または更新されるたびに、それぞれのトピックにメッセージがパブリッシュされます。ただし、イベントをリッスンして Pub/Sub サービスからメッセージを受信するには、Pub/Sub サブスクリプションも作成する必要があります。
Pub/Sub サブスクリプションの作成
イベントをリッスンするには、そのトピックに関連付けられた Pub/Sub サブスクリプションを作成します。
Console
Google Cloud コンソールで Pub/Sub サブスクリプション ページに移動します。
[サブスクリプションを作成] をクリックします。
サブスクリプションの名前を入力します(例: notes)。
メモに対応するトピックの URI を入力します。
projects/PROJECT_ID/topics/container-analysis-notes-v1
ここで PROJECT_ID は、Google Cloud プロジェクト ID です。
[作成] をクリックします。
URI を使用して、オカレンスの別のサブスクリプションを作成します。
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Pub/Sub イベントを受信するには、container-analysis-occurrences-v1
トピックに関連付けられたサブスクリプションを作成する必要があります。
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
新しいサブスクリプションを使用して、オカレンスに関するメッセージを pull できるようになります。
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Artifact Analysis のクライアント ライブラリをインストールして使用する方法については、Artifact Analysis のクライアント ライブラリをご覧ください。 詳細については、Artifact Analysis Java API のリファレンス ドキュメントをご覧ください。
Artifact Analysis に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Artifact Analysis のクライアント ライブラリをインストールして使用する方法については、Artifact Analysis のクライアント ライブラリをご覧ください。 詳細については、Artifact Analysis Go API のリファレンス ドキュメントをご覧ください。
Artifact Analysis に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Artifact Analysis のクライアント ライブラリをインストールして使用する方法については、Artifact Analysis のクライアント ライブラリをご覧ください。 詳細については、Artifact Analysis Node.js API のリファレンス ドキュメントをご覧ください。
Artifact Analysis に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Artifact Analysis のクライアント ライブラリをインストールして使用する方法については、Artifact Analysis のクライアント ライブラリをご覧ください。 詳細については、Artifact Analysis Ruby API のリファレンス ドキュメントをご覧ください。
Artifact Analysis に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Artifact Analysis のクライアント ライブラリをインストールして使用する方法については、Artifact Analysis のクライアント ライブラリをご覧ください。 詳細については、Artifact Analysis Python API のリファレンス ドキュメントをご覧ください。
Artifact Analysis に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
サブスクライバー アプリケーションは、サブスクリプションの作成後にトピックにパブリッシュされたメッセージのみを受信します。
Pub/Sub ペイロードは JSON 形式で、スキーマは次のとおりです。
注記:
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
オカレンス:
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
ここで
- NOTE_KIND は、
NoteKind
の値の 1 つです。 - NOTIFICATION_TIME は、RFC 3339 UTC Zulu 形式のタイムスタンプ(精度はナノ秒)です。
詳細を表示
メモや発生について詳しくは、アーティファクト分析に保存されているメタデータにアクセスしてください。たとえば、特定の発生に関するすべての詳細をリクエストできます。脆弱性の調査の手順をご覧ください。
次のステップ
Artifact Analysis を使用してカスタム メタデータを保存および管理する方法については、カスタムメモとオカレンスを作成するをご覧ください。
脆弱性スキャンで証明書を使用すると、既知のセキュリティ問題を伴うイメージがデプロイ環境で実行されないようにできます。これを行う手順については、Kritis Signer で証明書を作成するをご覧ください。