권한을 일시적으로 승격하려면 Privileged Access Manager(PAM)에서 고정된 기간 동안 사용 권한에 대해 권한 부여를 요청할 수 있습니다.
사용 권한에는 권한 부여 요청이 성공한 후 사용자에게 부여되는 역할이 포함되어 있습니다. 이러한 역할은 권한 부여가 종료될 때 Privileged Access Manager에서 삭제됩니다.
사용 권한에 대해 권한 부여를 요청할 때는 다음 사항에 유의하세요.
자신이 추가된 사용 권한에 대해서만 권한 부여를 요청할 수 있습니다. 사용 권한에 추가되려면 해당 사용 권한을 관리하는 주 구성원에게 문의하세요.
설정된 방법에 따라 권한 부여 요청을 위해 승인이 필요할 수 있습니다.
권한 부여 요청에 승인이 필요하고 24시간 내에 승인 또는 거부되지 않으면 권한 부여 상태가
Expired
로 변경됩니다. 이후에도 권한 승격이 필요하면 권한 부여를 새로 요청해야 합니다.성공한 권한 부여 요청은 적용하는 데 몇 분 정도 걸릴 수 있습니다.
Google Cloud 콘솔을 사용하여 권한 부여 요청
사용 권한에 대해 권한 부여를 요청하려면 다음 안내를 따르세요.
Privileged Access Manager 페이지로 이동합니다.
권한 부여를 요청하려는 조직, 폴더, 프로젝트를 선택합니다.
내 사용 권한 탭에서 요청하려는 사용 권한을 찾고 같은 행에서 권한 부여 요청을 클릭합니다.
다음과 같은 정보를 입력합니다.
사용 권한에 설정된 최대 기간까지 권한 부여에 필요한 기간을 입력합니다.
필요한 경우 권한 부여의 이유를 입력합니다.
선택사항: 권한 부여 요청 알림을 표시할 이메일 주소를 입력합니다. 승인 담당자와 연결된 Google ID에 자동으로 알림이 표시됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 보내야 할 수 있습니다.
권한 부여 요청을 클릭합니다.
승인 상태를 포함한 권한 부여 기록을 보려면 권한 부여 탭과 내 권한 부여 탭을 차례로 클릭합니다.
프로그래매틱 방식으로 권한 부여 요청
사용 권한에 대해 권한 부여를 요청하려면 다음 단계를 완료해야 합니다.
권한 부여를 요청할 수 있는 사용 가능한 사용 권한 ID를 검색합니다.
권한 부여를 요청합니다.
그런 후 권한 부여 상태를 보고 임시 승격이 수신되었는지 활성 여부를 확인할 수 있습니다.
사용 가능한 사용 권한 검색
gcloud
gcloud beta 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 beta pam entitlements search \ --caller-access-type=grant-requester \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam entitlements search ` --caller-access-type=grant-requester ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta 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
GRANT_REQUESTER
호출자 액세스 유형과 함께 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_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 beta pam grants create
명령어는 권한 부여를 요청합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
ENTITLEMENT_ID
: 권한 부여를 만들려는 사용 권한 ID입니다.GRANT_DURATION
: 요청된 권한 부여 기간(초)입니다.JUSTIFICATION
: 권한 부여를 요청하는 근거입니다.EMAIL_ADDRESS
: 선택사항. 권한 부여 요청에 대한 알림을 표시할 추가적인 이메일 주소입니다. 승인 담당자와 연결된 Google ID에 자동으로 알림이 표시됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 표시해야 할 수 있습니다.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 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 beta 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 beta 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
: 선택사항. 0이 아닌 UUID여야 합니다. 요청 ID가 포함된 요청이 서버에 수신되는 경우 해당 ID를 사용하는 다른 요청이 최근 60분 내에 이미 완료되었는지 확인합니다. 그러면 새 요청이 무시됩니다.GRANT_DURATION
: 요청된 권한 부여 기간(초)입니다.JUSTIFICATION
: 권한 부여를 요청하는 근거입니다.EMAIL_ADDRESS
: 선택사항. 권한 부여 요청에 대한 알림을 표시할 추가적인 이메일 주소입니다. 승인 담당자와 연결된 Google ID에 자동으로 알림이 표시됩니다. 하지만 특히 직원 ID 제휴를 사용하는 경우 다른 이메일 주소 집합에 알림을 표시해야 할 수 있습니다.
HTTP 메서드 및 URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/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 beta 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 beta pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=had-created \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud beta pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=had-created ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud beta 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'
권한 부여의 상태는 다음과 같습니다.
상태 | 설명 |
---|---|
ACTIVATING | 권한 부여가 활성화되는 중입니다. |
ACTIVATION_FAILED | Privileged Access Manager가 재시도할 수 없는 오류로 인해 역할을 부여할 수 없습니다. |
활성 | 권한 부여가 활성화되었고 주 구성원에 해당 역할에 허용되는 리소스에 대한 액세스 권한이 있습니다. |
APPROVAL_AWAITED | 권한 부여 요청이 승인 담당자의 결정을 기다리는 중입니다. |
거부됨 | 승인 담당자가 권한 부여 요청을 거부했습니다. |
ENDED | 권한 부여가 종료되었고 역할이 주 구성원에서 삭제되었습니다. |
만료됨 | 24시간 내에 승인이 부여되지 않아서 권한 부여 요청이 만료되었습니다. |
REVOKED | 권한 부여가 취소되었고 역할에 허용되는 리소스에 대한 액세스 권한이 더 이상 주 구성원에게 없습니다. |
REVOKING | 권한 부여를 취소하는 중입니다. |
REST
HAD_CREATED
호출자 관계와 함께 사용되는 Privileged Access Manager API의 searchGrants
메서드는 사용자가 만든 권한 부여를 검색합니다. 상태를 확인하려면 응답에서 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 메서드 및 URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/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" ] } ] }
다음 표에서는 권한 부여 상태에 대해 자세히 설명합니다.
상태 | 설명 |
---|---|
ACTIVATING | 권한 부여가 활성화되는 중입니다. |
ACTIVATION_FAILED | Privileged Access Manager가 재시도할 수 없는 오류로 인해 역할을 부여할 수 없습니다. |
활성 | 권한 부여가 활성화되었고 주 구성원에 해당 역할에 허용되는 리소스에 대한 액세스 권한이 있습니다. |
APPROVAL_AWAITED | 권한 부여 요청이 승인 담당자의 결정을 기다리는 중입니다. |
거부됨 | 승인 담당자가 권한 부여 요청을 거부했습니다. |
ENDED | 권한 부여가 종료되었고 역할이 주 구성원에서 삭제되었습니다. |
만료됨 | 24시간 내에 승인이 부여되지 않아서 권한 부여 요청이 만료되었습니다. |
REVOKED | 권한 부여가 취소되었고 역할에 허용되는 리소스에 대한 액세스 권한이 더 이상 주 구성원에게 없습니다. |
REVOKING | 권한 부여를 취소하는 중입니다. |