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.
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
如要初始化 gcloud CLI,請執行下列指令:
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.
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
如要初始化 gcloud CLI,請執行下列指令:
gcloud init
- 瞭解如何為專案中的中繼資料設定存取權控管。如果您只使用 Artifact Analysis 容器掃描建立的安全漏洞例項中繼資料,請略過這個步驟。
container-analysis-notes-v1
container-analysis-occurrences-v1
前往 Google Cloud 控制台的 Pub/Sub 主題頁面。
按一下 [Create Topic] (建立主題)。
輸入主題 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
前往Google Cloud 控制台的 Pub/Sub 訂閱項目頁面。
按一下 [Create Subscription] (建立訂閱項目)。
輸入訂閱方案名稱。例如「備註」。
輸入註記的主題 URI:
projects/PROJECT_ID/topics/container-analysis-notes-v1
其中 PROJECT_ID 是您的 Google Cloud 專案 ID。
點選「建立」。
使用 URI 替例項建立另一個訂閱項目:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
- NOTE_KIND 是
NoteKind
中的一個值。 - NOTIFICATION_TIME 是採用 RFC 3339 UTC Zulu 格式的時間戳記,精確度達奈秒單位。
如要瞭解如何使用 Artifact Analysis 儲存及管理自訂中繼資料,請參閱「建立自訂附註和發生事項」。
您可以搭配使用驗證和安全漏洞掃描,避免在部署環境中執行具有已知安全問題的映像檔。如需操作說明,請參閱「透過 Kritis Signer 建立認證」。
建立 Pub/Sub 主題
啟動 Artifact Analysis API 後,Artifact Analysis 會自動建立 Pub/Sub 主題,主題 ID 如下:
如果不慎刪除或遺失主題,您可以自行加入。舉例來說,如果貴機構設有 Google Cloud組織政策限制,要求使用客戶自管加密金鑰 (CMEK) 加密,主題可能就會遺失。如果 Pub/Sub API 位於這項限制的拒絕清單中,服務就無法使用Google-owned and Google-managed encryption keys自動建立主題。
如要使用 Google-owned and Google-managed encryption keys建立主題,請按照下列步驟操作:
控制台
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 訂閱項目:
控制台
gcloud
如要接收 Pub/Sub 事件,您必須先建立與 container-analysis-occurrences-v1
主題相關聯的訂閱項目:
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
您之後可以使用新訂閱提取有關例項的訊息:
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
如要瞭解如何安裝及使用 Artifact Analysis 的用戶端程式庫,請參閱這篇文章。 詳情請參閱 Artifact Analysis Java API 參考說明文件。
如要向 Artifact Analysis 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
如要瞭解如何安裝及使用 Artifact Analysis 的用戶端程式庫,請參閱這篇文章。 詳情請參閱 Artifact Analysis Go API 參考說明文件。
如要向 Artifact Analysis 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
如要瞭解如何安裝及使用 Artifact Analysis 的用戶端程式庫,請參閱這篇文章。 詳情請參閱 Artifact Analysis Node.js API 參考說明文件。
如要向 Artifact Analysis 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Ruby
如要瞭解如何安裝及使用 Artifact Analysis 的用戶端程式庫,請參閱這篇文章。 詳情請參閱 Artifact Analysis Ruby API 參考說明文件。
如要向 Artifact Analysis 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝及使用 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", }
其中:
查看詳細資料
如要進一步瞭解附註或事件,可以存取儲存在構件分析中的中繼資料。舉例來說,您可以要求取得特定事件的所有詳細資料。請參閱「調查安全漏洞」一文中的操作說明。