整合 Okta 與 Google SecOps
本文將說明如何整合 Okta 與 Google Security Operations。
用途
Okta 整合功能會使用 Google SecOps 功能,支援下列用途:
管理使用者生命週期:根據安全性快訊自動啟用、停用或重設使用者密碼,以降低風險。
終止有效工作階段:立即清除遭入侵帳戶的所有有效 Okta 工作階段,防止未經授權的人員存取整合式應用程式。
自動指派角色:動態指派或取消指派管理員角色給使用者,在調查期間維持最小權限原則。
同步威脅信號:將身分威脅防護 (ITP) 信號傳送至 Okta,分享風險情境並觸發自動安全回應。
豐富身分背景資訊:擷取詳細的使用者個人資料和群組成員,讓分析師深入瞭解帳戶活動。
事前準備
在 Google SecOps 中設定整合功能前,請先確認 Okta 環境符合下列需求:
驗證方法:判斷貴機構是使用 API 權杖 (SSWS) 還是 OAuth 2.0 進行驗證。
- API 權杖:產生 SSWS 權杖。詳情請參閱 Okta API 符記說明文件。
- OAuth 2.0:註冊服務應用程式,取得
Client ID、Key ID和Private Key。詳情請參閱 Okta OAuth 說明文件。
帳戶權限:確認帳戶具備足夠的權限,可執行使用者管理和終止工作階段的動作。
整合參數
整合 Okta 時需要下列參數:
| 參數 | 說明 |
|---|---|
Api Root |
必填。 Okta 執行個體的基礎網址,用於存取 API。 預設值為 |
Api Token |
選填。 用於 Okta 執行個體驗證的 API 權杖 (SSWS)。 如果 |
Use Oauth Authentication |
必填。 啟用後,整合功能會使用 OAuth 2.0 進行驗證,而非 API 權杖。 使用 OAuth 時, 如果停用,則必須提供 |
Client ID |
選填。 Okta OAuth 應用程式的專屬 ID。 如果啟用 如果使用 API 權杖進行驗證,請將這個欄位留空。 |
Key ID |
選填。 與用於 OAuth 驗證的私密金鑰相關聯的公開金鑰 ID。 如果啟用 如果使用 API 權杖進行驗證,請將這個欄位留空。 |
Private Key |
選填。 用於 OAuth 驗證的 PEM 格式私密金鑰。 如果啟用 如果使用 API 權杖進行驗證,請將這個欄位留空。 |
Verify SSL |
選填。 如果選取這個選項,整合服務會在連線至 Okta 伺服器時驗證 SSL 憑證。 (預設為啟用)。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
新增群組
新增群組。
參數
用途
不適用
執行時間
這項操作會套用至所有實體。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
不適用
深入分析
不適用
指派角色
將角色指派給使用者。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID | 字串 | 不適用 | Okta 中的使用者 ID。 |
| 角色類型 | 字串 | 不適用 | 要指派給使用者的角色類型。 |
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| 角色 | 如果 JSON 結果中存在,則傳回 |
深入分析
不適用
清除 Okta 使用者工作階段
使用「Clear Okta User Session」(清除 Okta 使用者工作階段) 動作,終止特定使用者在所有裝置和整合式應用程式中的所有有效 Okta 工作階段。
這項動作會在 Google SecOps Username 實體上執行。
動作輸入內容
「清除 Okta 使用者工作階段」動作需要下列參數:
| 參數 | 說明 |
|---|---|
User IDs Or Logins |
選填。 以逗號分隔的 Okta 使用者 ID 或登入 ID 清單。 |
Also Run On Scope |
選填。 如果選取這項動作,系統會撤銷實體範圍內所有使用者 (以及 |
動作輸出內容
「清除 Okta 使用者工作階段」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「Clear Okta User Session」(清除 Okta 使用者工作階段) 動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Clear Okta User Session". Reason:
ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「清除 Okta 使用者工作階段」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
停用使用者
停用指定使用者。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID 或登入資訊 | 字串 | 不適用 | Okta 中的使用者 ID。 |
| 停用 | 核取方塊 | 已勾選 | 要停用還是暫停使用者帳戶。 |
| 停用時傳送電子郵件 | 核取方塊 | 已勾選 | 是否要在停用後傳送電子郵件。 |
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| is_deactivate | 如果為 True,使用者就會遭到停用。否則:False |
| is_send_email_deactivate | 如果為 True,使用者就會遭到停用。否則:False |
深入分析
不適用
啟用使用者
啟用指定使用者。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID 或登入資訊 | 字串 | 不適用 | Okta 中使用者的 ID 或登入資訊。 |
| 已啟用 | 核取方塊 | 已勾選 | 是否要啟用使用者,或只是解除停權。 |
| 啟用時傳送電子郵件 | 核取方塊 | 已勾選 | 是否要在啟用後傳送電子郵件。 |
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| 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」。 |
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| 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。 |
|---|---|---|---|
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
不適用
深入分析
不適用
列出使用者群組
取得使用者所屬的群組。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID 或登入資訊 | 字串 | 不適用 | Okta 中使用者的 ID 或登入資訊。 |
| Also Run On Scope | 核取方塊 | 已勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| 資料 | 如果 JSON 結果中存在,則傳回 |
| 名稱 | 如果 JSON 結果中存在,則傳回 |
深入分析
不適用
將使用者列入清單
取得使用者清單。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 查詢 | 字串 | 不適用 | 在名字、姓氏或電子郵件地址中搜尋相符項目。 |
| 篩選器 | 字串 | 不適用 | 針對部分房源的自訂搜尋查詢。 |
| 搜尋 | 字串 | 不適用 | 大多數房源的自訂搜尋查詢。 |
| 限制 | 字串 | 200 | 要傳回的結果數上限。 |
用途
不適用
執行時間
這項操作會套用至所有實體。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| 資料 | 如果 JSON 結果中存在,則傳回 |
| 名稱 | 如果 JSON 結果中存在,則傳回 |
深入分析
不適用
乒乓
測試與 Okta 的連線。
參數
不適用
用途
不適用
執行時間
這項操作會套用至所有實體。
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
不適用
深入分析
不適用
重設密碼
產生一次性權杖,用於重設使用者密碼。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID 或登入資訊 | 字串 | 不適用 | Okta 中使用者的 ID 或登入資訊。 |
| 傳送電子郵件 | 核取方塊 | 已取消勾選 | 是否要為每位使用者傳送重設密碼電子郵件,或傳回權杖。 |
| Also Run On Scope | 核取方塊 | 已取消勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| send_email | 如果 JSON 結果中存在,則傳回 |
深入分析
不適用
設定密碼
設定使用者密碼,不必驗證現有憑證。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID 或登入資訊 | 字串 | 不適用 | Okta 中使用者的 ID 或登入資訊。 |
| 新密碼 | 字串 | 不適用 | 新密碼。 |
| 新增 10 個隨機字元 | 核取方塊 | 已取消勾選 | 是否要在每位使用者的密碼中加入額外字元。 |
| Also Run On Scope | 核取方塊 | 已取消勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| 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
}
}
}
}
輸出訊息
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Failed to send the ITP signal to Okta. Error is
{0}".format(exception.stacktrace) |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼執行結果
| 指令碼結果名稱 | 值選項 |
|---|---|
| is_success | True或False |
取消指派角色
取消指派使用者的角色。
參數
| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| 使用者 ID | 字串 | 不適用 | Okta 中的使用者 ID。 |
| 角色 ID 或名稱 | 字串 | 不適用 | Okta 中的角色 ID 或名稱。 |
| Also Run On Scope | 核取方塊 | 已取消勾選 | 是否要對實體和輸入內容執行作業。 |
用途
不適用
執行時間
這項動作會對下列實體執行:
- 使用者
- 主機名稱
動作執行結果
指令碼執行結果
| 指令碼結果名稱 | 值選項 | 範例 |
|---|---|---|
| ScriptResult | 不適用 | 不適用 |
JSON 結果
N/A
實體擴充
| 補充資料欄位名稱 | 邏輯 - 應用時機 |
|---|---|
| unassign_role | 如果 JSON 結果中存在,則傳回 |
深入分析
不適用
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。