在 Privileged Access Manager 中建立授權

您可以建立授權,暫時提高所選主體的權限。建立授權時,請注意下列事項:

  • 您可以在機構、資料夾或專案層級建立授權。 各層級的授權所授予的角色會遵循 Trusted Cloud by S3NS 資源階層。舉例來說,在機構層級透過授權授予的角色,會沿用至資料夾和專案層級。

  • 如果機構層級已啟用 Security Command Center 進階或 Enterprise 方案,您就能為每個授權強制執行多個核准層級,每個授權最多可有兩個層級的連續核准。每個層級最多可強制執行五項核准。

    收到規定數量的第一層級核准後,系統會向第二層級核准者發送電子郵件通知。收到所需數量的第二層級核准後,補助金就會進入 active 狀態。如果任何核准者拒絕授權,授權就會進入 denied 狀態,且不會傳送給其他核准者。

    這項功能目前為預先發布版

  • 如果服務帳戶可以核准這項資源的授權,您就能將服務帳戶和工作負載集區身分新增為核准者。如要瞭解如何啟用這項設定,請參閱「設定 Privileged Access Manager 設定」。

    這項功能目前為預先發布版

  • 如果您將群組新增為授權的申請者,該群組中的所有個別帳戶都可以申請授權。不過,只有要求授權的個人帳戶才能獲得提升的權限。

  • 如果將群組新增為授權的核准者,該群組中的所有帳戶都能核准或拒絕授權要求。

  • 系統支援基本角色 (管理員、寫入者和讀取者),但不支援舊版基本角色 (擁有者、編輯者和檢視者)。

  • 請勿在權利中加入服務代理角色。

    部分服務代理角色包含非常強大的權限,且這些角色中的權限可能會變更,恕不另行通知。請改為選擇其他預先定義的角色,或建立具備所需權限的自訂角色

事前準備

如要取得建立授權所需的權限,請要求管理員在您要建立授權的機構、資料夾或專案中,授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色具備建立權利所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立授權,必須具備下列權限:

  • 為機構建立權利和授權:
    • resourcemanager.organizations.get
    • resourcemanager.organizations.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • 如要為資料夾建立權利和授權,請按照下列步驟操作:
    • resourcemanager.folders.get
    • resourcemanager.folders.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • 如要為專案建立授權和授予權限,請按照下列步驟操作:
    • resourcemanager.projects.get
    • resourcemanager.projects.setIamPolicy
    • privilegedaccessmanager.entitlements.create

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

建立授權

