使用 Privileged Access Manager 保護專案防刪除鎖定

專案防刪除鎖定是明確禁止刪除專案的防護措施。本教學課程說明如何設定多方核准工作流程,以保護含有備份保存庫的專案。 Google Cloud

套用專案防刪除鎖定後,可為專案新增一層重要的保護措施,防止專案遭意外或未經授權刪除。不過,如果主體具有專案擁有權的舊版基本權限,則可以移除防刪除鎖定並刪除專案。為防止任何單一使用者單方面移除專案防刪除鎖定,您可以建立結構化的多方核准工作流程。Privileged Access Manager (PAM) 提供即時的暫時性權限提升功能,並採用多方核准工作流程。詳情請參閱「Privileged Access Manager 總覽」。

貴機構可運用 Privileged Access Manager,確保重要權限 (特別是移除留置權的能力) 只會暫時授予,且必須獲得授權的第二方明確核准。

本教學課程假設您已熟悉身分與存取權管理 (IAM)、專案保留事項和備份和災難復原。

目標

  • 稽核現有的 Identity and Access Management 角色,限制專案防刪除鎖定的修改權限。
  • 建立自訂身分與存取權管理角色,用於管理留置權。
  • 為多方核准設定 Privileged Access Manager 授權。
  • 要求、核准及執行暫時刪除留置權。
  • 清理在本教學課程中建立的資源。

費用

本教學課程使用下列 Google Cloud計費元件:

使用 Pricing Calculator 可根據您的預測使用量來產生費用預估。

事前準備

  1. 選取或建立 Google Cloud 專案:

    前往專案選取器

  2. 確認您已為 Google Cloud 專案啟用計費功能。 詳情請參閱「確認專案的帳單狀態」。

  3. 啟用 Privileged Access Manager 和 Resource Manager API:

    啟用 API

  4. 確認您具備下列 Identity and Access Management 角色:

    • 安全管理員 (roles/iam.securityAdmin) 或機構管理員 (roles/resourcemanager.organizationAdmin) 角色:必須具備機構或資料夾的這類角色,才能稽核及修改角色指派。

    • 機構角色管理員 (roles/iam.organizationRoleAdmin):建立自訂 IAM 角色時必須具備此角色。

    • Privileged Access Manager 管理員 (roles/privilegedaccessmanager.admin): 必須具備這項權限,才能建立及設定 Privileged Access Manager 授權。

    • 專案防刪除鎖定修改者 (roles/resourcemanager.lienModifier): 建立或移除專案防刪除鎖定時必須具備此角色。

完成本教學課程後,您可以刪除建立的資源以避免繼續計費。詳情請參閱「清理」一節。

稽核現有的身分與存取權管理角色

舊版基本「擁有者」角色 (roles/owner) 預設包含 resourcemanager.projects.updateLiens 權限 (允許移除專案留置權)。同樣地,專案防刪除鎖定修改者角色 (roles/resourcemanager.lienModifier) 也會授予防刪除鎖定移除權限。為確保無法規避多方核准程序,請確認未經授權的使用者無法永久存取,以修改或刪除留置權。

  1. 前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。

    前往「IAM」(身分與存取權管理) 頁面

  2. 選取機構、資料夾或專案。

  3. 查看主體清單和獲派的角色。

  4. 從所有不應具備永久防刪除鎖定刪除權限的主體,移除「專案防刪除鎖定修改者」 (roles/resourcemanager.lienModifier) 角色。

  5. 請確保使用者未獲派舊版基本「擁有者」角色 (roles/owner)。請改為指派舊版基本「編輯者」角色 (roles/editor),或不含防刪除鎖定修改功能的自訂角色。

建立自訂身分與存取權管理角色,用於管理留置權

由於 Privileged Access Manager 不支援授予舊版基本角色 (擁有者、編輯者和檢視者),請建立專屬的自訂角色,只具備 resourcemanager.projects.updateLiens 權限,在暫時提升權限期間強制執行最小權限原則。

  1. 前往 Google Cloud 控制台的「Roles」(角色) 頁面。

    前往「Roles」(角色)

  2. 從專案選取器中選取機構或專案。

  3. 按一下「建立角色」。

  4. 在「Title」(名稱)欄位中,輸入 Lien Administrator。

  5. 在「ID」欄位中輸入 lien_administrator。

  6. 在「Role launch stage」(角色發布階段) 清單中,選取「General Availability」(正式發布)。

  7. 按一下 [Add Permissions] (新增權限)。

  8. 在「篩選權限」方塊中,搜尋 resourcemanager.projects.updateLiens。

  9. 勾選 resourcemanager.projects.updateLiens 旁的核取方塊,然後按一下「新增」。

  10. 點選「建立」。

