將 Okta 與 Google SecOps 整合

本文說明如何將 Okta 與 Google Security Operations 整合。

用途

Okta 整合功能會使用 Google SecOps 功能,支援下列用途:

  • 管理使用者生命週期:根據安全性警示,自動啟用、停用或重設使用者密碼,降低風險。

  • 終止有效工作階段:立即清除遭盜用帳戶的所有有效 Okta 工作階段,防止未經授權的使用者存取整合式應用程式。

  • 自動指派角色:動態指派或取消指派管理員角色給使用者,在調查期間維持最小權限原則。

  • 同步威脅信號:將身分威脅防護 (ITP) 信號傳送至 Okta,分享風險情境並觸發自動安全應變措施。

  • 充實身分背景資訊:擷取詳細的使用者個人資料和群組成員資格,讓分析人員深入瞭解帳戶活動。

事前準備

在 Google SecOps 中設定整合功能前,請確認 Okta 環境符合下列需求:

  • 驗證方式:確認貴組織使用 API 權杖 (SSWS) 或 OAuth 2.0 進行驗證。

  • 帳戶權限:確認帳戶具備足夠權限,可執行使用者管理和工作階段終止動作。

整合參數

Okta 整合需要下列參數:

參數 說明
Api Root

這是必填欄位。

Okta 執行個體的基準網址,用於存取 API。

預設值為 https://{okta_domain}.com/。

Api Token

選填。

用於向 Okta 執行個體驗證的 API 權杖 (SSWS)。

如果停用 Use Oauth Authentication,則必須提供這個參數。

Use Oauth Authentication

這是必填欄位。

如果啟用,整合功能會使用 OAuth 2.0 進行驗證,而非 API 權杖。

使用 OAuth 時,Client ID、Key ID 和 Private Key 為必填,Api Token 則應留空。

如果停用,則必須提供 Api Token。

Client ID

選填。

Okta OAuth 應用程式的專屬 ID。

如果啟用 Use Oauth Authentication,則必須提供這項參數。

如果使用 API 權杖進行驗證,請將這個欄位留空。

Key ID

選填。

與 OAuth 驗證所用私密金鑰相關聯的公開金鑰 ID。

如果啟用 Use Oauth Authentication,則必須提供這項參數。

如果使用 API 權杖進行驗證,請將這個欄位留空。

Private Key

選填。

用於 OAuth 驗證的 PEM 格式私密金鑰。

如果啟用 Use Oauth Authentication,則必須提供這項參數。

如果使用 API 權杖進行驗證,請將這個欄位留空。

Verify SSL

選填。

如果選取,整合功能會在連線至 Okta 伺服器時驗證 SSL 憑證。

(預設為啟用)。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。

新增群組

新增群組。

參數

用途

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實

不適用

深入分析

不適用

指派角色

將角色指派給使用者。

參數

參數名稱 類型 預設值 說明
使用者 ID 字串 不適用 Okta 中的使用者 ID。
角色類型 字串 不適用 要指派給使用者的角色類型。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
角色 如果 JSON 結果中存在,則傳回
深入分析

不適用

清除 Okta 使用者工作階段

使用「Clear Okta User Session」動作,終止特定使用者在所有裝置和整合應用程式中的所有有效 Okta 工作階段。

這項動作會在 Google SecOps Username 實體上執行。

動作輸入內容

「清除 Okta 使用者工作階段」動作需要下列參數:

參數 說明
User IDs Or Logins

選填。

以半形逗號分隔的 Okta 使用者 ID 或登入 ID 清單。

Also Run On Scope

選填。

如果選取這項設定,系統會撤銷實體範圍內所有使用者的有效識別資訊提供者 (IdP) 工作階段,以及 User IDs Or Logins 中明確列出的使用者。

動作輸出內容

「清除 Okta 使用者工作階段」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「清除 Okta 使用者工作階段」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully cleared sessions for the following users: ENTITY_IDS.

The sessions failed to clear for the following user in Okta: ENTITY_ID.

No users were found to clear sessions.

動作成功。
Error executing action "Clear Okta User Session". Reason: ERROR_REASON

動作失敗。

請檢查伺服器連線、輸入參數或憑證。

指令碼執行結果

