Google Cloud IAM

整合版本:12.0

應用實例

在 Google Cloud中管理權限和服務帳戶。

產品權限

建立服務帳戶:

  1. 開啟 Google Cloud 專案入口網站,然後在左側窗格中依序點按「IAM 與管理」>「角色」
  2. 按一下「建立角色」,建立具有整合項目所需權限的自訂角色。
  3. 在開啟的頁面中,提供角色名稱、說明、ID 和角色發布階段,以進入正式發布階段。
  4. 將下列權限新增至建立的角色:

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  5. 按一下「建立」,建立新的自訂角色。

  6. 接著前往 Google 文件,按照「建立服務帳戶」一節中的程序操作。建立服務帳戶後,系統會下載服務帳戶私密金鑰檔案。

  7. 將先前建立的角色授予服務帳戶,讓服務帳戶擁有整合所需的權限。

  8. 使用您在步驟 1 下載的檔案,設定 Google Cloud IAM 整合。

在 Google Security Operations 中設定 Google Cloud IAM 整合

如需在 Google SecOps 中設定整合功能的詳細操作說明,請參閱「設定整合功能」。

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
帳戶類型 字串 service_account Google Cloud 帳戶的類型。位於驗證 JSON 檔案的「type」參數中。您需要複製該值,並將其放入這個整合設定參數。
專案 ID 字串 不適用 Google Cloud 帳戶的專案 ID。位於驗證 JSON 檔案的「project_id」參數中。您需要複製該值,並將其放入這個整合設定參數。
私密金鑰 ID 密碼 不適用 Google Cloud 帳戶的私密金鑰 ID。位於驗證 JSON 檔案的「private_key_id」參數。您需要複製該值,並將其放入這個整合設定參數。
私密金鑰 密碼 不適用 帳戶的私密金鑰。 Google Cloud 位於驗證 JSON 檔案的「private_key」參數中。您需要複製該值,並將其放入這個整合設定參數。
客戶電子郵件 字串 不適用 帳戶的客戶電子郵件地址。 Google Cloud 位於驗證 JSON 檔案的「client_email」參數。您需要複製該值,並將其放入這個整合設定參數。
用戶端 ID 字串 不適用 Google Cloud 帳戶的用戶端 ID。位於驗證 JSON 檔案的「client_id」參數中。您需要複製該值,並將其放入這個整合設定參數。
驗證 URI 字串 https://accounts.google.com/o/oauth2/auth Google Cloud 帳戶的驗證 URI。位於驗證 JSON 檔案的「auth_uri」參數。您需要複製該值,並將其放入這個整合設定參數。
權杖 URI 字串

https://oauth2.googleapis.com/token

Google Cloud 帳戶的權杖 URI。位於驗證 JSON 檔案的「token_uri」參數。您需要複製該值,並將其放入這個整合設定參數。
驗證提供者 X509 網址 字串

https://www.googleapis.com/oauth2/v1/certs

帳戶的驗證供應商 X509 網址。 Google Cloud 位於驗證 JSON 檔案的「auth_provider_x509_cert_url」參數中。您需要複製該值,並將其放入這個整合設定參數。
用戶端 X509 網址 字串 不適用 Google Cloud 帳戶的用戶端 X509 網址。位於驗證 JSON 檔案的「client_x509_cert_url」參數中。您需要複製該值,並將其放入這個整合設定參數。
服務帳戶 JSON 檔案內容 字串 不適用 選用:您可以在這裡指定服務帳戶檔案的完整 JSON 內容,不必指定私密金鑰 ID、私密金鑰和其他參數。如果提供這項參數,系統會忽略其他連線參數。
驗證 SSL 核取方塊 已勾選 啟用後,整合服務會驗證連線至 Google Cloud 服務的 SSL 憑證是否有效。

動作

乒乓

說明

使用 Google Security Operations Marketplace 分頁中整合設定頁面提供的參數,測試與 Identity and Access Management 服務的連線。