設定 Privileged Access Manager 授權

設定 Privileged Access Manager 授權,定義可要求 Lien Administrator 自訂角色的人員、必要核准者,以及授權時間上限。

  1. 前往 Google Cloud 控制台的「Privileged Access Manager」頁面。

    前往 Privileged Access Manager

  2. 在「Entitlements」(授權) 分頁中,按一下「Create Entitlement」(建立授權)。

  3. 在「Entitlement details」(授權詳細資料) 部分,設定下列項目:

    • 授權 ID:輸入專屬名稱 (例如 remove-project-lien)。

    • 資源:選取要套用這項政策的機構、資料夾 (建議) 或特定專案。

  4. 在「角色」部分,選取您在上一個工作中建立的「留置權管理員」自訂角色 (lien_administrator)。

  5. 在「要求者」部分,選取允許要求提升存取權的個別主體或群組 (例如 devops-team@example.com)。

  6. 在「核准工作流程」部分選取「需要核准」,然後設定下列項目:

    • 核准者:選取必須核准要求的個別負責人或群組 (例如 security-leads@example.com)。

    • 核准者人數:輸入 1 或貴機構政策規定的核准次數。

  7. 在「授權時間長度」部分,設定「最長期限」 (例如 1 hour)。

  8. 在「Justification」(理由) 部分,選取「Required」(必要)。

  9. 點選「建立」。

要求、核准及執行留置權刪除作業

設定權利後,使用者必須要求臨時提升存取權並獲得核准,才能刪除專案防刪除鎖定。

要求提升存取權

  1. 前往 Google Cloud 控制台的「Privileged Access Manager」頁面。

    前往 Privileged Access Manager

  2. 找到 remove-project-lien 權利,然後按一下「要求授予權限」。

  3. 在「時間長度」欄位中,輸入所需時間長度 (最多為設定的時間長度上限)。

  4. 在「Justification」(正當理由) 欄位中,輸入移除專案防刪除鎖定的業務正當理由。

  5. 按一下 [提交要求]。

核准存取要求

  1. 以授權核准者身分開啟核准通知電子郵件,或在Google Cloud 控制台中前往「Privileged Access Manager」。然後按一下「核准」。

    前往「核准」頁面

  2. 選取待處理的要求。

  3. 查看要求者詳細資料、要求時長和理由。

  4. 按一下「核准」。

刪除專案防刪除鎖定

核准後,Privileged Access Manager 會暫時將 Lien Administrator 角色繫結至要求者。要求者現在可以刪除專案防刪除鎖定。

  1. 在 Google Cloud 控制台中,啟用 Cloud Shell 或開啟已安裝 gcloud CLI 的終端機。

  2. 列出專案的有效防刪除鎖定:

    gcloud alpha resource-manager liens list --project=PROJECT_ID
    

    將 PROJECT_ID 替換為 Google Cloud 專案 ID。

  3. 刪除專案防刪除鎖定:

    gcloud alpha resource-manager liens delete LIEN_NAME
    

    將 LIEN_NAME 替換為上一個指令中的防刪除鎖定名稱 (例如 liens/p12345-l67890)。

設定的授權時間到期後,Privileged Access Manager 會自動撤銷要求者的 Lien 管理員角色,防止進一步修改留置權。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本教學課程所用資源的費用,請刪除 Privileged Access Manager 權利和自訂 Identity and Access Management 角色。

刪除 Privileged Access Manager 授權

  1. 前往 Google Cloud 控制台的「Privileged Access Manager」頁面。

    前往 Privileged Access Manager

  2. 在授權清單中,勾選「remove-project-lien」旁的核取方塊。

  3. 點選「刪除」。

  4. 在確認對話方塊中點按「刪除」。

刪除自訂 IAM 角色

  1. 前往 Google Cloud 控制台的「Roles」(角色) 頁面。

    前往「Roles」(角色)

  2. 在角色清單中找出 lien_administrator 角色。

  3. 按一下角色旁的「動作」選單 (三點圖示),然後按一下「刪除」。

  4. 在確認對話方塊中點按「刪除」。

刪除專案

如要避免系統向您收費,最簡單的方法就是刪除您在教學課程中建立的專案。

如果打算進行多個教學課程及快速入門導覽課程,重複使用專案有助於避免超出專案配額限制。

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「Manage resources」(管理資源)

  2. 在專案清單中選取要刪除的專案,然後點按「刪除」。

  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 刪除專案。

後續步驟