Menyetujui atau menolak pemberian dengan Privileged Access Manager

Setelah hak dibuat, prinsipal tertentu dapat meminta pemberian terhadap hak tersebut. Jika hak tersebut memiliki alur kerja persetujuan yang ditentukan, akun utama tertentu yang disiapkan sebagai pemberi persetujuan kemudian dapat menyetujui atau menolak permintaan pemberian hak untuk hak tersebut.

Perhatikan hal-hal berikut saat menyetujui atau menolak permintaan hibah terhadap hak:

  • Anda tidak dapat menyetujui permintaan Anda sendiri.

  • Jika permintaan tidak disetujui atau ditolak dalam 24 jam, status pemberian akan diubah menjadi expired. Setelah itu, akun utama harus membuat permintaan pemberian baru jika elevasi hak istimewa masih diperlukan.

Menyetujui atau menolak pemberian menggunakan konsol Google Cloud

Untuk menyetujui atau menolak permintaan hibah yang telah dibuat berdasarkan hak, selesaikan petunjuk berikut:

  1. Buka halaman Privileged Access Manager.

    Buka Privileged Access Manager

  2. Klik tab Approve grants, diikuti dengan tab Pending approval.

  3. Pada baris yang terkait dengan permintaan yang ingin Anda setujui atau tolak, klik Setujui/tolak.

  4. Jika justifikasi diperlukan, masukkan di kolom Komentar.

  5. Klik Setujui atau Tolak.

Anda dapat melihat histori persetujuan di tab Histori persetujuan saya. Histori persetujuan tersedia selama 30 hari setelah tindakan persetujuan diambil.

Menyetujui atau menolak pemberian secara terprogram

Untuk menyetujui atau menolak hibah, Anda harus menyelesaikan tindakan berikut:

  1. Telusuri hak yang Anda setujui.

  2. Dengan ID hak yang relevan, telusuri permintaan hibah yang dapat Anda setujui atau tolak.

  3. Menyetujui atau menolak permintaan pemberian.

Menelusuri hak yang Anda setujui

gcloud

Perintah gcloud beta pam entitlements search dengan jenis akses pemanggil grant-approver menelusuri hak yang Anda setujui.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • RESOURCE_TYPE: Opsional. Jenis resource yang menjadi milik hak. Gunakan nilai organization, folder, atau project.
  • RESOURCE_ID: Digunakan dengan RESOURCE_TYPE. ID project, folder, atau organisasi Google Cloud yang haknya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.

Jalankan perintah berikut:

Linux, macOS, atau 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

Anda akan melihat respons seperti berikut:

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

Metode searchEntitlements Privileged Access Manager API dengan jenis akses pemanggil GRANT_APPROVER menelusuri hak yang Anda setujui.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • SCOPE: Organisasi, folder, atau project tempat hak berada, dalam format organizations/ORGANIZATION_ID, folders/FOLDER_ID, atau projects/PROJECT_ID. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
  • FILTER: Opsional. Menampilkan hak yang nilai kolomnya cocok dengan ekspresi AIP-160.
  • PAGE_SIZE: Opsional. Jumlah item yang akan ditampilkan dalam respons.
  • PAGE_TOKEN: Opsional. Halaman mana yang akan memulai respons, menggunakan token halaman yang ditampilkan dalam respons sebelumnya.

Metode HTTP dan URL:

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_APPROVER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

[
  {
    "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="
  }
]

Menelusuri permintaan pemberian yang dapat Anda setujui atau tolak

gcloud

Perintah gcloud beta pam grants search menelusuri hibah yang dapat Anda setujui atau tolak, atau telah disetujui atau ditolak. Metode ini tidak memerlukan izin Privileged Access Manager tertentu untuk digunakan.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ENTITLEMENT_ID: ID hak yang dimiliki hibah. Anda dapat mengambil ID dengan menelusuri hak yang Anda setujui.
  • CALLER_RELATIONSHIP_TYPE: Gunakan salah satu nilai berikut:

    • had-approved: Menampilkan hibah yang telah disetujui atau ditolak oleh pemanggil.
    • can-approve: Menampilkan pemberian yang dapat disetujui atau ditolak oleh pemanggil.
  • RESOURCE_TYPE: Opsional. Jenis resource yang menjadi milik hak. Gunakan nilai organization, folder, atau project.
  • RESOURCE_ID: Digunakan dengan RESOURCE_TYPE. ID project, folder, atau organisasi Google Cloud yang haknya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.

Jalankan perintah berikut:

Linux, macOS, atau 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

Anda akan melihat respons seperti berikut:

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