控制台

  1. 前往「Privileged Access Manager」頁面。

    前往 Privileged Access Manager

  2. 選取要套用權限的機構、資料夾或專案。

  3. 按一下「權利」分頁標籤。

  4. 點選「建立」

  5. 在「Entitlement details」(授權詳細資料) 區段中,輸入下列授權詳細資料:

    • 授權名稱。 授權名稱的長度必須介於 4 至 63 個半形字元之間。只能使用小寫英文字母、數字和連字號,而且開頭須為小寫英文字母。

    • 最多可在機構、資料夾或專案中授予 30 個角色。

      您也可以為這些角色新增 IAM 條件,做法與新增條件來允許政策角色繫結相同。不過,在 Privileged Access Manager 權利中,使用條件檢查資源的標記仍處於預覽階段。

    • 授權的持續時間上限。權利的時間長度上限為 7 天。

  6. 點選「下一步」

  7. 在「新增要求者」部分,輸入最多 20 個授權的有效要求主體。

    系統支援所有主體類型,但 allUsersallAuthenticatedUsers 除外。如要新增超過 20 個身分,請將身分加入群組,並在授權中列出該群組。

  8. 選擇主體是否需要提供授權要求正當理由。

  9. 輸入授權開放索取時,要接收通知的其他使用者電子郵件地址。

    系統會自動通知與授權相關聯的 Google 身分,例如核准者和要求者。不過,如要通知其他使用者,可以新增對方的電子郵件地址。如果您使用員工身分而非 Google 帳戶,這項功能就特別實用。

  10. 點選「下一步」

  11. 在「新增核准者」部分,執行下列任一操作:

    • 如要允許授予角色,不必經過核准,請選取「無須核准即可啟用存取權」

    • 如要強制執行核准程序,請按照下列步驟操作:

      1. 選用:如要規定核准者必須提供正當理由,請選取「核准者必須提供正當理由」
      2. 輸入第一層核准者詳細資料:

        • 權利核准者清單

          您可以新增下列任何主體類型做為核准者:

          • Google 帳戶

          • Google 網路論壇

          • Google Workspace 網域

          • 工作團隊集區 ID

          • 工作負載集區 ID

          • 服務帳戶

            只有在服務帳戶可核准這項資源的授權時,才能使用服務帳戶和工作負載集區 ID。詳情請參閱「設定 Privileged Access Manager 設定」。

        • 所需核准次數

          如果您新增的核准者是群組,請確認必要核准次數小於或等於群組中的主體數量。否則授權將永久停留在 approval awaited 狀態。

        • 用於接收通知的核准者電子郵件地址

      3. 選用:新增第二層核准者詳細資料:

        • 權利核准者清單

          您可以新增下列任何主體類型做為核准者:

          • Google 帳戶

          • Google 網路論壇

          • Google Workspace 網域

          • 工作團隊集區 ID

          • 工作負載集區 ID

          • 服務帳戶

            只有在服務帳戶可核准這項資源的授權時,才能使用服務帳戶和工作負載集區 ID。詳情請參閱「設定 Privileged Access Manager 設定」。

        • 所需核准次數

          如果您新增的核准者是群組,請確認必要核准次數小於或等於群組中的主體數量。否則授權將永久停留在 approval awaited 狀態。

        • 用於接收通知的核准者電子郵件地址

    每個核准最多可新增 20 個核准主體 (身分或群組)。如要新增超過 20 位核准者,請將他們加入群組,然後將該群組列為授權的核准者。

  12. 點選「下一步」

  13. 按一下「建立授權」

新建立的授權可能需要幾分鐘才會全面生效,並可供使用。

gcloud

gcloud alpha pam entitlements create 指令會在機構、資料夾或專案層級建立授權。

使用下列任何指令資料之前,請先替換以下項目:

  • ENTITLEMENT_ID:要建立的授權 ID。ID 長度必須介於 4 至 63 個字元之間,且只能使用下列字元:[a-z0-9-]。第一個字元必須是英文字母。
  • RESOURCE_TYPE:選用。權利所屬的資源類型。請使用 organizationfolderproject 值。
  • RESOURCE_ID:與 RESOURCE_TYPE 搭配使用。您要管理授權的機構、資料夾或專案 ID。 Trusted Cloud專案 ID 為英數字串,例如 my-project。 資料夾和機構 ID 為數字,例如 123456789012
  • RESOURCE_MANAGER_RESOURCE_TYPE:視範圍而定,可以是 OrganizationFolderProject
  • ROLE:授予權益時要指派的角色
  • MAXIMUM_GRANT_DURATION:可要求授權的最長時間,以秒為單位。支援的範圍介於 30 分鐘 (1800) 和 168 小時 (604800) 之間。
  • REQUESTING_MEMBER:可要求授予授權的主體。系統支援所有主體類型,但 allUsersallAuthenticatedUsers 除外。

  • APPROVING_MEMBER:可核准授權要求的主體。有效的主體類型如下:

    • 使用者
    • 群組
    • 網域
    • 工作團隊集區 ID
    • 工作負載集區 ID

      只有在服務帳戶獲准核准這項資源的授權要求時,才能使用這項功能。詳情請參閱「設定 Privileged Access Manager 設定」。

    • 服務帳戶

      只有在服務帳戶獲准核准這項資源的授權要求時,才能使用這項功能。詳情請參閱「設定 Privileged Access Manager 設定」。

  • APPROVALS_NEEDED:核准權利要求所需的核准者人數。

    如果您新增的核准者是群組,請確認必要核准次數小於或等於群組中的主體數量。否則授權將永久停留在 approval awaited 狀態。

  • APPROVER_EMAIL_ADDRESSES:選用。要求授予項目時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 員工身分聯盟時。
  • ADMIN_EMAIL_ADDRESS:選用。要求者獲得存取權時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 員工身分聯盟時。
  • REQUESTER_EMAIL_ADDRESS:選用。授權開放索取時,要通知的其他電子郵件地址。系統會自動通知與授權要求者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 員工身分聯盟時。
  • CONDITION_EXPRESSION:選用。條件運算式:指定主體何時可以使用角色中的權限。這項條件僅適用於有效授權。