下表列出使用「清除 Okta 使用者工作階段」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

停用使用者

停用指定的使用者。

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 中的使用者 ID。
是否停用 核取方塊 已勾選 是否要停用或僅停權使用者。
停用時傳送電子郵件 核取方塊 已勾選 是否要在停用後傳送電子郵件。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
is_deactivate 如果為 True,則使用者已停用。否則:False
is_send_email_deactivate 如果為 True,則使用者已停用。否則:False
深入分析

不適用

啟用使用者

啟用指定的使用者。

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 使用者的 ID 或登入資訊。
已啟用 核取方塊 已勾選 是否要啟用使用者,或只是取消停權。
啟用時傳送電子郵件 核取方塊 已勾選 是否要在啟用後傳送電子郵件。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
is_reactivate 如果為 True,則表示使用者已啟用。否則:False
is_send_email_reactivate 如果為 True,則使用者已停用。否則:False
深入分析

不適用

取得群組

取得群組相關資訊。

參數

參數名稱 類型 預設值 說明
群組 ID 或名稱 字串 不適用 Okta 中的群組 ID 或名稱。
Is Id 核取方塊 已勾選 值是 ID 或名稱。

用途

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實

不適用

深入分析

不適用

取得使用者

取得使用者資訊

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 使用者的 ID 或登入資訊 (電子郵件地址或電子郵件地址簡稱),例如 test@gmail.com 或「test」。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
[
  {
    "status": "ACTIVE",
    "profile": {
      "mobilePhone": null,
      "firstName": "Test",
      "lastName": "User",
      "secondEmail": null,
      "login": "test.user@asd.com",
      "email": "test.user@asd.com"
    },
    "passwordChanged": "2022-07-11T06:11:25.000Z",
    "created": "2022-07-11T06:07:55.000Z",
    "activated": null,
    "lastUpdated": "2022-07-11T06:11:25.000Z",
    "_links": {
      "schema": {
        "href": "https://trial-0000.okta.com/api/v1/meta/schemas/user/osc1xxxxxxxx"
      },
      "suspend": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/suspend",
        "method": "POST"
      },
      "forgotPassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/forgot_password",
        "method": "POST"
      },
      "self": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx"
      },
      "expirePassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/expire_password",
        "method": "POST"
      },
      "resetFactors": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/reset_factors",
        "method": "POST"
      },
      "deactivate": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/deactivate",
        "method": "POST"
      },
      "changePassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/change_password",
        "method": "POST"
      },
      "changeRecoveryQuestion": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/credentials/change_recovery_question",
        "method": "POST"
      },
      "type": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx"
      },
      "resetPassword": {
        "href": "https://trial-0000.okta.com/api/v1/users/00u1xxxxxxxx/lifecycle/reset_password",
        "method": "POST"
      }
    },
    "lastLogin": "2022-07-11T06:15:14.000Z",
    "credentials": {
      "password": {},
      "provider": {
        "type": "OKTA",
        "name": "OKTA"
      }
    },
    "type": {
      "id": "oty1xxxxxxxxxxxxx"
    },
    "id": "oty1xxxxxxxxxxxxx",
    "statusChanged": "2022-07-11T06:11:25.000Z"
  }
]
實體充實

不適用

深入分析

不適用

列出供應商

列出組織中的識別資訊提供者 (IdP)。

參數

參數名稱 類型 預設值 說明
查詢 字串 不適用 搜尋名稱屬性,找出相符項目。
類型 核取方塊 已勾選 依類型篩選。
限制 字串 20 要傳回的結果數量上限。

用途

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實

不適用

深入分析

不適用

列出角色

列出指派給使用者的所有角色。

參數

使用者 ID 字串 不適用 Okta 中的使用者 ID。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實

不適用

深入分析

不適用

列出使用者群組

取得使用者所屬的群組。

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 使用者的 ID 或登入資訊。
同時在範圍內執行 核取方塊 已勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
資料 如果 JSON 結果中存在,則傳回
名稱 如果 JSON 結果中存在,則傳回
深入分析

不適用

將使用者列入清單

取得使用者清單。

參數

