copyright: years: 2020, 2025 lastupdated: "2025-09-19"

keywords: Secrets Manager的事件通知,Secrets Manager的事件通知,Secrets Manager 的警示

subcollection: secrets-manager


啟用 Secrets Manager 的事件通知

身為 IBM Cloud® Secrets Manager的管理者,您可能想要使用電子郵件、SMS 或其他支援的遞送通道,將 Secrets Manager 中的事件通知傳送給其他使用者或人工目的地。 此外,您可能想要將這些事件通知傳送至其他應用程式,以使用事件驅動程式設計來建置邏輯,例如使用 Webhook。 這可以透過 Secrets Manager 與 IBM Cloud® Event Notifications之間的整合來達成。

若要將資訊傳送至 Event Notifications,您必須將 Secrets Manager 服務實例連接至 Event Notifications。 如需使用 Event Notifications的相關資訊,請參閱 開始使用 Event Notifications

如果您決定刪除 Secrets Manager 服務實例,也請移除 Event Notifications 服務實例中作為來源的 Secrets Manager。

Secrets Manager 如何收集及傳送事件

當您的 Secrets Manager 實例中發生感興趣的事件時,Secrets Manager 會與連接的 Event Notifications 實例通訊,以將通知轉遞至 支援的目的地

Secrets Manager 會依 事件類型、密鑰類型及期限詳細資料 (如果適用的話) 來聚集擱置通知的清單。 每隔 1-2 分鐘,服務會檢查並分派任何擱置通知給已連接的 Event Notifications 服務。 例如,您可能會收到類似下列訊息的通知:

  • 您有 1 個任意密鑰在 1 天後到期。
  • 您有 5 個公用憑證密碼,將在 10 天後到期。
  • 您有 100 個匯入的憑證密碼將在 30 天後到期。

100 是您可以在單一事件通知中收到通知的密鑰數目上限。

Secrets Manager 的事件

下表列出產生事件的 Secrets Manager 動作。

視您在服務中使用的密鑰類型而定,Secrets Manager可能不會產生事件。 例如,如果憑證設為在 24 小時內到期,則您不會收到通知。 如需相關資訊,請參閱 依密鑰類型列出的事件

產生事件通知的操作
事件名稱 事件類型 子類型 說明 嚴重性層次
已建立密鑰 com.ibm.cloud.secrets-manager.secret_created 將密鑰新增至實例時,會傳送事件。 low
密鑰建立失敗 com.ibm.cloud.secrets-manager.secret_creation_failed 當建立密鑰的要求失敗時,會傳送事件。 low
已輪換密鑰 com.ibm.cloud.secrets-manager.secret_rotated 當密鑰旋轉且新版本變成可用時,即會傳送事件。 low
密鑰輪替失敗 com.ibm.cloud.secrets-manager.secret_rotation_failed 當要求輪替密鑰失敗時,會傳送事件。 high
密鑰 90 天後到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_90_days 當密鑰到期後 90 天時,會傳送事件。 high
密鑰 60 天後到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_60_days 當密鑰到期後 60 天時,會傳送事件。 high
密鑰在 30 天後到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_30_days 當密鑰到期後 30 天時,會傳送事件。 high
密鑰在 10 天後到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_10_days 當密鑰從到期開始 10 天時,即會傳送事件。 high
密鑰在 1 天後到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_1_day 當密鑰從到期開始算起 1 天時,會傳送事件。 high
密鑰在 1 天內到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_0_days 當密鑰從到期開始不到 1 天時,即會傳送事件。 high
密鑰已過期 com.ibm.cloud.secrets-manager.secret_expired 當密鑰達到其到期日和時間時,會傳送事件。 high
已撤銷密鑰 com.ibm.cloud.secrets-manager.secret_revoked 當密鑰版本在排定到期之前撤銷時,會傳送事件。 low
已刪除密鑰 com.ibm.cloud.secrets-manager.secret_deleted 從 Secrets Manager 實例刪除密鑰時,會傳送事件。 low
密鑰刪除失敗 com.ibm.cloud.secrets-manager.secret_deletion_failed 當刪除密鑰的要求失敗時,會傳送事件。 high
已封鎖密鑰刪除 com.ibm.cloud.secrets-manager.secret_deletion_blocked 因為密鑰已鎖定而無法刪除時,會傳送事件。 low
已封鎖密鑰撤銷 com.ibm.cloud.secrets-manager.secret_revocation_blocked 因為密鑰已鎖定而無法撤銷時,會傳送事件。 low
已封鎖密鑰旋轉 com.ibm.cloud.secrets-manager.secret_rotation_blocked 當密鑰因為已鎖定而無法輪替時,會傳送事件。 low
已封鎖密鑰有效期限 com.ibm.cloud.secrets-manager.secret_expiration_blocked 當密鑰因為已鎖定而無法到期時,會傳送事件。 high
已移除密鑰資料 com.ibm.cloud.secrets-manager.secret_data_removed 移除密鑰的資料時,會傳送事件。 low
已刪除密鑰版本資料 com.ibm.cloud.secrets-manager.secret_version_data_deleted 刪除密鑰版本的資料時,會傳送事件。 low
建立秘密任務 com.ibm.cloud.secrets-manager.secret_task_created 為秘密建立任務時,會傳送事件。 low
秘密任務成功 com.ibm.cloud.secrets-manager.secret_task_succeeded 當任務成功完成時會傳送事件。 low
秘密任務失敗 com.ibm.cloud.secrets-manager.secret_task_failed 當任務失敗時會傳送事件。 high
秘密任務已刪除 com.ibm.cloud.secrets-manager.secret_task_deleted 刪除工作時會傳送事件。 low
測試事件 com.ibm.cloud.secrets-manager.test_event 將測試通知轉遞至 Event Notifications時,會傳送事件。 low

