Membuat hak di Privileged Access Manager

Anda dapat membuat hak untuk mengizinkan peningkatan hak istimewa sementara untuk kumpulan prinsipal tertentu. Perhatikan hal-hal berikut saat membuat hak:

  • Hak dapat dibuat di tingkat organisasi, folder, atau project. Peran yang diberikan oleh hak di setiap tingkat mengikuti hierarki resource Google Cloud. Misalnya, peran yang diberikan oleh hak di tingkat organisasi diwarisi di tingkat folder dan project.

  • Jika Anda menambahkan grup sebagai pemohon ke hak, semua akun individual dalam grup tersebut dapat meminta pemberian hak tersebut. Namun, hanya akun individual yang meminta pemberian hak istimewa yang dapat menerima hak istimewa yang ditingkatkan.

  • Jika Anda menambahkan grup sebagai pemberi persetujuan ke hak, semua akun individual dalam grup tersebut dapat menyetujui atau menolak permintaan pemberian.

  • Peran dasar tidak didukung.

Sebelum memulai

Pastikan Anda telah mengaktifkan Privileged Access Manager dan menyiapkan izin untuknya.

Membuat hak menggunakan konsol Google Cloud

Untuk membuat hak, selesaikan petunjuk berikut:

  1. Buka halaman Privileged Access Manager.

    Buka Privileged Access Manager

  2. Pilih organisasi, folder, atau project tempat Anda ingin hak berlaku.

  3. Klik tab Hak.

  4. Klik Create.

  5. Tambahkan detail hak berikut:

    • Nama hak.

    • Maksimal 30 peran yang akan diberikan di organisasi, folder, atau project. Anda dapat menerapkan kondisi IAM ke peran ini, selama tidak cocok dengan tag resource.

    • Durasi pemberian berdasarkan hak.

  6. Klik Berikutnya.

  7. Telusuri dan tambahkan hingga 20 akun utama pemohon yang valid untuk hak. Semua jenis utama didukung kecuali allUsers dan allAuthenticatedUsers. Anda dapat menambahkan lebih dari 20 identitas dengan menambahkannya ke grup dan mencantumkan grup dalam hak.

  8. Pilih apakah akun utama perlu memberikan justifikasi untuk permintaan pemberian.

  9. Klik Berikutnya.

  10. Pilih untuk mengizinkan pemberian peran tanpa persetujuan, atau telusuri dan tambahkan akun utama yang valid yang dapat menyetujui permintaan. Jenis akun utama yang valid adalah sebagai berikut:

    • Akun Google

    • Google Grup

    • Domain Google Workspace

    • ID kumpulan tenaga kerja

    Jika Anda memilih untuk memiliki pemberi persetujuan, pilih juga apakah pemberi persetujuan perlu memberikan justifikasi untuk menyetujui permintaan hibah. Anda dapat menambahkan hingga 20 akun utama yang menyetujui per hak. Anda dapat menambahkan lebih dari 20 identitas dengan menambahkannya ke grup dan mencantumkan grup dalam hak.

  11. Klik Berikutnya.

  12. Opsional: Tambahkan alamat email orang yang akan diberi tahu saat hak tersedia untuk diminta, saat hibah menunggu persetujuan, dan saat peminta diberi akses. Identitas Google yang terkait dengan hak, seperti pemberi persetujuan dan pemohon, akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.

  13. Klik Create Entitlement.

Membuat hak secara terprogram

gcloud

Perintah gcloud beta pam entitlements create membuat hak di tingkat organisasi, folder, atau project.

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

  • ENTITLEMENT_ID: ID hak yang akan dibuat. ID harus terdiri dari 4-63 karakter, dan menggunakan karakter berikut: [a-z0-9-]. Karakter pertama harus berupa huruf.
  • RESOURCE_TYPE: Opsional. Jenis resource yang menjadi milik hak. Gunakan nilai organization, folder, atau project.
  • RESOURCE_ID: Digunakan dengan RESOURCE_TYPE. ID organisasi, folder, atau project Google Cloud yang haknya ingin Anda kelola. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • SCOPE: Organisasi, folder, atau project tempat membuat hak, 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.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder, atau Project, bergantung pada cakupan.
  • ROLE: Peran yang akan ditetapkan saat hak diberikan.
  • TIME_IN_SECONDS: Durasi maksimum pemberian izin, dalam detik.
  • REQUESTING_MEMBER: Akun utama yang dapat meminta agar hak diberikan. Semua jenis akun utama didukung kecuali allUsers dan allAuthenticatedUsers.

  • APPROVING_EMAIL: Opsional. Alamat email tambahan untuk diberi tahu saat hibah telah diminta. Identitas Google yang terkait dengan pemberi persetujuan hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.
  • APPROVING_MEMBER: Akun utama yang dapat menyetujui permintaan hak. Jenis utama yang valid adalah sebagai berikut

    • Pengguna
    • Grup
    • Domain
    • ID kumpulan tenaga kerja
  • ADMIN_EMAIL_ADDRESS: Opsional. Alamat email tambahan untuk diberi tahu saat pemohon diberi akses. Identitas Google yang terkait dengan pemberi persetujuan hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.
  • REQUESTER_EMAIL_ADDRESS: Opsional. Alamat email tambahan untuk diberi tahu saat hak ini tersedia untuk diminta. Identitas Google yang terkait dengan pemohon hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.

