您可以建立授權,暫時提高所選主體的權限。建立授權時,請注意下列事項:
您可以在機構、資料夾或專案層級建立權利。各層級的授權所授予的角色會遵循 Google Cloud 資源階層。舉例來說,在機構層級透過授權授予的角色,會沿用至資料夾和專案層級。
如果您將群組新增為授權的申請者,該群組中的所有個別帳戶都可以申請授權。不過,只有要求授予權限的個人帳戶才能獲得提升的權限。
如果將群組新增為授權的核准者,該群組中的所有帳戶都能核准或拒絕授權要求。
請勿在權利中加入服務代理角色。
部分服務代理角色包含非常強大的權限,且這些角色中的權限可能會變更,恕不另行通知。請改為選擇其他預先定義的角色,或建立具備所需權限的自訂角色。
事前準備
請確認您已啟用 Privileged Access Manager 並設定相關權限。
使用 Google Cloud 控制台建立授權
如要建立授權,請完成下列操作:
前往「Privileged Access Manager」頁面。
選取要套用權限的機構、資料夾或專案。
按一下「權利」分頁標籤。
點選「建立」。
新增下列授權詳細資料:
點選「下一步」。
搜尋並新增最多 20 個有效權利要求主體。 系統支援所有主體類型,但
allUsers
和allAuthenticatedUsers
除外。如要新增超過 20 個身分,請將身分加入群組,並在授權中列出該群組。選擇主體是否需要提供授權要求正當理由。
點選「下一步」。
選擇允許授予角色,不必經過核准,或是搜尋並新增可核准要求的有效主體。有效主體類型如下:
Google 帳戶
Google 網路論壇
Google Workspace 網域
工作團隊集區 ID
如果選擇核准者,請同時選擇核准者是否需要提供核准授權要求的正當理由。每個授權最多可新增 20 位核准主體。如要新增超過 20 個身分,請將身分加入群組,並在授權中列出該群組。
點選「下一步」。
選用:新增電子郵件地址,以便在授權開放索取、授權待核准,以及要求者獲得存取權時通知相關人員。系統會自動通知與授權相關聯的 Google 身分,例如核准者和要求者。不過,您可能想通知其他電子郵件地址,特別是使用員工身分聯盟時。
按一下「建立授權」。
新建立的授權可能需要幾分鐘才會全面生效,並準備就緒可供使用。
透過程式建立授權
gcloud
gcloud pam entitlements create
指令會在機構、資料夾或專案層級建立授權。
使用下方的任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID
:要建立的授權 ID。ID 長度必須介於 4 至 63 個字元之間,且只能使用以下字元:[a-z0-9-]
。第一個字元必須是英文字母。RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。您要管理授權的機構、資料夾或專案 ID。 Google Cloud專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 是數字,例如123456789012
。SCOPE
:要在其中建立授權的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 為數字,例如123456789012
。RESOURCE_MANAGER_RESOURCE_TYPE
:視範圍而定,可以是Organization
、Folder
或Project
。ROLE
:授予權益時要指派的角色。TIME_IN_SECONDS
:可要求授權的最長時間,以秒為單位。支援的範圍介於 30 分鐘 (1800) 和 24 小時 (86400) 之間。-
REQUESTING_MEMBER
:可要求授予授權的主體。系統支援所有 主體類型,但allUsers
和allAuthenticatedUsers
除外。 APPROVING_EMAIL
:選用。要求授權時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 Workforce Identity Federation 時。-
APPROVING_MEMBER
:可核准授權要求的主體。有效的 主體類型如下:- 使用者
- 群組
- 網域
- 工作團隊集區 ID
ADMIN_EMAIL_ADDRESS
:選用。要求者獲得存取權時,用於接收通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 Workforce Identity Federation 時。REQUESTER_EMAIL_ADDRESS
:選用。授權開放索取時,用於接收通知的其他電子郵件地址。系統會自動通知與授權要求者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 Workforce Identity Federation 時。
將下列內容儲存到名為 entitlement.yaml
的檔案:
privilegedAccess: gcpIamAccess: resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE resource: //cloudresourcemanager.googleapis.com/SCOPE roleBindings: - role: ROLE_1 - role: ROLE_2 maxRequestDuration: TIME_IN_SECONDSs eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approverEmailRecipients: - APPROVING_EMAIL_1 - APPROVING_EMAIL_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 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 pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud 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/my-project/locations/global/operations/OPERATION_ID] to complete...done. Created entitlement [ENTITLEMENT_ID]. additionalNotificationTargets: {} approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - 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/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
Privileged Access Manager API 的 createEntitlement
方法會在機構、資料夾或專案層級建立授權。
使用任何要求資料之前,請先替換以下項目:
SCOPE
:要在其中建立授權的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 為數字,例如123456789012
。ENTITLEMENT_ID
:要建立的授權 ID。ID 長度必須介於 4 至 63 個字元之間,且只能使用以下字元:[a-z0-9-]
。第一個字元必須是英文字母。REQUEST_ID
:選用。必須為非零 UUID。 如果伺服器收到含有要求 ID 的要求,會檢查過去 60 分鐘內是否已完成具有該 ID 的其他要求。如果是,系統會忽略新要求。RESOURCE_MANAGER_RESOURCE_TYPE
:視範圍而定,可以是Organization
、Folder
或Project
。ROLE
:授予權益時要指派的角色。TIME_IN_SECONDS
:可要求授權的最長時間,以秒為單位。支援的範圍介於 30 分鐘 (1800) 和 24 小時 (86400) 之間。-
REQUESTING_MEMBER
:可要求授予授權的主體。系統支援所有 主體類型,但allUsers
和allAuthenticatedUsers
除外。 -
APPROVING_MEMBER
:可核准授權要求的主體。有效的 主體類型如下:- 使用者
- 群組
- 網域
- 工作團隊集區 ID
APPROVING_EMAIL
:選用。要求授權時,要通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用 Workforce Identity Federation 時。ADMIN_EMAIL_ADDRESS
:選用。要求者獲得存取權時,用於接收通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知一組不同的電子郵件地址,特別是使用 Workforce Identity Federation 時。REQUESTER_EMAIL_ADDRESS
:選用。授權開放索取時,用於接收通知的其他電子郵件地址。系統會自動通知與授權要求者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 Workforce Identity Federation 時。
HTTP 方法和網址:
POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_ID
JSON 要求主體:
{ "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE", "resource": "//cloudresourcemanager.googleapis.com/SCOPE", "roleBindings": [ { "role": "ROLE_1" }, { "role": "ROLE_2" } ] } }, "maxRequestDuration": "TIME_IN_SECONDSs", "eligibleUsers": [ { "principals": [ "REQUESTING_MEMBER_1", "REQUESTING_MEMBER_2", ... ] } ], "approvalWorkflow": { "manualApprovals": { "requireApproverJustification": true, "steps": [ { "approvers": [ { "principals": [ "APPROVING_MEMBER_1", "APPROVING_MEMBER_2", ... ] } ], "approvalsNeeded": 1, "approverEmailRecipients": [ "APPROVING_EMAIL_1", "APPROVING_EMAIL_2", ... ] } ] } }, "requesterJustificationConfig": { "unstructured": { } }, "additionalNotificationTargets": { "adminEmailRecipients": [ "ADMIN_EMAIL_ADDRESS_1", "ADMIN_EMAIL_ADDRESS_2", ... ], "requesterEmailRecipients": [ "REQUESTER_EMAIL_ADDRESS_1", "REQUESTER_EMAIL_ADDRESS_2", ... ] } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1.OperationMetadata", "createTime": "2024-03-05T03:35:14.596739353Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
如要查看建立作業的進度,可以將 GET
要求傳送至下列端點:
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations/OPERATION_ID
傳送 GET
要求至下列端點,列出所有作業:
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations
Terraform
您可以使用 Terraform 建立授權。詳情請參閱 Terraform 說明文件中的 google_privileged_access_manager_entitlement。新建立的授權可能需要幾分鐘才會全面生效,並準備就緒可供使用。
Config Connector
您可以使用 Kubernetes Config Connector 建立權利。詳情請參閱 Config Connector 說明文件中的 PrivilegedAccessManagerEntitlement。 新建立的授權可能需要幾分鐘才會全面生效,並準備就緒可供使用。