secret_about_to_expire 事件只會在指定的日期傳送一次。 這意味著,如果您指定機密在 10 天後過期,則當機密還剩 10 天時您會收到通知。 您在任何其他時間都不會收到通知,例如,當密鑰還剩 9 天時。

支援的密鑰類型

下表列出可以根據服務中支援的密碼類型產生的 Secrets Manager 事件。

根據秘密類型產生事件的操作
事件名稱 事件類型 出現項目 任意 IAM 認證 鍵值 使用者認證 匯入的憑證 專用憑證 公用憑證 服務認證 自訂認證
已建立密鑰 com.ibm.cloud.secrets-manager.secret_created 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
密鑰建立失敗 com.ibm.cloud.secrets-manager.secret_creation_failed 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
已輪換密鑰 com.ibm.cloud.secrets-manager.secret_rotated 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
密鑰輪替失敗 com.ibm.cloud.secrets-manager.secret_rotation_failed 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
密鑰即將到期 com.ibm.cloud.secrets-manager.secret_about_to_expire 在密鑰到期之前 90、60、30、10、1、0 天 勾號圖示 勾號圖示 不適用[1] 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
密鑰已過期 com.ibm.cloud.secrets-manager.secret_expired 每天一次 勾號圖示 勾號圖示 不適用[2] 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
已撤銷密鑰 com.ibm.cloud.secrets-manager.secret_revoked 一次性 不適用[3] 不適用[4] 不適用[5] 不適用[6] 不適用[7] 勾號圖示 不適用[8] 不適用[9] 不適用[10]
已刪除密鑰 com.ibm.cloud.secrets-manager.secret_deleted 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
已封鎖密鑰刪除 com.ibm.cloud.secrets-manager.secret_deletion_blocked 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
已封鎖密鑰旋轉 com.ibm.cloud.secrets-manager.secret_rotation_blocked 一次[11]
每日 [12]
勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
已封鎖密鑰撤銷 com.ibm.cloud.secrets-manager.secret_revocation_blocked 一次性 不適用[13] 不適用[14] 不適用[15] 不適用[16] 不適用[17] 勾號圖示 不適用[18] 不適用[19] 不適用[20]
已封鎖密鑰有效期限 com.ibm.cloud.secrets-manager.secret_expiration_blocked 一次
每日
勾號圖示 勾號圖示 不適用[21] 勾號圖示 不適用[22] 不適用[23] 不適用[24] 勾號圖示 勾號圖示
已刪除密鑰版本資料 com.ibm.cloud.secrets-manager.secret_data_removed 一次性 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示 勾號圖示
建立秘密任務 com.ibm.cloud.secrets-manager.secret_task_created 一次性 勾號圖示
秘密任務成功 com.ibm.cloud.secrets-manager.secret_task_created 一次性 勾號圖示
秘密任務失敗 com.ibm.cloud.secrets-manager.secret_task_created 一次性 勾號圖示
秘密任務已刪除 com.ibm.cloud.secrets-manager.secret_task_created 一次性 勾號圖示

