Privileged Access Manager에서 사용 권한 보기, 업데이트, 삭제

사용 권한을 만든 후 사용 권한을 보거나, 업데이트하거나, 삭제할 수 있습니다.

시작하기 전에

Privileged Access Manager를 사용 설정하고 권한을 설정했는지 확인합니다.

Google Cloud 콘솔을 사용하여 사용 권한 보기, 업데이트, 삭제

  1. Privileged Access Manager 페이지로 이동합니다.

    Privileged Access Manager로 이동

  2. 사용 권한을 관리할 조직, 폴더 또는 프로젝트를 선택합니다.

  3. 사용 권한 탭에서 모든 사용자의 사용 권한 탭을 클릭합니다. 여기에서 사용 가능한 사용 권한, 부여되는 역할, 유효한 요청자 및 승인 담당자를 확인할 수 있습니다.

  4. 테이블의 조사하려는 사용 권한과 동일한 행에서 추가 옵션을 클릭합니다.

    • 사용 권한 세부정보를 보려면 사용 권한 세부정보 보기를 클릭합니다.

    • 사용 권한과 연결된 부여를 보려면 연결된 부여 보기를 클릭합니다.

    • 사용 권한에 대한 모든 활성 상태의 부여를 취소하려면 모든 부여 취소를 클릭합니다.

    • 사용 권한을 삭제하려면 사용 권한 삭제를 클릭합니다. 활성 상태인 부여가 있는 사용 권한은 삭제할 수 없습니다. 먼저 부여를 취소해야 합니다.

  5. 사용 권한을 업데이트하려면 업데이트할 사용 권한과 동일한 행에서 사용 권한 수정을 클릭합니다.

    사용 권한을 업데이트할 때는 다음 사항에 유의하세요.

    • 업데이트된 사용 권한 구성은 업데이트 후 요청된 부여에만 적용됩니다. 승인 담당자 변경사항은 아직 승인 또는 거부되지 않은 기존의 부여 요청에도 적용됩니다.

    • 사용 권한을 업데이트할 때 승인 필요 여부는 변경할 수 없습니다. 승인 상태를 변경해야 하는 경우 대신 새 사용 권한을 만드세요.

    • 사용 권한의 요청자 및 승인 담당자에 대한 변경사항이 전파되는 데 몇 분 정도 걸릴 수 있습니다.

프로그래매틱 방식으로 사용 권한 보기

프로그래매틱 방식으로 사용 권한을 보려면 사용 권한을 검색하고, 나열하고, 가져오고, 내보내면 됩니다.

사용 권한 나열

gcloud

gcloud beta 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 beta pam entitlements list \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam entitlements list `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta pam entitlements list ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

다음과 비슷한 응답이 표시됩니다.

additionalNotificationTargets:
  adminEmailRecipients:
  - alex@example.com
createTime: '2024-03-26T11:07:37.009498890Z'
eligibleUsers:
- principals:
  - user:bola@example.com
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:
  unstructured: {}
state: AVAILABLE
updateTime: '2024-03-26T11:07:40.056780645Z'

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 메서드 및 URL:

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?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 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 beta pam entitlements describe \
    ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam entitlements describe `
    ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta pam entitlements describe ^
    ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

다음과 비슷한 응답이 표시됩니다.

additionalNotificationTargets:
  adminEmailRecipients:
  - alex@example.com
createTime: '2024-03-26T11:07:37.009498890Z'
eligibleUsers:
- principals:
  - user:bola@example.com
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:
  unstructured: {}
state: AVAILABLE
updateTime: '2024-03-26T11:07:40.056780645Z'

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 메서드 및 URL:

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 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 CLI를 사용하여 사용 권한 내보내기

gcloud beta 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 beta pam entitlements export \
    ENTITLEMENT_ID \
    --destination=FILENAME.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam entitlements export `
    ENTITLEMENT_ID `
    --destination=FILENAME.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta 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'.

프로그래매틱 방식으로 사용 권한 업데이트

사용 권한을 업데이트할 때는 다음 사항에 유의하세요.

  • 업데이트된 사용 권한 구성은 업데이트 후 요청된 부여에만 적용됩니다. 승인 담당자 변경사항은 아직 승인 또는 거부되지 않은 기존의 부여 요청에도 적용됩니다.

  • 사용 권한을 업데이트할 때 승인 필요 여부는 변경할 수 없습니다. 승인 상태를 변경해야 하는 경우 대신 새 사용 권한을 만드세요.

  • 사용 권한의 요청자 및 승인 담당자에 대한 변경사항이 전파되는 데 몇 분 정도 걸릴 수 있습니다.

gcloud

gcloud beta 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 beta pam entitlements update \
    ENTITLEMENT_ID \
    --entitlement-file=FILENAME.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam entitlements update `
    ENTITLEMENT_ID `
    --entitlement-file=FILENAME.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta pam entitlements update ^
    ENTITLEMENT_ID ^
    --entitlement-file=FILENAME.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

다음과 비슷한 응답이 표시됩니다.

Request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Updated entitlement [ENTITLEMENT_ID].
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - 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/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
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: 선택사항. 0이 아닌 UUID여야 합니다. 요청 ID가 포함된 요청이 서버에 수신되는 경우 해당 ID를 사용하는 다른 요청이 최근 60분 내에 이미 완료되었는지 확인합니다. 그러면 새 요청이 무시됩니다.
  • request.json: 사용 권한의 수정된 구성이 포함된 파일입니다. 이 파일을 만들려면 기존 사용 권한을 가져오거나 내보내고 응답을 request.json이라는 파일에 저장한 다음 업데이트 요청의 본문으로 사용할 수 있도록 수정합니다. 최신 버전의 사용 권한을 업데이트하려면 본문에 ETAG를 포함해야 합니다. 변경하거나 추가할 수 있는 사용 가능한 필드는 프로그래매틱 방식으로 사용 권한 만들기를 참고하세요.

HTTP 메서드 및 URL:

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 beta 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 beta pam entitlements delete \
    ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam entitlements delete `
    ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta 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: 선택사항. 0이 아닌 UUID여야 합니다. 요청 ID가 포함된 요청이 서버에 수신되는 경우 해당 ID를 사용하는 다른 요청이 최근 60분 내에 이미 완료되었는지 확인합니다. 그러면 새 요청이 무시됩니다.

HTTP 메서드 및 URL:

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