將下列內容儲存到名為 entitlement.yaml 的檔案:

privilegedAccess:
  gcpIamAccess:
    resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE
    resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID
    roleBindings:
    - role: ROLE_1
      conditionExpression: CONDITION_EXPRESSION_1
    - role: ROLE_2
      conditionExpression: CONDITION_EXPRESSION_2
maxRequestDuration: MAXIMUM_GRANT_DURATION
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: APPROVALS_NEEDED_1
      approverEmailRecipients:
      - APPROVER_EMAIL_ADDRESSES_1
      - APPROVER_EMAIL_ADDRESSES_2
      approvers:
      - principals:
       - APPROVING_MEMBER_1
       - APPROVING_MEMBER_2
    - approvalsNeeded: APPROVALS_NEEDED_2
      approverEmailRecipients:
       - APPROVER_EMAIL_ADDRESSES_3
       - APPROVER_EMAIL_ADDRESSES_4
      approvers:
      - principals:
        - APPROVING_MEMBER_3
        - APPROVING_MEMBER_4
requesterJustificationConfig:
  unstructured: {}
additionalNotificationTargets:
  adminEmailRecipients:
  - ADMIN_EMAIL_ADDRESS_1
  - ADMIN_EMAIL_ADDRESS_2
  requesterEmailRecipients:
  - REQUESTER_EMAIL_ADDRESS_1
  - REQUESTER_EMAIL_ADDRESS_2

執行下列指令:

Linux、macOS 或 Cloud Shell

gcloud alpha pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud alpha pam entitlements create `
    ENTITLEMENT_ID `
    --entitlement-file=entitlement.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud alpha pam entitlements create ^
    ENTITLEMENT_ID ^
    --entitlement-file=entitlement.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

您應該會收到類似以下的回應:

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - id: step-1
      approvalsNeeded: 3
      approvers:
      - principals:
        - user:alex@example.com
        - group:dev-team@example.com
    - id: step-2
      approvalsNeeded: 1
      approvers:
      - principals:
        - user:alex@example.com
  createTime: '2024-04-09T02:39:37.011866832Z'
  eligibleUsers:
  - principals:
    - user:bola@example.com
  etag: 00000000000000000000000000000000000000000000000000000000000=
  maxRequestDuration: 7200s
  name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID
  privilegedAccess:
    gcpIamAccess:
      resource: //cloudresourcemanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID
      resourceType: cloudresourcemanager.googleapis.com/Project
      roleBindings:
      - role: roles/storage.admin
        id: hwarq_1
        conditionExpression: "request.time.getHours() >= 8"
  requesterJustificationConfig:
    unstructured: {}
  state: AVAILABLE
新建立的授權可能需要幾分鐘才能傳播 並供您使用。

REST

Privileged Access Manager API 的 createEntitlement 方法會在機構、資料夾或專案層級建立授權。

