如要暫時提升權限,您可以在 Privileged Access Manager (PAM) 中,針對授權要求在固定時間內獲得授權。
授權包含在授權要求成功後授予您的角色。授權結束時,Privileged Access Manager 會移除這些角色。
如要根據權利要求授予權限,請注意下列事項:
你只能針對已新增的授權要求授權。 如要新增至權利,請與管理權利的主體聯絡。
一次只能對一項授權啟用一項授權。
視設定方式而定,授權要求可能需要經過核准才能授予。
如果授權要求需要核准,且在 24 小時內未獲核准或遭拒,授權狀態就會變更為
Expired。之後,如果仍需提升權限,您必須提出新的授權要求。成功授予存取權後,可能需要幾分鐘的時間才會生效。
使用 Google Cloud 控制台要求授權
如要根據權利要求授權,請完成下列操作:
前往「Privileged Access Manager」頁面。
選取要申請補助的機構、資料夾或專案。
在「我的權利」分頁中,找出要提出要求的權利,然後按一下同一列中的「要求授權」。
請提供下列詳細資料:
授權的必要時間長度,最長不得超過權利中設定的時間長度上限。
如有需要,請提供授權理由。
選用:要通知哪些電子郵件地址有關授權要求。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知其他電子郵件地址,特別是使用 Workforce Identity Federation 時。
按一下「申請補助」。
如要查看補助金記錄 (包括核准狀態),請依序點選「補助金」分頁和「我的補助金」分頁。
以程式輔助方式要求授予權限
如要針對權利要求授予權限,請完成下列步驟:
搜尋可要求授權的可用授權 ID。
要求授予權限。
之後,您可以查看授權狀態,確認是否已啟用,也就是您已獲得暫時提升的權限。
搜尋可用的授權
gcloud
gcloud pam entitlements search
grant-requester 呼叫端存取權類型的命令會搜尋可要求授權的授權。
使用下方的任何指令資料之前,請先替換以下項目:
RESOURCE_TYPE:選用。權利所屬的資源類型。請使用organization、folder或project值。RESOURCE_ID:與RESOURCE_TYPE搭配使用。要管理權限的 Google Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project。 資料夾和機構 ID 是數字,例如123456789012。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud pam entitlements search \ --caller-access-type=grant-requester \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam entitlements search ` --caller-access-type=grant-requester ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam entitlements search ^ --caller-access-type=grant-requester ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
additionalNotificationTargets: {}
approvalWorkflow:
manualApprovals:
requireApproverJustification: true
steps:
- approvalsNeeded: 1
approvers:
- principals:
- user:alex@example.com
createTime: '22024-03-26T11:07:37.009498890Z'
etag: ETAG
maxRequestDuration: 3600s
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:
notMandatory: {}
state: AVAILABLE
updateTime: '2024-03-26T11:07:40.056780645Z'
REST
Privileged Access Manager API 的 searchEntitlements 方法會使用 GRANT_REQUESTER 呼叫端存取類型,搜尋您可以要求授權的權利。
使用任何要求資料之前,請先替換以下項目:
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/v1/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_REQUESTER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
[
{
"name": "projects/my-project/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
}
]
}
},
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
"roleBindings": [
{
"role": "roles/storage.admin"
}
]
}
},
"maxRequestDuration": "14400s",
"state": "AVAILABLE",
"requesterJustificationConfig": {
"unstructured": {}
},
"additionalNotificationTargets": {
"adminEmailRecipients": [
"alex@example.com"
]
},
"etag": "ETAG"
}
]
要求授予權限
gcloud
gcloud pam grants create 指令會要求授權。
使用下方的任何指令資料之前,請先替換以下項目:
ENTITLEMENT_ID:用來建立授權的權利 ID。GRANT_DURATION:要求的授權長度,以秒為單位。JUSTIFICATION:要求授予權限的理由。EMAIL_ADDRESS:選用。要接收授權要求通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能需要通知一組不同的電子郵件地址,特別是使用 員工身分聯盟時。RESOURCE_TYPE:選用。權利所屬的資源類型。請使用organization、folder或project值。RESOURCE_ID:與RESOURCE_TYPE搭配使用。要管理權限的 Google Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如my-project。 資料夾和機構 ID 是數字,例如123456789012。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud pam grants create \ --entitlement=ENTITLEMENT_ID \ --requested-duration="GRANT_DURATIONs" \ --justification="JUSTIFICATION" \ --location=global \ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam grants create ` --entitlement=ENTITLEMENT_ID ` --requested-duration="GRANT_DURATIONs" ` --justification="JUSTIFICATION" ` --location=global ` [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam grants create ^ --entitlement=ENTITLEMENT_ID ^ --requested-duration="GRANT_DURATIONs" ^ --justification="JUSTIFICATION" ^ --location=global ^ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
Created [GRANT_ID].
REST
Privileged Access Manager API 的 createGrant 方法會要求授權。
使用任何要求資料之前,請先替換以下項目:
SCOPE:權利所在的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID、folders/FOLDER_ID或projects/PROJECT_ID。專案 ID 為英數字串,例如my-project。資料夾和機構 ID 為數字,例如123456789012。ENTITLEMENT_ID:用來建立授權的權利 ID。REQUEST_ID:選用。必須為非零 UUID。 如果伺服器收到含有要求 ID 的要求,會檢查過去 60 分鐘內是否已完成具有該 ID 的其他要求。如果是,系統會忽略新要求。GRANT_DURATION:要求的授權長度,以秒為單位。JUSTIFICATION:要求授予權限的理由。EMAIL_ADDRESS:選用。要接收授權要求通知的其他電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能需要通知一組不同的電子郵件地址,特別是使用 員工身分聯合驗證時。
HTTP 方法和網址:
POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID
JSON 要求主體:
{
"requestedDuration": "GRANT_DURATIONs",
"justification": {
"unstructuredJustification": "JUSTIFICATION"
},
"additionalEmailRecipients": [
"EMAIL_ADDRESS_1",
"EMAIL_ADDRESS_2",
...
]
}
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{
"name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
"createTime": "2024-03-06T03:08:49.330577625Z",
"updateTime": "2024-03-06T03:08:49.330577625Z",
"requester": "bola@example.com",
"requestedDuration": "3600s",
"justification": {
"unstructuredJustification": "Emergency service for outage"
},
"state": "APPROVAL_AWAITED",
"timeline": {
"events": [
{
"eventTime": "2024-03-06T03:08:49.462765846Z",
"requested": {
"expireTime": "2024-03-07T03:08:49.462765846Z"
}
}
]
},
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
"roleBindings": [
{
"role": "roles/storage.admin"
}
]
}
},
"additionalEmailRecipients": [
"alex@example.com"
]
}
查看補助申請狀態
gcloud
搭配 had-created 呼叫端關係使用的 gcloud pam grants search 指令會搜尋您建立的授權。如要查看狀態,請在回應中尋找 state 欄位。
使用下方的任何指令資料之前,請先替換以下項目:
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 pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=had-created \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=had-created ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=had-created ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
您應該會收到類似以下的回應:
additionalEmailRecipients:
- bola@example.com
createTime: '2024-03-07T00:34:32.557017289Z'
justification:
unstructuredJustification: Renaming a file to mitigate issue #312
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
gcpIamAccess:
resource: //cloudresourcemanager.googleapis.com/projects/my-project
resourceType: cloudresourcemanager.googleapis.com/Project
roleBindings:
- role: roles/storage.admin
requestedDuration: 3600s
requester: cruz@example.com
state: DENIED
timeline:
events:
- eventTime: '2024-03-07T00:34:32.793769042Z'
requested:
expireTime: '2024-03-08T00:34:32.793769042Z'
- denied:
actor: alex@example.com
reason: Issue has already been resolved
eventTime: '2024-03-07T00:36:08.309116203Z'
updateTime: '2024-03-07T00:34:32.926967128Z'
補助金可能處於下列狀態:
| 狀態 | 說明 |
|---|---|
| 啟用中 | 正在啟用補助金。 |
| ACTIVATION_FAILED | 發生無法重試的錯誤,因此 Privileged Access Manager 無法授予角色。 |
| 有效 | 授權有效,且主體可存取角色允許的資源。 |
| APPROVAL_AWAITED | 授予要求正在等待核准者做出決定。 |
| 禁止所有人使用 | 核准者已拒絕授權要求。 |
| 已結束 | 授權已終止,且主體已移除角色。 |
| 已過期 | 由於未在 24 小時內核准,授權要求已過期。 |
| 已撤銷 | 授權遭撤銷,主體無法再存取角色允許的資源。 |
| 撤銷 | 系統正在撤銷授予項目。 |
REST
Privileged Access Manager API 的 searchGrants 方法會搭配 HAD_CREATED 呼叫端關係,搜尋您建立的授權。如要查看狀態,請在回應中尋找 state 欄位。
使用任何要求資料之前,請先替換以下項目:
SCOPE:權利所在的機構、資料夾或專案,格式為organizations/ORGANIZATION_ID、folders/FOLDER_ID或projects/PROJECT_ID。專案 ID 為英數字串,例如my-project。資料夾和機構 ID 為數字,例如123456789012。ENTITLEMENT_ID:授權所屬的授權 ID。FILTER:選用。傳回欄位值符合 AIP-160 運算式的授權。PAGE_SIZE:選用。要在回應中傳回的項目數。PAGE_TOKEN:選用。要從哪個頁面開始回應,使用先前回應中傳回的頁面權杖。
HTTP 方法和網址:
GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=HAD_CREATED&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{
"grants": [
{
"name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
"createTime": "2024-03-06T03:08:49.330577625Z",
"updateTime": "2024-03-06T03:08:49.625874598Z",
"requester": "alex@example.com",
"requestedDuration": "3600s",
"justification": {
"unstructuredJustification": "Emergency service for outage"
},
"state": "APPROVAL_AWAITED",
"timeline": {
"events": [
{
"eventTime": "2024-03-06T03:08:49.462765846Z",
"requested": {
"expireTime": "2024-03-07T03:08:49.462765846Z"
}
}
]
},
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
"roleBindings": [
{
"role": "roles/storage.admin"
}
]
}
},
"additionalEmailRecipients": [
"bola@google.com"
]
}
]
}
下表詳細說明瞭補助金狀態。
| 狀態 | 說明 |
|---|---|
| 啟用中 | 正在啟用補助金。 |
| ACTIVATION_FAILED | 發生無法重試的錯誤,因此 Privileged Access Manager 無法授予角色。 |
| 有效 | 授權有效,且主體可存取角色允許的資源。 |
| APPROVAL_AWAITED | 授予要求正在等待核准者做出決定。 |
| 禁止所有人使用 | 核准者已拒絕授權要求。 |
| 已結束 | 授權已終止,且主體已移除角色。 |
| 已過期 | 由於未在 24 小時內核准,授權要求已過期。 |
| 已撤銷 | 授權遭撤銷,主體無法再存取角色允許的資源。 |
| 撤銷 | 系統正在撤銷授予項目。 |