參數

不適用

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功:「Successfully connected to the Identity and Access Management service with the provided connection parameters!」(已使用提供的連線參數,成功連線至身分與存取權管理服務!)

動作應會失敗並停止執行應對手冊:

  • 如果發生重大錯誤,例如憑證錯誤或連線中斷:「無法連線至 Identity and Access Management 服務!Error is {0}".format(exception.stacktrace)
一般

充實實體

說明

從 Identity and Access Management 取得服務帳戶資訊,並用於擴充 Google SecOps 使用者實體。動作會將身分與存取權管理服務帳戶電子郵件視為 Google SecOps 使用者實體。

執行時間

這項動作會對使用者實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
           "name": "projects/silver-shift-275007/serviceAccounts/dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
           "projectId": "silver-shift-275007",
           "uniqueId": "104627053409757134782",
           "email": "dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
           "displayName": "dmitrys Test SA displayName",
           "etag": "MDEwMjE5MjA=",
           "description": "Service account description",
           "oauth2ClientId": "104627053409757134782"
}
實體擴充
補充資料欄位名稱 邏輯 - 適用時機
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功且至少有一個提供的實體經過擴充:「Successfully enriched entities: {0}」。format([entity.Identifier])。
  • 如果無法擴充所有提供的實體:「沒有任何實體經過擴充。」
  • 如果無法在身分與存取權管理中找到資料來擴充特定實體:「Action was not able to find a match in Identity and Access Management to enrich provided entities: {0}」。format([entity.identifier])

動作應會失敗並停止執行應對手冊:

如果發生致命錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「執行『Enrich Entities』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般
表格 (豐富度)

表格名稱:{實體} 擴充表格

資料欄:鍵、值

實體

列出服務帳戶

說明

根據指定的搜尋條件列出 Identity and Access Management 服務帳戶。 請注意,這項動作不適用於 Google SecOps 實體。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
服務帳戶顯示名稱 字串 不適用 指定要傳回的服務帳戶顯示名稱。參數接受以半形逗號分隔的多個值。
服務帳戶電子郵件 字串 不適用 指定要傳回的服務帳戶電子郵件地址。參數接受以半形逗號分隔的多個值。
要傳回的列數上限 整數 50 指定動作應傳回的角色數量。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "accounts": [
       {
           "name": "projects/silver-shift-275007/serviceAccounts/dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
           "projectId": "silver-shift-275007",
           "uniqueId": "104627053409757134782",
           "email": "dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
           "displayName": "dmitrys Test SA displayName",
           "etag": "MDEwMjE5MjA=",
           "description": "Service account description",
           "oauth2ClientId": "104627053409757134782"
       }
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功列出服務帳戶 (is_success = true):
    「Successfully fetched Google Cloud service accounts.」
  • 如果沒有可用值 (is_success = false):「No service accounts were returned for the specified input parameters.」(未針對指定的輸入參數傳回任何服務帳戶)。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤、無效區域、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "List Service Accounts". 原因:{0}''.format(error.Stacktrace)

一般
Table

表格名稱: Google Cloud 服務帳戶

資料表資料欄:

服務帳戶名稱

服務帳戶專屬 ID

服務帳戶電子郵件

服務帳戶顯示名稱

服務帳戶說明

服務帳戶 OAuth2 用戶端 ID

一般

建立服務帳戶

說明

建立身分與存取權管理服務帳戶。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
服務帳戶 ID 字串 字串 指定要建立的服務帳戶 ID。
服務帳戶顯示名稱 字串 字串 指定要建立的服務帳戶顯示名稱。
服務帳戶說明 字串 字串 指定要建立的服務帳戶說明。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "name": "projects/silver-shift-275007/serviceAccounts/dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
   "projectId": "silver-shift-275007",
   "uniqueId": "104627053409757134782",
   "email": "dmitrystestsa@silver-shift-275007.iam.gserviceaccount.com",
   "displayName": "dmitrys Test SA displayName",
   "etag": "MDEwMjE5MjA=",
   "description": "Service account description",
   "oauth2ClientId": "104627053409757134782"
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果動作執行成功 (is_success=true):

    • Google Cloud 已成功建立服務帳戶 <唯一 ID>。
  • 如果提供的服務帳戶已存在,導致動作無法執行(is_success =false)

    • 提供的服務帳戶 <唯一 ID> 已存在。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器、其他錯誤):「執行動作『建立服務帳戶』時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