啟用通知

Secrets Manager 服務範例所產生的事件,可以轉發到同一帳戶中可用的 Event Notifications 服務範例。 您只能將一個 Secrets Manager 實例配置為一個 Event Notifications 服務實例。 若要開始使用,您需要:

在使用者介面中連接至 Event Notifications

在啟用 Secrets Manager的通知之前,請確定您具有與 Secrets Manager 實例位於相同帳戶中的 Event Notifications 服務實例。 然後,您可以使用 Secrets Manager 使用者介面中的 設定> Event Notifications 區段來連接服務。

此影像顯示 Secrets Manager 使用者介面中的 Event Notifications 畫面。
連接到Event Notifications

  1. 在主控台中,按一下 功能表 圖示 「功能表」圖示 > 資源清單

  2. 從服務清單中,選取 Secrets Manager的實例。

  3. 在 Secrets Manager 導覽中,按一下 設定

  4. 在 Event Notifications 區段中,按一下 連接

  5. 在側邊畫面中,檢閱連線的來源詳細資料。 (選用項目)提供說明。

  6. 選取您要連接的資源群組及 Event Notifications 服務實例。

    如果 Secrets Manager 與 Event Notifications 之間的 IAM 授權不存在於您的帳戶中,則會顯示對話。 遵循提示來授與服務之間的存取權。

    1. 若要授與 Secrets Manager 與 Event Notifications之間的存取權,請按一下 授權
    2. 在側邊畫面中,選取 Event Notifications 作為目標服務。
    3. 從實例清單中,選取您要授權的 Event Notifications 服務實例。
    4. 選取 事件來源管理員 角色。
    5. 按一下 檢閱
    6. 按一下指派
  7. 若要確認連線,請按一下 連接

    會顯示成功訊息,指出 Secrets Manager 現在已連接至 Event Notifications。 如果稍後需要中斷與 Event Notifications 的連線,您可以使用選項功能表 選項圖示 > 中斷連線,將 Secrets Manager 作為 Event Notifications 實例中的來源服務移除。

    如果您選擇中斷 Event Notifications的連線,請勿刪除 Secrets Manager 與 Event Notifications之間的 IAM 授權。Secrets Manager 會使用現有授權從 Event Notifications取消登錄。 如果刪除 Event Notifications 實例,IAM 也會刪除服務與 Secrets Manager 之間存在的任何授權。

使用 API 連接至 Event Notifications

在啟用 Secrets Manager的通知之前,請確定您具有與 Secrets Manager 實例位於相同帳戶中的 Event Notifications 服務實例。 然後,您可以透過呼叫 Secrets Manager API,以程式化方式連接至 Event Notifications。

下列範例顯示可用來向 Event Notifications登錄 Secrets Manager 來源詳細資料的查詢。 當您呼叫 API 時,請將 ID 變數及 IAM 記號取代為 Secrets Manager 實例特定的值。

您可以在主控台找到 event_notifications_instance_crn 值,方法是移至「資源」清單,然後按一下 Event Notifications 實例列。

curl -X POST
   --H "Authorization: Bearer {iam_token}" \
   --H "Accept: application/json" \
   --H "Content-Type: application/json" \
   --d'{
      "event_notifications_instance_crn": "crn:v1:bluemix:public:event-notifications:us-south:a/22018f3c34ff4ff193698d15ca316946:578ad1a4-2fd8-4e66-95d5-79a842ba91f8::",
      "event_notifications_source_description": "Optional description of this source in an Event Notifications instance.",
      "event_notifications_source_name": "My Secrets Manager"
   }' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/notifications/registration"

成功要求會傳回已連接 Event Notifications 服務實例的 CRN 值。 如需必要及選用要求參數的相關資訊,請參閱 API 文件

使用 Terraform 連接至 Event Notifications

下列範例顯示可用來向 Event Notifications登錄 Secrets Manager 來源詳細資料的配置。

    resource "ibm_sm_en_registration" "en_registration" {
        instance_id = local.instance_id
        region = local.region
        name = "test-root-ca"
        event_notifications_instance_crn = var.en_instance_crn
        event_notifications_source_description = "My event notification source"
        event_notifications_source_name = "my_en_source"
    }