Metode searchGrants Privileged Access Manager API menelusuri pemberian yang dapat Anda setujui atau tolak, atau telah Anda setujui atau tolak. Metode ini tidak memerlukan izin Privileged Access Manager tertentu untuk digunakan.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • SCOPE: Organisasi, folder, atau project tempat hak berada, dalam format organizations/ORGANIZATION_ID, folders/FOLDER_ID, atau projects/PROJECT_ID. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
  • ENTITLEMENT_ID: ID hak yang dimiliki hibah. Anda dapat mengambil ID dengan menelusuri hak yang Anda setujui.
  • RELATIONSHIP_TYPE: Nilai yang valid adalah:
    • HAD_APPROVED: Menampilkan izin yang sebelumnya telah disetujui atau ditolak oleh pemanggil.
    • CAN_APPROVE: Menampilkan pemberian yang dapat disetujui atau ditolak oleh pemanggil.
  • FILTER: Opsional. Menampilkan hibah yang nilai kolomnya cocok dengan ekspresi AIP-160.
  • PAGE_SIZE: Opsional. Jumlah item yang akan ditampilkan dalam respons.
  • PAGE_TOKEN: Opsional. Halaman mana yang akan memulai respons, menggunakan token halaman yang ditampilkan dalam respons sebelumnya.

Metode HTTP dan 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

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "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"
      ]
    }
  ]
}

Menyetujui hibah secara terprogram

gcloud

Perintah gcloud beta pam grants describe menyetujui permintaan hibah tertentu.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • GRANT_ID: ID hibah yang Anda setujui. Anda dapat mengambil ID dengan menelusuri permintaan hibah yang dapat Anda setujui atau tolak.
  • ENTITLEMENT_ID: ID hak yang menjadi milik pemberian.
  • APPROVAL_REASON: Alasan hibah telah disetujui.
  • RESOURCE_TYPE: Opsional. Jenis resource yang menjadi milik hak. Gunakan nilai organization, folder, atau project.
  • RESOURCE_ID: Digunakan dengan RESOURCE_TYPE. ID project, folder, atau organisasi Google Cloud yang haknya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.

Jalankan perintah berikut:

Linux, macOS, atau 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

Anda akan melihat respons seperti berikut:

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

Metode approveGrant Privileged Access Manager API menyetujui permintaan pemberian tertentu.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • SCOPE: Organisasi, folder, atau project tempat hak berada, dalam format organizations/ORGANIZATION_ID, folders/FOLDER_ID, atau projects/PROJECT_ID. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
  • ENTITLEMENT_ID: ID hak yang menjadi milik pemberian.
  • GRANT_ID: ID hibah yang Anda setujui. Anda dapat mengambil ID dengan menelusuri permintaan hibah yang dapat Anda setujui atau tolak.
  • REASON: Alasan permintaan hibah disetujui.

Metode HTTP dan URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:approve

Meminta isi JSON:

{
    "reason": "REASON"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "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"
  ]
}

Menolak pemberian secara terprogram

gcloud

Perintah gcloud beta pam grants describe menolak permintaan hibah tertentu.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • GRANT_ID: ID hibah yang Anda tolak. Anda dapat mengambil ID dengan menelusuri hibah yang dapat Anda setujui atau tolak.
  • ENTITLEMENT_ID: ID hak yang menjadi milik pemberian.
  • DENIAL_REASON: Alasan pemberian ditolak.
  • RESOURCE_TYPE: Opsional. Jenis resource yang menjadi milik hak. Gunakan nilai organization, folder, atau project.
  • RESOURCE_ID: Digunakan dengan RESOURCE_TYPE. ID project, folder, atau organisasi Google Cloud yang haknya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.

Jalankan perintah berikut:

Linux, macOS, atau 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

Anda akan melihat respons seperti berikut:

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

Metode denyGrant Privileged Access Manager API menolak permintaan pemberian tertentu.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • SCOPE: Organisasi, folder, atau project tempat hak berada, dalam format organizations/ORGANIZATION_ID, folders/FOLDER_ID, atau projects/PROJECT_ID. Project ID adalah string alfanumerik, seperti my-project. ID folder dan organisasi berupa angka, seperti 123456789012.
  • ENTITLEMENT_ID: ID hak yang menjadi milik pemberian.
  • GRANT_ID: ID hibah yang Anda tolak. Anda dapat mengambil ID dengan menelusuri hibah yang dapat Anda setujui atau tolak.
  • REASON: Alasan permintaan hibah ditolak.

Metode HTTP dan URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:deny

Meminta isi JSON:

{
    "reason": "REASON"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

{
  "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"
  ]
}