Simpan konten berikut ini dalam file yang bernama entitlement.yaml:

privilegedAccess:
  gcpIamAccess:
    resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE
    resource: //cloudresourcemanager.googleapis.com/SCOPE
    roleBindings:
    - role: ROLE_1
    - role: ROLE_2
maxRequestDuration: TIME_IN_SECONDSs
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: 1
      approverEmailRecipients:
      - APPROVING_EMAIL_1
      - APPROVING_EMAIL_2
      approvers:
      - principals:
        - APPROVING_MEMBER_1
        - APPROVING_MEMBER_2
requesterJustificationConfig:
  unstructured: {}
additionalNotificationTargets:
  adminEmailRecipients:
  - ADMIN_EMAIL_ADDRESS_1
  - ADMIN_EMAIL_ADDRESS_2
  requesterEmailRecipients:
  - REQUESTER_EMAIL_ADDRESS_1
  - REQUESTER_EMAIL_ADDRESS_2

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

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

Windows (cmd.exe)

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

Anda akan melihat respons seperti berikut:

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
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

Metode createEntitlement Privileged Access Manager API membuat hak di tingkat organisasi, folder, atau project.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • SCOPE: Organisasi, folder, atau project tempat membuat hak, 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 akan dibuat. ID harus terdiri dari 4-63 karakter, dan menggunakan karakter berikut: [a-z0-9-]. Karakter pertama harus berupa huruf.
  • REQUEST_ID: Opsional. Harus berupa UUID yang bukan nol. Jika server menerima permintaan dengan ID permintaan, server akan memeriksa apakah permintaan lain dengan ID tersebut telah selesai dalam 60 menit terakhir. Jika demikian, permintaan baru akan diabaikan.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder, atau Project, bergantung pada cakupan.
  • ROLE: Peran yang akan ditetapkan saat hak diberikan.
  • TIME_IN_SECONDS: Durasi maksimum pemberian izin, dalam detik.
  • REQUESTING_MEMBER: Akun utama yang dapat meminta hak diberikan. Semua jenis akun utama didukung kecuali allUsers dan allAuthenticatedUsers.

  • APPROVING_MEMBER: Akun utama yang dapat menyetujui permintaan hak. Jenis utama yang valid adalah sebagai berikut

    • Pengguna
    • Grup
    • Domain
    • ID kumpulan tenaga kerja
  • APPROVING_EMAIL: Opsional. Alamat email tambahan untuk diberi tahu saat hibah telah diminta. Identitas Google yang terkait dengan pemberi persetujuan hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.
  • ADMIN_EMAIL_ADDRESS: Opsional. Alamat email tambahan untuk diberi tahu saat pemohon diberi akses. Identitas Google yang terkait dengan pemberi persetujuan hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.
  • REQUESTER_EMAIL_ADDRESS: Opsional. Alamat email tambahan untuk diberi tahu saat hak ini tersedia untuk diminta. Identitas Google yang terkait dengan pemohon hibah akan otomatis diberi tahu. Namun, Anda mungkin ingin memberi tahu kumpulan alamat email yang berbeda, terutama jika Anda menggunakan Workforce Identity Federation.

Metode HTTP dan URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_ID

Meminta isi JSON:

{
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
      "resource": "//cloudresourcemanager.googleapis.com/SCOPE",
      "roleBindings": [
        {
          "role": "ROLE_1"
        },
        {
          "role": "ROLE_2"
        }
      ]
    }
  },
  "maxRequestDuration": "TIME_IN_SECONDSs",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
                ...
              ]
            }
          ],
          "approvalsNeeded": 1,
          "approverEmailRecipients": [
            "APPROVING_EMAIL_1",
            "APPROVING_EMAIL_2",
            ...
          ]
        }
      ]
    }
  },
  "requesterJustificationConfig": {
    "unstructured": {
    }
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "ADMIN_EMAIL_ADDRESS_1",
      "ADMIN_EMAIL_ADDRESS_2",
      ...
    ],
    "requesterEmailRecipients": [
      "REQUESTER_EMAIL_ADDRESS_1",
      "REQUESTER_EMAIL_ADDRESS_2",
      ...
    ]
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
    "name": "projects/my-project/locations/global/operations/OPERATION_ID",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
      "createTime": "2024-03-05T03:35:14.596739353Z",
      "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1beta"
    },
    "done": false
}

Untuk memeriksa progres operasi pembuatan, Anda dapat mengirim permintaan GET ke endpoint berikut:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

Kirim permintaan GET ke endpoint berikut untuk mencantumkan semua operasi:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations

Terraform

Anda dapat menggunakan Terraform untuk membuat hak. Untuk informasi selengkapnya, lihat google_privileged_access_manager_entitlement dalam dokumentasi Terraform.

Langkah selanjutnya