Privileged Access Manager (PAM) memungkinkan Anda membuat hak di organisasi, folder, atau project untuk memberikan akses sementara sesuai permintaan ke resourceGoogle Cloud . Setiap hak menentukan peran Identity and Access Management (IAM) yang akan diberikan, pemohon yang memenuhi syarat, durasi akses maksimum, dan alur kerja persetujuan yang diperlukan. Peran yang diberikan oleh hak mengikuti Google Cloud hierarki resource, sehingga resource turunan mewarisi akses yang diberikan di tingkat induk.
Pertimbangan hak
Sebelum membuat hak, tinjau persyaratan dan batasan berikut:
- Peran dan layanan yang didukung:
- Anda dapat menambahkan peran standar atau khusus hanya untuk layanan yang mendukung Kondisi IAM.
- Untuk peran dasar, hanya
Admin(roles/admin),Writer(roles/writer), danReader(roles/reader) yang didukung. Peran dasar lamaOwner,Editor, danViewertidak didukung. - Jangan memberikan peran agen layanan dalam hak akses. Beberapa peran agen layanan berisi izin yang sangat kuat, dan izin dalam peran ini dapat berubah tanpa pemberitahuan. Sebagai gantinya, pilih peran bawaan yang berbeda, atau buat peran khusus dengan izin yang Anda perlukan.
- Pemohon dan pemberi persetujuan:
- Anda dapat menambahkan hingga 20 akun utama sebagai pemohon dan hingga 20 akun utama per tingkat persetujuan sebagai pemberi persetujuan. Jika Anda menambahkan grup sebagai pemohon atau pemberi persetujuan, semua anggota grup dapat meminta atau meninjau pemberian, tetapi hanya akun individu yang meminta pemberian yang akan menerima hak istimewa yang ditingkatkan.
- Jika persetujuan otomatis diaktifkan untuk resource, Anda dapat menambahkan akun layanan, identitas agen, dan identitas workload pool sebagai pemberi persetujuan (Pratinjau). Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
- Jika paket Security Command Center Premium atau Enterprise diaktifkan, Anda dapat mengonfigurasi hingga dua tingkat persetujuan berurutan per hak dan memerlukan hingga lima persetujuan per tingkat (Pratinjau).
Pemberi persetujuan tingkat kedua akan diberi tahu setelah persetujuan tingkat pertama selesai, dan pemberian akses menjadi
activesetelah persetujuan tingkat kedua diterima. Jika ada pemberi persetujuan yang menolak permintaan, pemberian akses akan beralih ke statusdeniedtanpa memberi tahu pemberi persetujuan tambahan.
- Akses yang ada: Membuat hak tidak akan mencabut binding peran IAM permanen yang sudah dimiliki akun utama. Untuk mewajibkan akses tepat waktu, hapus binding peran permanen yang ada secara terpisah.
Sebelum memulai
Untuk mendapatkan izin yang Anda perlukan untuk membuat hak, minta administrator untuk memberi Anda peran IAM berikut pada organisasi, folder, atau project yang ingin Anda buat haknya:
-
Membuat hak untuk organisasi:
- Privileged Access Manager Admin (
roles/privilegedaccessmanager.admin) - Security Admin (
roles/iam.securityAdmin)
- Privileged Access Manager Admin (
-
Membuat untuk folder:
- Privileged Access Manager Admin (
roles/privilegedaccessmanager.admin) - Folder IAM Admin (
roles/resourcemanager.folderAdmin)
- Privileged Access Manager Admin (
-
Membuat hak untuk project:
- Privileged Access Manager Admin (
roles/privilegedaccessmanager.admin) - Project IAM Admin (
roles/resourcemanager.projectIamAdmin)
- Privileged Access Manager Admin (
-
Untuk melihat log audit:
Logs Viewer (
roles/logs.viewer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat hak akses. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat hak:
-
Untuk membuat hak dan pemberian untuk organisasi:
-
resourcemanager.organizations.get -
resourcemanager.organizations.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Untuk membuat hak dan pemberian untuk folder:
-
resourcemanager.folders.get -
resourcemanager.folders.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Untuk membuat hak dan pemberian akses untuk sebuah project:
-
resourcemanager.projects.get -
resourcemanager.projects.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat hak
Konsol
Buka halaman Privileged Access Manager.
Pilih organisasi, folder, atau project yang ingin Anda beri hak akses.
Klik tab Entitlements.
Klik Create.
Di bagian Detail hak, masukkan detail hak berikut:
Nama hak. Nama hak dapat berisi 4 hingga 63 karakter. Nama harus diawali dengan huruf kecil dan hanya boleh berisi huruf kecil, angka, dan tanda hubung.
Hingga 30 peran yang akan diberikan di organisasi, folder, atau project.
Anda juga dapat menambahkan kondisi IAM ke peran ini dengan cara yang sama seperti Anda menambahkan kondisi untuk mengizinkan binding peran kebijakan.
Durasi maksimum pemberian akses. Durasi maksimum yang dapat Anda tetapkan untuk hak adalah 7 hari.
Klik Berikutnya.
Di bagian Add requesters, masukkan hingga 20 akun utama pemohon yang valid untuk hak.
Semua jenis akun utama didukung, kecuali
allUsersdanallAuthenticatedUsers. Anda dapat menambahkan lebih dari 20 identitas dengan menambahkannya ke grup dan mencantumkan grup tersebut dalam hak.Pilih apakah akun utama perlu memberikan justifikasi untuk permintaan pemberian.
Masukkan alamat email tambahan pengguna yang akan diberi tahu saat hak memenuhi syarat untuk diminta.
Google Identity yang terkait dengan hak, seperti pemberi persetujuan dan pemohon, akan otomatis diberi tahu. Namun, jika Anda ingin memberi tahu orang lain, Anda dapat menambahkan alamat email mereka. Hal ini sangat berguna jika Anda menggunakan identitas tenaga kerja, bukan Akun Google.
Klik Berikutnya.
Di bagian Add approvers, lakukan salah satu hal berikut:
Untuk mengizinkan pemberian peran tanpa persetujuan, pilih Aktifkan akses tanpa persetujuan.
Untuk mewajibkan persetujuan, lakukan hal berikut:
- Opsional: Untuk mewajibkan pemberi persetujuan memasukkan justifikasi untuk menyetujui permintaan persetujuan, pilih Justifikasi diperlukan dari pemberi persetujuan.
Masukkan detail pemberi persetujuan tingkat pertama:
Daftar pemberi persetujuan untuk hak akses
Anda dapat menambahkan salah satu jenis akun utama berikut sebagai pemberi persetujuan:
Akun Google
Grup Google
Domain Google Workspace
ID workforce pool
ID workload pool
Akun layanan dan identitas agen
Akun layanan, identitas agen, dan ID workload pool hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui pemberian akses untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
Jumlah persetujuan yang diperlukan
Jika Anda menambahkan grup sebagai pemberi persetujuan, pastikan jumlah persetujuan yang diperlukan kurang dari atau sama dengan jumlah akun utama dalam grup. Jika tidak, pemberian izin akan terus terjebak dalam status
approval awaited.Alamat email pemberi persetujuan untuk notifikasi
Opsional: Tambahkan detail pemberi persetujuan tingkat kedua:
Daftar pemberi persetujuan untuk hak akses
Anda dapat menambahkan salah satu jenis akun utama berikut sebagai pemberi persetujuan:
Akun Google
Grup Google
Domain Google Workspace
ID workforce pool
ID workload pool
Akun layanan dan identitas agen
Akun layanan, identitas agen, dan ID workload pool hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui pemberian akses untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
Jumlah persetujuan yang diperlukan
Jika Anda menambahkan grup sebagai pemberi persetujuan, pastikan jumlah persetujuan yang diperlukan kurang dari atau sama dengan jumlah akun utama dalam grup. Jika tidak, pemberian izin akan terus terjebak dalam status
approval awaited.Alamat email pemberi persetujuan untuk notifikasi
Anda dapat menambahkan hingga 20 akun utama pemberi persetujuan (identitas atau grup) per persetujuan. Jika ingin menambahkan lebih dari 20 pemberi persetujuan, Anda dapat melakukannya dengan menambahkan mereka ke grup dan mencantumkan grup tersebut sebagai pemberi persetujuan untuk hak tersebut.
Klik Berikutnya.
Klik Create Entitlement.
Hak yang baru dibuat mungkin memerlukan waktu beberapa menit untuk diterapkan dan siap digunakan.
gcloud
Perintah
gcloud alpha pam entitlements create
membuat hak di level 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 memiliki hak. Gunakan nilaiorganization,folder, atauproject.SCOPE: Organisasi, folder, atau project untuk membuat hak, dalam formatorganizations/ORGANIZATION_ID,folders/FOLDER_ID, atauprojects/PROJECT_ID. Project ID adalah string alfanumerik, sepertimy-project. ID folder dan ID organisasi berupa numerik, seperti123456789012.RESOURCE_MANAGER_RESOURCE_TYPE:Organization,Folder, atauProject, bergantung pada cakupan.ROLE: Peran yang akan ditetapkan saat hak diberikan.MAXIMUM_GRANT_DURATION: Durasi maksimum pemberian akses yang dapat diminta, dalam detik, yang diakhiri dengan akhirans. Misalnya, untuk menentukan 30 menit, gunakan1800s. Rentang yang didukung adalah antara 30 menit (1800s) dan 168 jam (604800s).-
REQUESTING_MEMBER: Akun utama yang dapat meminta agar hak diberikan. Semua jenis akun utama didukung kecualiallUsersdanallAuthenticatedUsers. -
APPROVING_MEMBER: Akun utama yang dapat menyetujui permintaan hak akses. Jenis akun utama yang valid adalah sebagai berikut:- Pengguna
- Grup
- Domain
- ID workforce pool
- ID workload pool
Opsi ini hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui permintaan hak untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
- Akun layanan dan identitas agen
Opsi ini hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui permintaan hak untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
APPROVALS_NEEDED: Jumlah pemberi persetujuan yang diperlukan untuk menyetujui permintaan hak.Jika Anda menambahkan grup sebagai pemberi persetujuan, pastikan jumlah persetujuan yang diperlukan kurang dari atau sama dengan jumlah akun utama dalam grup. Jika tidak, pemberian izin akan terus terjebak dalam status
approval awaited.APPROVER_EMAIL_ADDRESSES: Opsional. Alamat email tambahan untuk menerima notifikasi saat pemberian akses 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 yang akan diberi tahu saat pemohon diberi akses. Google Identity 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 menerima notifikasi 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.CONDITION_EXPRESSION: Opsional. Ekspresi kondisi yang menentukan kapan akun utama dapat menggunakan izin dalam peran. Kondisi ini hanya berlaku jika hibah aktif.
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 conditionExpression: CONDITION_EXPRESSION_1 - role: ROLE_2 conditionExpression: CONDITION_EXPRESSION_2 maxRequestDuration: MAXIMUM_GRANT_DURATION eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: APPROVALS_NEEDED_1 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_1 - APPROVER_EMAIL_ADDRESSES_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 - approvalsNeeded: APPROVALS_NEEDED_2 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_3 - APPROVER_EMAIL_ADDRESSES_4 approvers: - principals: - APPROVING_MEMBER_3 - APPROVING_MEMBER_4 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 alpha pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha 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/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
manualApprovals:
requireApproverJustification: true
steps:
- id: step-1
approvalsNeeded: 3
approvers:
- principals:
- user:alex@example.com
- group:dev-team@example.com
- id: step-2
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/RESOURCE_TYPE/RESOURCE_ID
resourceType: cloudresourcemanager.googleapis.com/Project
roleBindings:
- role: roles/storage.admin
id: hwarq_1
conditionExpression: "request.time.getHours() >= 8"
requesterJustificationConfig:
unstructured: {}
state: AVAILABLE
REST
Metode createEntitlement Privileged Access Manager API membuat hak istimewa di level organisasi, folder, atau project.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
SCOPE: Organisasi, folder, atau project untuk membuat hak, dalam formatorganizations/ORGANIZATION_ID,folders/FOLDER_ID, atauprojects/PROJECT_ID. Project ID adalah string alfanumerik, sepertimy-project. ID folder dan ID organisasi berupa numerik, seperti123456789012.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_MANAGER_RESOURCE_TYPE:Organization,Folder, atauProject, bergantung pada cakupan.ROLE: Peran yang akan ditetapkan saat hak diberikan.MAXIMUM_GRANT_DURATION: Durasi maksimum pemberian akses yang dapat diminta, dalam detik, yang diakhiri dengan akhirans. Misalnya, untuk menentukan 30 menit, gunakan1800s. Rentang yang didukung adalah antara 30 menit (1800s) dan 168 jam (604800s).-
REQUESTING_MEMBER: Akun utama yang dapat meminta pemberian hak. Semua jenis akun utama didukung kecualiallUsersdanallAuthenticatedUsers. -
APPROVING_MEMBER: Akun utama yang dapat menyetujui permintaan hak akses. Jenis akun utama yang valid adalah sebagai berikut:- Pengguna
- Grup
- Domain
- ID workforce pool
- ID workload pool
Opsi ini hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui permintaan hak untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
- Akun layanan dan identitas agen
Opsi ini hanya tersedia jika akun layanan dan identitas agen diizinkan untuk menyetujui permintaan hak untuk resource ini. Untuk mengetahui detailnya, lihat Mengonfigurasi setelan Privileged Access Manager.
APPROVALS_NEEDED: Jumlah pemberi persetujuan yang diperlukan untuk menyetujui permintaan hak.Jika Anda menambahkan grup sebagai pemberi persetujuan, pastikan jumlah persetujuan yang diperlukan kurang dari atau sama dengan jumlah akun utama dalam grup. Jika tidak, pemberian izin akan terus terjebak dalam status
approval awaited.APPROVER_EMAIL_ADDRESSES: Opsional. Alamat email tambahan untuk menerima notifikasi saat pemberian akses diminta. Google Identity 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 yang akan diberi tahu saat pemohon diberi akses. Google Identity 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 menerima notifikasi 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.CONDITION_EXPRESSION: Opsional. Ekspresi kondisi yang menentukan kapan akun utama dapat menggunakan izin dalam peran. Kondisi ini hanya berlaku jika hibah aktif.
Metode HTTP dan URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID
Meminta isi JSON:
{
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
"resource": "//cloudresourcemanager.googleapis.com/SCOPE",
"roleBindings": [
{
"role": "ROLE_1",
"conditionExpression": "CONDITION_EXPRESSION_1",
},
{
"role": "ROLE_2",
"conditionExpression": "CONDITION_EXPRESSION_2",
},
]
}
},
"maxRequestDuration": "MAXIMUM_GRANT_DURATION",
"eligibleUsers": [
{
"principals": [
"REQUESTING_MEMBER_1",
"REQUESTING_MEMBER_2",
...
]
}
],
"approvalWorkflow": {
"manualApprovals": {
"requireApproverJustification": true,
"steps": [
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_1",
"APPROVING_MEMBER_2",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_1,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_1",
"APPROVER_EMAIL_ADDRESSES_2",
]
},
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_3",
"APPROVING_MEMBER_4",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_2,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_3",
"APPROVER_EMAIL_ADDRESSES_4",
]
}
]
}
},
"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/PROJECT_ID/locations/global/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
"createTime": "2024-03-05T03:35:14.596739353Z",
"target": "projects/PROJECT_ID/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 istimewa. Untuk mengetahui informasi selengkapnya, lihat google_privileged_access_manager_entitlement dalam dokumentasi Terraform. Hak yang baru dibuat mungkin memerlukan waktu beberapa menit untuk diterapkan dan siap digunakan.
Config Connector
Anda dapat menggunakan Kubernetes Config Connector untuk membuat hak istimewa. Untuk mengetahui informasi selengkapnya, lihat PrivilegedAccessManagerEntitlement dalam dokumentasi Config Connector. Hak yang baru dibuat mungkin memerlukan waktu beberapa menit untuk diterapkan dan siap digunakan.