在使用者介面中將測試事件傳送至 Event Notifications

啟用 Secrets Manager的通知之後,請測試您的連線,以確保將 Secrets Manager 所產生的事件轉遞至 Event Notifications。

您必須先在 Event Notifications 實例中建立 主題、目的地及訂閱,才能傳送測試 Secrets Manager 事件。 請確定 Event Notifications 主題中包含 測試事件 事件類型 (com.ibm.cloud.secrets-manager.test_event) 作為條件。

此影像顯示 Secrets Manager 使用者介面中的 Event Notifications 畫面。
傳送測試事件到Event Notifications

  1. 在 Secrets Manager 使用者介面中,按一下 設定

  2. 在「Event Notifications」區段中,按一下 傳送測試事件

    即會顯示成功訊息,指出測試事件已順利轉遞至 Event Notifications。

使用 API 將測試事件傳送至 Event Notifications

啟用 Secrets Manager的通知之後,請測試您的連線,以確保將 Secrets Manager 所產生的事件轉遞至 Event Notifications。

您必須在 Event Notifications 實例中建立 主題、目的地及訂閱,才能傳送測試 Secrets Manager 事件。 請確定 Event Notifications 主題中包含 測試事件 事件類型 (com.ibm.cloud.secrets-manager.test_event) 作為條件。

下列範例顯示可用來將測試事件從 Secrets Manager 傳送至 Event Notifications的查詢。 當您呼叫 API 時,請將 ID 變數及 IAM 記號取代為 Secrets Manager 實例特定的值。

curl -X GET
   --H "Authorization: Bearer {iam_token}" \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/notifications/registration/test"

成功的請求會傳回 HTTP 200 OK 回應,表示測試事件已成功轉送至您連接的 Event Notifications 服務實體。 如需詳細資訊,請參閱 API 文件

遞送通知至選取的目的地

啟用 Secrets Manager的通知之後,請在 Event Notifications 中建立主題和訂閱,以便可以將警示轉遞並遞送至您選取的目的地。

如需受支援目的地的完整清單,請參閱 Event Notifications 文件

電子郵件通知

您可以使用 IBM Cloud 電子郵件服務 作為 Secrets Manager 事件通知的遞送通道。 在現有主題與 IBM Cloud 電子郵件服務之間 建立 Event Notifications 訂閱,以透過電子郵件將警示轉遞給各種收件者。

來自 IBM Cloud 的電子郵件,其中包含 Secrets Manager 事件的相關資訊,類似於下列範例:

Subject: Your 2 public certificate secrets expire in 10 days
Body: You have 2 public certificate secrets that expire in 10 days: my-certificate-1, my-certificate-2. You can view and manage your existing secrets by accessing Secrets Manager in the console, or by using the CLI or APIs. For more information, check out the docs.

若要在電子郵件中接收事件通知的詳細資訊,請在建立 Event Notifications 訂閱時選取 新增通知有效負載 選項。 您的電子郵件會顯示與事件相關聯的 通知有效負載詳細資料

Webhook。

您可以配置 Webhook 目的地,以便應用程式或服務可以程式化方式使用送入通知。 如需設定 Webhook 的相關資訊,請參閱 Event Notifications 文件

通知有效負載詳細資料

Secrets Manager 所產生的成功事件包含各種欄位,可協助您識別事件的來源及詳細資料。

來自 Secrets Manager 的事件通知僅包含 meta 資料內容,例如資源的名稱或 ID。 機密資料 (例如 API 金鑰或密碼) 不會包含在產生的事件中。

傳送至 Event Notifications 的內容會根據事件類型及密鑰類型而有所不同。 例如,如果在一個以上 public_cert 密鑰的實例中發生 secret_about_to_expire:in_10_days 事件,則 Secrets Manager 會將通知有效負載傳送至類似於下列範例的 Event Notifications。

