このドキュメントでは、 メモとオカレンスの更新通知を設定する方法について説明します。
Artifact Analysis は、 脆弱性について、自動スキャンで見つかったものと その他のメタデータについて、Pub/Sub 経由で通知を送信します。メモやオカレンスが作成または更新されると、それぞれの API バージョンの対応トピックにメッセージがパブリッシュされます。使用している API バージョンのトピックを使用します。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Container Analysis API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Container Analysis API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します:
gcloud init - プロジェクトのメタデータの アクセス制御を設定する方法を確認します。Artifact Analysis コンテナ スキャンで作成されたオカレンスのメタデータのみを使用する場合は、この手順をスキップしてください。
Pub/Sub トピックを作成する
Artifact Analysis API を有効にすると、Artifact Analysis は次のトピック ID を使用して Pub/Sub トピックを自動的に作成します。
container-analysis-notes-v1container-analysis-occurrences-v1
誤って削除したトピックや見つからないトピックは自分で追加できます。たとえば、組織に顧客管理の暗号鍵(CMEK)による暗号化が必要な Google Cloud 組織のポリシーの制約がある場合、トピックが存在しない可能性があります。Pub/Sub API がこの制約の拒否リストに含まれている場合、サービスは を使用してトピックを自動的に作成することはできません。Google-owned and Google-managed encryption keys
を使用してトピックを作成するには Google-owned and Google-managed encryption keys:
コンソール
コンソールで Pub/Sub トピックページに移動します。 Google Cloud
[トピックを作成] をクリックします。
トピック 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 サブスクリプションを作成します。
コンソール
コンソールで Pub/Sub サブスクリプション ページに移動します。Google Cloud
[サブスクリプションを作成] をクリックします。
サブスクリプションの名前を入力します(例: 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 に保存されているメタデータにアクセスできます。たとえば、特定のオカレンスの詳細をすべてリクエストできます。手順については、 脆弱性の調査をご覧ください。
次のステップ
- Artifact Analysis を使用して カスタム メタデータを保存および管理する方法については、 カスタムのメモとオカレンスを作成するをご覧ください。