建立授權後,您可以查看、更新或刪除授權。變更權利要求者和核准者可能需要幾分鐘才會生效。
事前準備
如要取得管理授權所需的權限,請要求管理員在機構、資料夾或專案中授予下列 IAM 角色:
-
如要管理機構的授權,請按照下列步驟操作:
-
Privileged Access Manager 管理員 (
roles/privilegedaccessmanager.admin
) -
安全性管理員 (
roles/iam.securityAdmin
)
-
Privileged Access Manager 管理員 (
-
如要管理資料夾:
-
Privileged Access Manager 管理員 (
roles/privilegedaccessmanager.admin
) -
資料夾 IAM 管理員 (
roles/resourcemanager.folderAdmin
)
-
Privileged Access Manager 管理員 (
-
如要管理專案的授權:
-
Privileged Access Manager 管理員 (
roles/privilegedaccessmanager.admin
) -
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin
)
-
Privileged Access Manager 管理員 (
-
如要查看稽核記錄,請按照下列步驟操作:
記錄檢視器 (
roles/logs.viewer
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備管理授權所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要管理權利,必須具備下列權限:
-
如要管理機構的授權,請按照下列步驟操作:
-
resourcemanager.organizations.get
-
resourcemanager.organizations.setIamPolicy
-
privilegedaccessmanager.entitlements.create
-
privilegedaccessmanager.entitlements.delete
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.entitlements.setIamPolicy
-
privilegedaccessmanager.operations.delete
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如要查看機構的權利:
-
resourcemanager.organizations.get
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如何管理資料夾的權利:
-
resourcemanager.folders.get
-
resourcemanager.folders.setIamPolicy
-
privilegedaccessmanager.entitlements.create
-
privilegedaccessmanager.entitlements.delete
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.entitlements.setIamPolicy
-
privilegedaccessmanager.operations.delete
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如要查看資料夾的權利:
-
resourcemanager.folders.get
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如何管理專案的授權:
-
resourcemanager.projects.get
-
resourcemanager.projects.getIamPolicy
-
privilegedaccessmanager.entitlements.create
-
privilegedaccessmanager.entitlements.delete
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.entitlements.setIamPolicy
-
privilegedaccessmanager.operations.delete
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如要查看專案的授權:
-
resourcemanager.projects.get
-
privilegedaccessmanager.entitlements.get
-
privilegedaccessmanager.entitlements.list
-
privilegedaccessmanager.operations.get
-
privilegedaccessmanager.operations.list
-
-
如要查看稽核記錄,請按照下列步驟操作:
logging.logEntries.list
使用 Trusted Cloud 控制台查看、更新及刪除授權
前往「Privileged Access Manager」頁面。
選取要管理權利的組織、資料夾或專案。
在「授權」分頁中,按一下「所有使用者的授權」分頁。 您可以在這裡查看可用的授權、授權授予的角色,以及有效的要求者和核准者。
在表格中,找到要檢查的授權,然後按一下該列中的
「更多選項」。如要查看授權詳細資料,請按一下「查看授權詳細資料」。
如要查看與授權相關的授予項目,請按一下「查看相關聯的授予項目」。
如要撤銷所有有效授權,請按一下「撤銷所有授權」。
如要刪除權利,請按一下「刪除權利」。您無法刪除有有效授權的權利。您必須先撤銷授權。
如要更新授權,請在要更新的授權同一列中,按一下「編輯授權」
。更新授權時,請注意下列事項:
更新後的授權設定只會套用至更新後要求的授權。不過,核准者變更也會套用至尚未核准或拒絕的現有授權要求。
如果機構層級已啟用 Security Command Center Premium 或 Enterprise 級別,您可以對授權的核准工作流程進行結構性變更。如果該權利沒有待核准的授權,您就可以進行這些變更,包括新增或移除第二層核准、新增或移除第二層核准者,或是變更每個層級的必要核准數。
這項功能目前為預先發布版。
以程式輔助方式查看授權
如要以程式輔助方式查看授權,您可以搜尋、列出、取得及匯出授權。
列出授權
gcloud
gcloud alpha pam entitlements list
指令會列出屬於特定範圍的權利。
使用下列任何指令資料之前,請先替換以下項目:
RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。要管理權限的 Trusted Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 為數字,例如123456789012
。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud alpha pam entitlements list \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements list ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements list ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
additionalNotificationTargets: adminEmailRecipients: - alex@example.com approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - id: step-1 approvalsNeeded: 3 approvers: - principals: - user:alex@example.com - user: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/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/PROJECT_ID resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin id: hwarq_1 conditionExpression: "request.time.getHours() >= 8" requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
Privileged Access Manager API 的 listEntitlements
方法會列出屬於特定範圍的權利。
使用任何要求資料之前,請先替換以下項目:
SCOPE
:授權所在的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 都是數字,例如123456789012
。FILTER
:選用。傳回欄位值符合 AIP-160 運算式的授權。PAGE_SIZE
:選用。要在回應中傳回的項目數。PAGE_TOKEN
:選用。要從哪個頁面開始回應,使用先前回應中傳回的頁面權杖。
HTTP 方法和網址:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
[ { "name": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1, "id": "step-1" }, { "approvers": [ { "principals": [ "user:bob@example.com", "user:jacob@example.com" ] } ], "approvalsNeeded": 2, "id": "step-2" } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID", "roleBindings": [ { "role": "roles/storage.admin", "id": "hwqrt_1", "conditionExpression": "request.time.getHours() >= 8" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" } ]
取得授權
gcloud
gcloud alpha pam entitlements describe
指令會擷取特定權利。
使用下列任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID
:您要查看詳細資料的授權 ID。RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。要管理權限的 Trusted Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 為數字,例如123456789012
。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud alpha pam entitlements describe \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements describe ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements describe ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
additionalNotificationTargets: adminEmailRecipients: - alex@example.com approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - id: step-1 approvalsNeeded: 3 approvers: - principals: - user:alex@example.com - user: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: RESOURCE_TYPE/RESOURCE_ID/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/PROJECT_ID resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin id: hwarq_1 conditionExpression: "request.time.getHours() >= 8" requesterJustificationConfig: unstructured: {} state: AVAILABLE updateTime: '2024-04-09T02:39:40.066770306Z'
REST
Privileged Access Manager API 的 getEntitlement
方法會擷取特定權利。
使用任何要求資料之前,請先替換以下項目:
SCOPE
:要取得授權的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 都是數字,例如123456789012
。ENTITLEMENT_ID
:您要查看詳細資料的授權 ID。
HTTP 方法和網址:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1, "id": "step-1" }, { "approvers": [ { "principals": [ "user:bob@example.com", "user:jacob@example.com" ] } ], "approvalsNeeded": 2, "id": "step-2" } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID", "roleBindings": [ { "role": "roles/storage.admin", "id": "hwqrt_1", "conditionExpression": "request.time.getHours() >= 8" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" }
使用 gcloud CLI 匯出授權
gcloud alpha pam entitlements export
指令會將特定權利匯出至 YAML 檔案。
使用下列任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID
:要匯出的授權 ID。FILENAME
:匯出授權內容的檔案名稱。RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。要管理權限的 Trusted Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 為數字,例如123456789012
。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud alpha pam entitlements export \ ENTITLEMENT_ID \ --destination=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements export ` ENTITLEMENT_ID ` --destination=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements export ^ ENTITLEMENT_ID ^ --destination=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
Exported [projects/my-project/locations/global/entitlements/ENTITLEMENT_ID] to 'FILENAME.yaml'.
以程式輔助方式更新授權
更新授權時,請注意下列事項:
更新後的授權設定只會套用至更新後要求的授權。不過,核准者變更也會套用至尚未核准或拒絕的現有授權要求。
如果機構層級已啟用 Security Command Center Premium 或 Enterprise 級別,您可以對授權的核准工作流程進行結構性變更。如果該權利沒有待核准的授權,您就可以進行這些變更,包括新增或移除第二層核准、新增或移除第二層核准者,或是變更每個層級的必要核准數。
這項功能目前為預先發布版。
gcloud
gcloud alpha pam entitlements update
指令會更新特定權利。
使用下列任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID
:要更新的授權 ID。RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。要管理權限的 Trusted Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 為數字,例如123456789012
。FILENAME
:包含權利修改後設定的檔案。如要建立這個檔案,請取得或匯出現有授權,將回應儲存為 YAML 檔案,然後修改該檔案,做為更新要求的本文。您必須在主體中加入 ETAG,才能更新最新版本的授權。如要瞭解可變更或新增的可用欄位,請參閱「 以程式輔助方式建立授權」。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud alpha pam entitlements update \ ENTITLEMENT_ID \ --entitlement-file=FILENAME.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements update ` ENTITLEMENT_ID ` --entitlement-file=FILENAME.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements update ^ ENTITLEMENT_ID ^ --entitlement-file=FILENAME.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
Request issued for: [ENTITLEMENT_ID] Waiting for operation [RESOURCE_TYPE/RESOURCE_ID/locations/global/operations/OPERATION_ID] to complete...done. Updated entitlement [ENTITLEMENT_ID]. additionalNotificationTargets: {} approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - id: step-1 approvalsNeeded: 3 approvers: - principals: - user:alex@example.com - user: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 updateTime: '2024-04-09T02:39:40.066770306Z'
REST
Privileged Access Manager API 的 updateEntitlement
方法會更新特定權利。
使用任何要求資料之前,請先替換以下項目:
SCOPE
:授權所在的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 都是數字,例如123456789012
。ENTITLEMENT_ID
:要更新的授權 ID。-
UPDATED_FIELDS
:以逗號分隔的清單,當中列出要在授權中更新的欄位。例如:?updateMask=privilegedAccess,maxRequestDuration
如要更新所有可更新的欄位,請將更新遮罩設為
*
。 REQUEST_ID
:選用。必須為非零 UUID。 如果伺服器收到含有要求 ID 的要求,會檢查過去 60 分鐘內是否已完成具有該 ID 的其他要求。如果是,系統會忽略新要求。request.json
:包含授權修改設定的檔案。如要建立這個檔案,請取得或匯出現有權利,將回應儲存為名為request.json
的檔案,然後修改該檔案,做為更新要求的內文。您必須在主體中加入 ETAG,才能更新最新版本的授權。如要瞭解可變更或新增的可用欄位,請參閱「 以程式輔助方式建立授權」。
HTTP 方法和網址:
PATCH https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?updateMask=UPDATED_FIELDS&requestId=REQUEST_ID
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-25T01:55:02.544562950Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "update", "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
以程式輔助方式刪除授權
gcloud
gcloud alpha pam entitlements delete
指令會刪除特定權利。
使用下列任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID
:要刪除的授權 ID。RESOURCE_TYPE
:選用。權利所屬的資源類型。請使用organization
、folder
或project
值。RESOURCE_ID
:與RESOURCE_TYPE
搭配使用。要管理權限的 Trusted Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project
。 資料夾和機構 ID 為數字,例如123456789012
。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud alpha pam entitlements delete \ ENTITLEMENT_ID \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements delete ` ENTITLEMENT_ID ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements delete ^ ENTITLEMENT_ID ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
Delete request issued for: [ENTITLEMENT_ID] Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done. Deleted entitlement [ENTITLEMENT_ID].
REST
Privileged Access Manager API 的
deleteEntitlement
方法會刪除特定權利。
使用任何要求資料之前,請先替換以下項目:
SCOPE
:要刪除授權的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID
、folders/FOLDER_ID
或projects/PROJECT_ID
。專案 ID 為英數字串,例如my-project
。資料夾和機構 ID 都是數字,例如123456789012
。ENTITLEMENT_ID
:要刪除的授權 ID。REQUEST_ID
:選用。必須為非零 UUID。如果伺服器收到含有要求 ID 的要求,會檢查過去 60 分鐘內是否已完成具有該 ID 的其他要求。如果是,系統會忽略新要求。
HTTP 方法和網址:
DELETE https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?requestId=REQUEST_ID
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "name": "projects/my-project/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata", "createTime": "2024-03-06T02:28:28.020293460Z", "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "verb": "delete", "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