{
   "event_sub_type": "in_10_days",
   "event_type": "secret_about_to_expire",
   "secret_type": "public_cert",
   "secrets": [
      {
         "domains": "domain1.com",
         "event_time": "2022-01-04T00:00:00Z",
         "event_triggered_by": "SecretsManager",
         "secret_expiration": "2022-01-14T00:00:00Z",
         "secret_group_id": "default",
         "secret_id": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>:secret:<secret_id>",
         "secret_name": "my-certificate-1",
         "serial_number": "1:2:3:4"
      },
      {
         "domains": "domain2.com, domain3.com",
         "event_time": "2022-01-04T00:00:00Z",
         "event_triggered_by": "SecretsManager",
         "secret_expiration": "2022-01-14T00:00:00Z",
         "secret_group_id": "default",
         "secret_id": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>:secret:<secret_id>",
         "secret_name": "my-certificate-2",
         "serial_number": "1:2:3:4"
      },
   ],
   "source_instance_api_private_url": "https://<instance_id>.private.<region>.secrets-manager.appdomain.cloud/api",
   "source_instance_api_public_url": "https://<instance_id>.<region>.secrets-manager.appdomain.cloud/api",
   "source_instance_crn": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>::",
   "source_instance_dashboard_url": "https://cloud.ibm.com/services/secrets-manager/crn%3Av1%3Abluemix%3Apublic%3Asecrets-manager%3A<region>%3Aa%2Fa6cc9f5f21f34323a4175c1117638b40%3A<instance_id>%3A%3A",
   "source_service": "SecretsManager"
}

如需事件通知內容的相關資訊,請檢閱下表。

事件通知負載中的屬性
內容 說明
event_sub_type 對應於觸發通知之 事件類型 的子類型。
event_type 觸發通知的 事件類型
secret_type 與事件相關聯的密鑰類型。

可能的值包括 imported_cert, private_certpublic_cert

secrets[]

包含與事件相關聯之密鑰的 meta 資料內容的物件清單。 列出的內容會根據密鑰類型而有所不同。

針對所有密鑰類型傳送的內容包括:

  • event_time: 產生事件的日期和時間。
  • event_triggered_by: 觸發事件的實體。 這可以是 Secrets Manager 服務或 IBM ID。
  • secret_group_id: 密鑰群組的 ID。
  • secret_id: 唯一識別密鑰的 ID。
  • secret_name: 密鑰名稱。

imported_certprivate_certpublic_cert 密鑰的事件也包含:

  • domains: 與憑證相關聯的網域。
  • serial_number: 與憑證相關聯的序號。

失敗事件也可以包含:

  • failure_reason: 作業失敗的原因。
tasks[]

包含與事件相關的秘密任務的元資料屬性的物件清單。

針對所有密鑰類型傳送的內容包括:

  • event_time: 產生事件的日期和時間。
  • event_triggered_by: 觸發事件的實體。 這可以是 Secrets Manager 服務或 IBM ID。
  • secret_group_id :密碼群組的 ID。
  • secret_id :唯一識別秘密的 ID。
  • secret_name :密碼的名稱。
  • task_id :唯一識別秘密任務的 ID。
  • secret_status :秘密任務的狀態。
  • task_trigger :建立此任務的觸發器。
  • task_type :秘密任務的類型。

失敗事件也可以包含:

  • failure_reason: 作業失敗的原因。
source_instance_api_private_url 指定給 Secrets Manager 服務實體的 私有端點 URL
source_instance_api_public_url 指定給 Secrets Manager 服務實體的公共端點 URL。
source_instance_crn 雲端資源名稱 (CRN),可唯一識別您的 Secrets Manager 服務實體。
source_instance_dashboard_url URL 到您主控台中的 Secrets Manager 服務儀表板。
source_service 傳送事件通知之服務的顯示名稱。

  1. 事件不適用,因為此密鑰類型沒有存活時間 (TTL) 限制。 ↩︎

  2. 事件不適用,因為此密鑰類型沒有存活時間 (TTL) 限制。 ↩︎

  3. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  4. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  5. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  6. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  7. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  8. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  9. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  10. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  11. 您會收到通知,通知您手動旋轉未順利完成。 ↩︎

  12. 當自動旋轉失敗時,您會每天收到通知,直到成功為止。 ↩︎

  13. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  14. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  15. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  16. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  17. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  18. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  19. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  20. 事件不適用,因為此通知類型僅適用於專用憑證。 ↩︎

  21. 事件不適用,因為此密鑰類型沒有存活時間 (TTL) 限制。 ↩︎

  22. 事件不適用,因為在此機密類型中無法封鎖到期日。 ↩︎

  23. 事件不適用,因為在此機密類型中無法封鎖到期日。 ↩︎

  24. 事件不適用,因為在此機密類型中無法封鎖到期日。 ↩︎