參數名稱 類型 預設值 說明
查詢 字串 不適用 搜尋 firstname、lastname 或 email 屬性中的相符項目。
篩選器 字串 不適用 針對部分房源的自訂搜尋查詢。
搜尋 字串 不適用 大多數屬性的自訂搜尋查詢。
限制 字串 200 要傳回的結果數量上限。

用途

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
資料 如果 JSON 結果中存在,則傳回
名稱 如果 JSON 結果中存在,則傳回
深入分析

不適用

乒乓

測試與 Okta 的連線。

參數

不適用

用途

不適用

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實

不適用

深入分析

不適用

重設密碼

產生一次性權杖,用於重設使用者密碼。

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 使用者的 ID 或登入資訊。
傳送電子郵件 核取方塊 已取消勾選 是否要傳送重設密碼的電子郵件,或傳回每位使用者的權杖。
同時在範圍內執行 核取方塊 已取消勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
send_email 如果 JSON 結果中存在,則傳回
深入分析

不適用

設定密碼

設定使用者密碼,不驗證現有憑證。

參數

參數名稱 類型 預設值 說明
使用者 ID 或登入資訊 字串 不適用 Okta 使用者的 ID 或登入資訊。
新密碼 字串 不適用 新密碼。
新增 10 個隨機字元 核取方塊 已取消勾選 是否要在每位使用者的密碼中加入額外字元。
同時在範圍內執行 核取方塊 已取消勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
set_password 如果 JSON 結果中存在,則傳回
深入分析

不適用

傳送 ITP 信號

使用共用信號架構 (SSF),將身分威脅防護 (ITP) 信號發布給相關消費者。

參數

參數名稱 類型 預設值 說明
金鑰 ID 字串 不適用 公開金鑰的 ID,用於驗證私密金鑰的簽章。
私密金鑰字串 密碼 不適用 用於簽署信號的私密金鑰。

金鑰會以字串格式提供,並包含「BEGIN」和「END」陳述式。

使用者電子郵件地址 郵寄地址 不適用 受影響使用者的電子郵件地址。
時間戳記 時間戳記 不適用 信號發生的時間戳記。

時間戳記格式為 ISO 8601。

原因 字串 不適用 簡短說明信號生成原因。
嚴重性 字串或 DDL 不適用 信號的嚴重程度。
核發者網址 網址 不適用 建立信號的來源系統。

動作執行結果

JSON 結果
{
   "status":200,
   "payload":{
      "iss":"https://www.google.com/",
      "jti":"3c5fbf0c-3977-11f0-a195-7e498c84a3dd",
      "iat":1748184472,
      "aud":"https://<your-okta-domain>.oktapreview.com",
      "events":{
         "https://schemas.okta.com/secevent/okta/event-type/user-risk-change":{
            "subject":{
               "user":{
                  "format":"email",
                  "email":"user@domain.net"
               }
            },
            "current_level":"medium",
            "previous_level":"low",
            "reason_admin":{
               "en":"BadNavigationEvent"
            },
            "event_timestamp":1742199770057
         }
      }
   }
}
輸出訊息
輸出訊息 訊息說明

Successfully sent the ITP signal to Okta.

Context value was not found for the provided context key CONTEXT_KEY and connector identifier CONNECTOR_IDENTIFIER.

Action can't return the Case Wall table as the context values are too big.

動作成功。
Failed to send the ITP signal to Okta. Error is {0}".format(exception.stacktrace)

動作失敗。

請檢查伺服器連線、輸入參數或憑證。

指令碼執行結果
指令碼執行結果名稱 值選項
is_success True或False

取消指派角色

取消指派使用者的角色。

參數

參數名稱 類型 預設值 說明
使用者 ID 字串 不適用 Okta 中的使用者 ID。
角色 ID 或名稱 字串 不適用 Okta 中的角色 ID 或名稱。
同時在範圍內執行 核取方塊 已取消勾選 是否要對實體和輸入內容執行。

用途

不適用

執行日期

這項動作會對下列實體執行:

  • 使用者
  • 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 值選項 範例
ScriptResult 不適用 不適用
JSON 結果
N/A
實體充實
補充資料欄位名稱 邏輯 - 應用時機
unassign_role 如果 JSON 結果中存在,則傳回
深入分析

不適用

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。