取得服務帳戶的身分與存取權管理政策

說明

取得服務帳戶的存取權控管政策。Action 會將 Identity and Access Management 服務帳戶電子郵件視為 Google SecOps 使用者實體。請注意,如果沒有為服務帳戶指派任何政策,政策可能為空白。

執行時間

這項動作會對使用者實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "version": 1,
   "etag": "BwXBuNg8cMA=",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:dmitrys@siemplify.co"
           ]
       }
   ]
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果動作執行成功 (is_success=true):

    • 「Successfully fetched Identity and Access Management policy for the following Google Cloud Service Accounts: <email id1, email id 2...>
  • 如果動作找不到實體的資訊 (例如 Google Identity and Access Management 電子郵件地址不存在):

    • 動作無法擷取下列服務帳戶的 Identity and Access Management 政策:<email id1, email id2 ..> Google Cloud
  • 如果找不到所有提供實體的 Identity and Access Management 政策:「Identity and Access Management policy was not found for any of the provided entities.」(找不到任何提供實體的 Identity and Access Management 政策)。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤或 SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Get Service Account IAM Policy". 原因:{0}''.format(error.Stacktrace)

一般

設定服務帳戶的身分與存取權管理政策

說明

設定指定服務帳戶的存取權控管政策。動作會將 Identity and Access Management 服務帳戶電子郵件視為 Google SecOps 帳戶實體。請注意,動作中提供的政策會取代任何現有政策。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
政策 字串 不適用 指定要為服務帳戶設定的 JSON 政策文件。

執行時間

這項動作會在帳戶實體上執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "version": 1,
   "etag": "BwXBuNg8cMA=",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:dmitrys@siemplify.co"
           ]
       }
   ]
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果部分成功 (is_success=True):

    • 已成功為下列 Google Cloud 服務帳戶設定身分與存取權管理政策:<email id1, ...>

  • 如果部分失敗:

    • 動作無法為下列 Google Cloud 服務帳戶設定 Identity and Access Management 政策:<email id1, ....>

  • 如果所有方法都失敗:

    • 未設定服務帳戶身分與存取權管理政策。

  • 如果提供的政策 JSON 無效 (is_success =false)

    • 提供的政策 JSON 文件「<policy>」無效。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「執行動作『設定服務帳戶 IAM 政策』時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

停用服務帳戶

說明

停用服務帳戶。動作會將身分與存取權管理服務帳戶電子郵件視為 Google SecOps 使用者實體。

執行時間

這項動作會對使用者實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果至少有一個實體成功停用:「Successfully disabled the following service accounts: {0}」(已成功停用下列服務帳戶:{0})。format([entity.Identifier])。

  • 如果無法停用所有提供的實體:「沒有任何服務帳戶遭到停用」。

  • 如果無法在 Google Cloud 身分與存取權管理中找到要停用特定實體的資料:「Action was not able to find a match in Google Cloud Identity and Access Management for the provided entities: {0}」。format([entity.identifier])

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Disable Service Account". 原因:{0}''.format(error.Stacktrace)

一般

啟用服務帳戶

說明

啟用服務帳戶。動作會將身分與存取權管理服務帳戶電子郵件視為 Google SecOps 使用者實體。

執行時間

