사용 권한이 생성된 후 선택한 주 구성원은 해당 사용 권한에 대해 권한 부여를 요청할 수 있습니다. 사용 권한에 승인 워크플로가 지정된 경우 승인 담당자로 설정된 선택한 주 구성원은 해당 사용 권한에 대해 권한 부여 요청을 승인하거나 거부할 수 있습니다.
사용 권한에 대해 권한 부여 요청을 승인하거나 거부할 때는 다음 사항에 유의하세요.
자신의 요청은 승인할 수 없습니다.
요청이 24시간 내에 승인 또는 거부되지 않으면 권한 부여 상태가
expired
로 변경됩니다. 이후에도 권한 승격이 필요하면 주 구성원이 권한 부여를 새로 요청해야 합니다.
Google Cloud 콘솔을 사용하여 권한 부여 승인 또는 거부
사용 권한에 대해 수행된 권한 부여 요청을 승인하거나 거부하려면 다음 안내를 따르세요.
Privileged Access Manager 페이지로 이동합니다.
권한 부여 승인 탭과 승인 대기 중 탭을 차례로 클릭합니다.
승인 또는 거부하려는 요청과 연결된 행에서 승인/거부를 클릭합니다.
근거가 필요하면 의견 필드에 입력합니다.
승인 또는 거부를 클릭합니다.
내 승인 기록 탭에서 승인 기록을 볼 수 있습니다. 승인 기록은 승인 작업이 수행된 후 30일 동안 제공됩니다.
프로그래매틱 방식으로 권한 부여 승인 또는 거부
권한 부여를 승인하거나 거부하려면 다음 작업을 수행해야 합니다.
내가 승인 담당자인 사용 권한을 검색합니다.
관련 사용 권한 ID를 사용해서 승인 또는 거부할 수 있는 권한 부여 요청을 검색합니다.
권한 부여 요청을 승인 또는 거부합니다.
내가 승인 담당자인 사용 권한 검색
gcloud
gcloud beta pam entitlements search
명령어는 grant-approver
호출자 액세스 유형을 사용하여 사용자가 승인 담당자인 사용 권한을 검색합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
RESOURCE_TYPE
: 선택사항. 사용 권한이 속한 리소스 유형입니다.organization
,folder
,project
값을 사용합니다.RESOURCE_ID
:RESOURCE_TYPE
에 사용됩니다. 사용 권한을 관리하려는 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud beta pam entitlements search \ --caller-access-type=grant-approver \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements search ` --caller-access-type=grant-approver ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam entitlements search ^ --caller-access-type=grant-approver ^ --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: 00000000000000000000000000000000000000000000000000000000000= 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
GRANT_APPROVER
호출자 액세스 유형이 지정된 Privileged Access Manager API의 searchEntitlements
메서드는 사용자가 승인 담당자인 사용 권한을 검색합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
SCOPE
: 사용 권한이 있는 조직, 폴더, 프로젝트로,organizations/ORGANIZATION_ID
,folders/FOLDER_ID
또는projects/PROJECT_ID
형식입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.FILTER
: 선택사항. 필드 값이 AIP-160 표현식과 일치하는 사용 권한을 반환합니다.PAGE_SIZE
: 선택사항. 응답에 반환할 항목 수입니다.PAGE_TOKEN
: 선택사항. 이전 응답에서 반환된 페이지 토큰을 사용하여 응답을 시작하는 페이지입니다.
HTTP 메서드 및 URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_APPROVER&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": "00000000000000000000000000000000000000000000000000000000000=" } ]
승인하거나 거부할 수 있는 권한 부여 요청 검색
gcloud
gcloud beta pam grants search
명령어는 사용자가 승인 또는 거부할 수 있거나, 이미 승인 또는 거부한 권한 부여를 검색합니다. 이 메서드를 사용할 때는 특정 Privileged Access Manager 권한이 필요하지 않습니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다. 사용자가 승인 담당자인 사용 권한을 검색하여 ID를 검색할 수 있습니다.-
CALLER_RELATIONSHIP_TYPE
: 다음 중 한 가지 값을 사용합니다.had-approved
: 호출자가 승인 또는 거부한 권한 부여를 반환합니다.can-approve
: 호출자가 승인 또는 거부할 수 있는 권한 부여를 반환합니다.
RESOURCE_TYPE
: 선택사항. 사용 권한이 속한 리소스 유형입니다.organization
,folder
,project
값을 사용합니다.RESOURCE_ID
:RESOURCE_TYPE
에 사용됩니다. 사용 권한을 관리하려는 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud beta pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=CALLER_RELATIONSHIP_TYPE \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=CALLER_RELATIONSHIP_TYPE ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=CALLER_RELATIONSHIP_TYPE ^ --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'
REST
Privileged Access Manager API의 searchGrants
메서드는 사용자가 승인 또는 거부할 수 있거나, 이미 승인 또는 거부한 권한 부여를 검색합니다. 이 메서드를 사용할 때는 특정 Privileged Access Manager 권한이 필요하지 않습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
SCOPE
: 사용 권한이 있는 조직, 폴더, 프로젝트로,organizations/ORGANIZATION_ID
,folders/FOLDER_ID
또는projects/PROJECT_ID
형식입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다. 사용자가 승인 담당자인 사용 권한을 검색하여 ID를 검색할 수 있습니다.RELATIONSHIP_TYPE
: 유효한 값은 다음과 같습니다.HAD_APPROVED
: 호출자가 이전에 승인 또는 거부한 권한 부여를 반환합니다.CAN_APPROVE
: 호출자가 승인 또는 거부할 수 있는 권한 부여를 반환합니다.
FILTER
: 선택사항. 필드 값이 AIP-160 표현식과 일치하는 권한 부여를 반환합니다.PAGE_SIZE
: 선택사항. 응답에 반환할 항목 수입니다.PAGE_TOKEN
: 선택사항. 이전 응답에서 반환된 페이지 토큰을 사용하여 응답을 시작하는 페이지입니다.
HTTP 메서드 및 URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=RELATIONSHIP_TYPE&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" ] } ] }
프로그래매틱 방식으로 권한 부여 승인
gcloud
gcloud beta pam grants describe
명령어는 특정 권한 부여 요청을 승인합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
GRANT_ID
: 승인하려는 권한 부여의 ID입니다. 승인 또는 거부할 수 있는 권한 부여 요청을 검색하여 ID를 검색할 수 있습니다.ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다.APPROVAL_REASON
: 권한 부여가 승인된 이유입니다.RESOURCE_TYPE
: 선택사항. 사용 권한이 속한 리소스 유형입니다.organization
,folder
,project
값을 사용합니다.RESOURCE_ID
:RESOURCE_TYPE
에 사용됩니다. 사용 권한을 관리하려는 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud beta pam grants approve \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="APPROVAL_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam grants approve ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="APPROVAL_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam grants approve ^ GRANT_ID ^ --entitlement=ENTITLEMENT_ID ^ --reason="APPROVAL_REASON" ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
다음과 비슷한 응답이 표시됩니다.
createTime: '2024-04-05T01:17:04.596455403Z' 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: 2700s requester: cruz@example.com state: SCHEDULED timeline: events: - eventTime: '2024-04-05T01:17:04.732226659Z' requested: expireTime: '2024-04-06T01:17:04.732226659Z' - approved: actor: alex@example.com reason: Access allowed under existing policy eventTime: '2024-04-05T01:21:49.139539732Z' - eventTime: '2024-04-05T01:21:49.139463954Z' scheduled: scheduledActivationTime: '2024-04-05T01:21:49.139463954Z' updateTime: '2024-04-05T01:21:49.139463954Z'
REST
Privileged Access Manager API의 approveGrant
메서드는 특정 권한 부여 요청을 승인합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
SCOPE
: 사용 권한이 있는 조직, 폴더, 프로젝트로,organizations/ORGANIZATION_ID
,folders/FOLDER_ID
또는projects/PROJECT_ID
형식입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다.GRANT_ID
: 승인하려는 권한 부여의 ID입니다. 승인 또는 거부할 수 있는 권한 부여 요청을 검색하여 ID를 검색할 수 있습니다.REASON
: 권한 부여 요청이 승인된 이유입니다.
HTTP 메서드 및 URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:approve
JSON 요청 본문:
{ "reason": "REASON" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T23:01:13.964619844Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "SCHEDULED", "timeline": { "events": [ { "eventTime": "2024-03-06T03:08:49.462765846Z", "requested": { "expireTime": "2024-03-07T03:08:49.462765846Z" } }, { "eventTime": "2024-03-06T23:01:13.964685709Z", "approved": { "reason": "Approved escalation", "actor": "cruz@example.com" } }, { "eventTime": "2024-03-06T23:01:13.964619844Z", "scheduled": { "scheduledActivationTime": "2024-03-06T23:01:13.964619844Z" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@example.com.com" ] }
프로그래매틱 방식으로 권한 부여 거부
gcloud
gcloud beta pam grants describe
명령어는 특정 권한 부여 요청을 거부합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
GRANT_ID
: 거부하려는 권한 부여의 ID입니다. 승인 또는 거부할 수 있는 권한 부여를 검색하여 ID를 검색할 수 있습니다.ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다.DENIAL_REASON
: 권한 부여가 거부된 이유입니다.RESOURCE_TYPE
: 선택사항. 사용 권한이 속한 리소스 유형입니다.organization
,folder
,project
값을 사용합니다.RESOURCE_ID
:RESOURCE_TYPE
에 사용됩니다. 사용 권한을 관리하려는 Google Cloud 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud beta pam grants deny \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="DENIAL_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam grants deny ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="DENIAL_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta pam grants deny ^ GRANT_ID ^ --entitlement=ENTITLEMENT_ID ^ --reason="DENIAL_REASON" ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
다음과 비슷한 응답이 표시됩니다.
createTime: '2024-04-05T01:29:13.129192816Z' 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: 2700s requester: cruz@example.com state: DENIED timeline: events: - eventTime: '2024-04-05T01:29:13.267878626Z' requested: expireTime: '2024-04-06T01:29:13.267878626Z' - denied: actor: alex@example.com reason: Access denied under existing policy eventTime: '2024-04-05T01:29:49.492161363Z' updateTime: '2024-04-05T01:29:49.492097724Z'
REST
Privileged Access Manager API의 denyGrant
메서드는 특정 권한 부여 요청을 거부합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
SCOPE
: 사용 권한이 있는 조직, 폴더, 프로젝트로,organizations/ORGANIZATION_ID
,folders/FOLDER_ID
또는projects/PROJECT_ID
형식입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는123456789012
와 같은 숫자입니다.ENTITLEMENT_ID
: 권한 부여가 속한 사용 권한의 ID입니다.GRANT_ID
: 거부하려는 권한 부여의 ID입니다. 승인 또는 거부할 수 있는 권한 부여를 검색하여 ID를 검색할 수 있습니다.REASON
: 권한 부여 요청이 거부된 이유입니다.
HTTP 메서드 및 URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:deny
JSON 요청 본문:
{ "reason": "REASON" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-07T00:34:32.557017289Z", "updateTime": "2024-03-07T00:36:08.309046580Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "DENIED", "timeline": { "events": [ { "eventTime": "2024-03-07T00:34:32.793769042Z", "requested": { "expireTime": "2024-03-08T00:34:32.793769042Z" } }, { "eventTime": "2024-03-07T00:36:08.309116203Z", "denied": { "reason": "Outage already resolved", "actor": "cruz@example.com" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@example.com" ] }