使用任何要求資料之前,請先替換以下項目:

  • SCOPE:要在其中建立授權的機構、資料夾或專案,格式為 organizations/ORGANIZATION_IDfolders/FOLDER_IDprojects/PROJECT_ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 都是數字,例如 123456789012
  • ENTITLEMENT_ID:要建立的授權 ID。ID 長度必須介於 4 至 63 個字元之間,且只能使用下列字元:[a-z0-9-]。第一個字元必須是英文字母。
  • RESOURCE_MANAGER_RESOURCE_TYPE:視範圍而定,可以是 OrganizationFolderProject
  • ROLE:授予權益時要指派的角色
  • MAXIMUM_GRANT_DURATION:可要求授權的最長時間,以秒為單位。支援的範圍介於 30 分鐘 (1800) 和 168 小時 (604800) 之間。
  • REQUESTING_MEMBER:可要求授予授權的主體。系統支援所有主體類型,但 allUsersallAuthenticatedUsers 除外。

  • APPROVING_MEMBER:可核准授權要求的主體。有效的主體類型如下:

    • 使用者
    • 群組
    • 網域
    • 工作團隊集區 ID
    • 工作負載集區 ID

      只有在服務帳戶獲准核准這項資源的授權要求時,才能使用這項功能。詳情請參閱「設定 Privileged Access Manager 設定」。

    • 服務帳戶

      只有在服務帳戶獲准核准這項資源的授權要求時,才能使用這項功能。詳情請參閱「設定 Privileged Access Manager 設定」。

  • APPROVALS_NEEDED:核准權利要求所需的核准者人數。

    如果您新增的核准者是群組,請確認必要核准次數小於或等於群組中的主體數量。否則授權將永久停留在 approval awaited 狀態。

  • APPROVER_EMAIL_ADDRESSES:選用。要求授予項目時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 員工身分聯盟時。
  • ADMIN_EMAIL_ADDRESS:選用。要求者獲得存取權時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 員工身分聯盟時。
  • REQUESTER_EMAIL_ADDRESS:選用。授權開放索取時,要通知的其他電子郵件地址。系統會自動通知與授權要求者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 員工身分聯盟時。
  • CONDITION_EXPRESSION:選用。條件運算式:指定主體何時可以使用角色中的權限。這項條件僅適用於有效授權。

HTTP 方法和網址:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID

JSON 要求主體:

{
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
      "resource": "//cloudresourcemanager.googleapis.com/SCOPE",
      "roleBindings": [
        {
          "role": "ROLE_1",
          "conditionExpression": "CONDITION_EXPRESSION_1",
        },
        {
          "role": "ROLE_2",
          "conditionExpression": "CONDITION_EXPRESSION_2",
        },
      ]
    }
  },
  "maxRequestDuration": "MAXIMUM_GRANT_DURATION",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_1,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_1",
            "APPROVER_EMAIL_ADDRESSES_2",
          ]
        },
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_3",
                "APPROVING_MEMBER_4",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_2,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_3",
            "APPROVER_EMAIL_ADDRESSES_4",
          ]
        }
      ]
    }
  },
  "requesterJustificationConfig": {
    "unstructured": {
    }
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "ADMIN_EMAIL_ADDRESS_1",
      "ADMIN_EMAIL_ADDRESS_2",
    ],
    "requesterEmailRecipients": [
      "REQUESTER_EMAIL_ADDRESS_1",
      "REQUESTER_EMAIL_ADDRESS_2",
    ]
  }
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:


{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-05T03:35:14.596739353Z",
    "target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

如要查看建立作業的進度,可以將 GET 要求傳送至下列端點:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

傳送 GET 要求至下列端點,列出所有作業:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
新建立的授權可能需要幾分鐘才能傳播, 並準備好供您使用。

Terraform

您可以使用 Terraform 建立授權。詳情請參閱 Terraform 說明文件中的 google_privileged_access_manager_entitlement。新建立的授權可能需要幾分鐘才能全面生效,並供您使用。

Config Connector

您可以使用 Kubernetes Config Connector 建立權利。詳情請參閱 Config Connector 說明文件中的 PrivilegedAccessManagerEntitlement。 新建立的授權可能需要幾分鐘才能全面生效,並供您使用。

後續步驟