這項動作會對使用者實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果至少有一個實體成功啟用:「Successfully enabled the following service accounts: {0}」(已成功啟用下列服務帳戶:{0})。format([entity.Identifier])。

  • 如果無法啟用所有提供的實體:「No service accounts were enabled」(未啟用任何服務帳戶)。

  • 如果無法在身分與存取權管理中找到資料來啟用特定實體:「Action was not able to find a match in Identity and Access Management for the provided entities: {0}」。format([entity.identifier])

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤或 SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Enable Service Account"」(執行「啟用服務帳戶」動作時發生錯誤)。原因:{0}''.format(error.Stacktrace)

一般

刪除服務帳戶

說明

刪除服務帳戶。動作會將身分與存取權管理服務帳戶電子郵件視為 Google SecOps 使用者實體。

執行時間

這項動作會對使用者實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果至少一個提供的實體成功:「已成功刪除下列服務帳戶:{0}」。format([entity.Identifier])。

  • 如果無法刪除所有提供的實體:「未刪除任何服務帳戶。」

  • 如果無法在 Identity and Access Management 中找到要刪除特定實體的資料:「Action was not able to find a match in Identity and Access Management for the provided entities: {0}」。format([entity.identifier])

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤或 SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Delete Service Account" (執行「刪除服務帳戶」動作時發生錯誤)。原因:{0}''.format(error.Stacktrace)

一般

列出角色

說明

根據指定的搜尋條件列出 Identity and Access Management 角色。請注意,這項動作不適用於 Google SecOps 實體。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
查看 DDL 基本 指定要使用哪個檢視畫面傳回角色資訊。
要傳回的列數上限 整數 50 指定動作應傳回的角色數量。
只列出專案自訂角色? 核取方塊 已取消勾選 如果啟用,動作只會傳回為目前專案 ID 定義的自訂角色。
顯示已刪除的項目 核取方塊 已取消勾選 啟用後,系統也會傳回已刪除的角色。

執行時間

系統不會對實體執行這項操作。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "AA=="
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "AA=="
       }
   ]
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功列出角色 (is_success = true):「Successfully fetched Identity and Access Management roles.」(已成功擷取 Identity and Access Management 角色)。

  • 如果沒有可用值 (is_success = false):「No roles were returned for the specified input parameters.」(未針對指定的輸入參數傳回任何角色)。

動作應會失敗並停止執行應對手冊:

如果發生致命錯誤、無效區域、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "List Roles". 原因:{0}''.format(error.Stacktrace)

一般
Table

表格名稱:Google Cloud IAM 角色

資料表資料欄:

角色名稱

角色稱號

角色說明

角色階段

角色 ETag

角色權限

一般

建立角色

說明

建立 Identity and Access Management 角色。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
角色 ID 字串 不適用 為新建立的 Identity and Access Management 角色指定角色 ID。
角色定義 字串 不適用 指定要用做角色定義的 JSON 政策文件。

執行時間

系統不會對實體執行這項操作。

角色政策 JSON 範例

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果動作執行成功 (is_success=true):

    • 已成功建立 Identity and Access Management <roleid>。

  • 如果提供的 role_id 已存在(is_success =false)

    • 提供的角色 ID「<role_id>」已存在。

  • 如果提供的角色 JSON 無效 (is_success =false)

    • 提供的角色定義 JSON 文件「<role json>」無效。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤或 SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Create Role". 原因:{0}''.format(error.Stacktrace)

一般

刪除角色

說明

刪除 Identity and Access Management 角色。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
角色 ID 字串 不適用 為新建立的 Identity and Access Management 角色指定角色 ID。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項
is_success is_success=False
is_success is_success=True
JSON 結果
{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXDDgKFx7M=",
   "deleted": true
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果動作執行成功 (is_success=true):

    • 已成功刪除 Identity and Access Management <roleid>。

  • 如果提供的 role_id 不存在(is_success =false)

    • 提供的角色 ID<role_id> 不存在。

動作應會失敗並停止執行應對手冊:

如果發生致命錯誤或 SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「執行『刪除角色』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

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