建立授權後,您可以查看、更新或刪除授權。變更權利要求者和核准者可能需要幾分鐘才會生效。
事前準備
如要取得管理授權所需的權限,請要求管理員在機構、資料夾或專案中授予下列 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
使用 Google Cloud 控制台查看、更新及刪除授權
前往「Privileged Access Manager」頁面。
選取要管理權利的組織、資料夾或專案。
在「授權」分頁中,按一下「所有使用者的授權」分頁。 您可以在這裡查看可用的授權、授權授予的角色,以及有效的要求者和核准者。
在表格中,找到要檢查的授權,然後按一下該列中的「更多選項」。
如要查看授權詳細資料,請按一下「查看授權詳細資料」。
如要查看與授權相關的授予項目,請按一下「查看相關聯的授予項目」。
如要撤銷所有有效授權,請按一下「撤銷所有授權」。
如要刪除權利,請按一下「刪除權利」。您無法刪除有有效授權的權利。您必須先撤銷授權。
如要更新授權,請在要更新的授權同一列中,按一下「編輯授權」。
更新授權時,請注意下列事項:
更新後的授權設定只會套用至更新後要求的授權。不過,核准者變更也會套用至尚未核准或拒絕的現有授權要求。
如果機構層級已啟用 Security Command Center Premium 或 Enterprise 級別,您可以對授權的核准工作流程進行結構性變更。如果該權利沒有待核准的授權,您就可以進行這些變更,包括新增或移除第二層核准、新增或移除第二層核准者,或是變更每個層級的必要核准數。
這項功能目前為預先發布版。
以程式輔助方式查看授權
如要以程式輔助方式查看授權,您可以搜尋、列出、取得及匯出授權。
列出授權
gcloud
gcloud alpha pam entitlements list
指令會列出屬於特定範圍的權利。
使用下列任何指令資料之前,請先替換以下項目:
RESOURCE_TYPE:選用。權利所屬的資源類型。請使用organization、folder或project值。RESOURCE_ID:與RESOURCE_TYPE搭配使用。要管理權限的 Google 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搭配使用。要管理權限的 Google 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搭配使用。要管理權限的 Google 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搭配使用。要管理權限的 Google 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搭配使用。要管理權限的 Google 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