如要暫時提升權限,您可以在 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 小時內核准,授權要求已過期。 |
已撤銷 | 授權遭撤銷,主體無法再存取角色允許的資源。 |
撤銷 | 系統正在撤銷授予項目。 |