Penganalisis Kebijakan untuk kebijakan izin memungkinkan Anda mengetahui akun utama mana (misalnya, pengguna, akun layanan, grup, dan domain) yang memiliki akses tertentu ke resource Google Cloud tertentu berdasarkan kebijakan izin IAM Anda.
Penganalisis Kebijakan untuk kebijakan izin dapat membantu Anda menjawab pertanyaan seperti berikut:
- Siapa yang dapat mengakses akun layanan IAM ini?
- Siapa yang dapat membaca data dalam set data BigQuery yang berisi informasi identitas pribadi (PII) ini?
- Apa saja peran dan izin yang dimiliki grup
dev-testers
pada resource apa pun dalam project ini? - Instance mesin virtual (VM) Compute Engine apa yang dapat dihapus Tal di project A?
- Siapa yang dapat mengakses bucket Cloud Storage ini pada pukul 19.00?
Cara kerja Policy Analyzer untuk kebijakan izin
Untuk menggunakan Penganalisis Kebijakan untuk kebijakan izin, Anda membuat kueri analisis, menentukan cakupan untuk analisis, lalu menjalankan kueri.
Kueri analisis
Untuk menggunakan Penganalisis Kebijakan, Anda membuat kueri analisis yang menentukan satu atau beberapa kolom berikut:
- Akun utama: Identitas (misalnya, pengguna, akun layanan, grup, dan domain) yang aksesnya ingin Anda periksa
- Akses: Izin dan peran yang ingin Anda periksa
- Resource: Resource yang aksesnya ingin Anda periksa
- (Khusus API) Konteks kondisi: Konteks—misalnya, waktu hari—yang digunakan untuk memeriksa akses
Biasanya, Anda menentukan satu atau dua kolom ini dalam kueri analisis, lalu menggunakan hasil kueri untuk mendapatkan informasi selengkapnya tentang kolom yang tidak Anda tentukan. Misalnya, jika ingin mengetahui siapa yang memiliki izin tertentu pada resource tertentu, Anda akan menentukan akses dan resource dalam kueri analisis, tetapi tidak akan menentukan akun utama.
Untuk contoh jenis kueri lainnya yang dapat Anda buat, lihat Jenis kueri umum.
Cakupan analisis
Untuk menjalankan kueri analisis, Anda perlu menentukan cakupan yang akan dianalisis. Cakupannya adalah organisasi, folder, atau project yang ingin Anda batasi analisisnya. Hanya kebijakan izin IAM yang dilampirkan ke resource yang digunakan sebagai cakupan dan ke turunannya yang akan dianalisis.
Di REST API dan gcloud CLI, Anda menentukan cakupan secara manual. Di konsol Google Cloud, cakupan ditentukan secara otomatis berdasarkan project, folder, atau organisasi yang Anda kelola.
Setelah membuat kueri analisis dan menentukan cakupan, Anda dapat menjalankan kueri untuk menganalisis kebijakan dalam cakupan tersebut.
Hasil kueri
Saat Anda menjalankan kueri analisis, Penganalisis Kebijakan akan melaporkan binding peran yang berisi akun utama, akses, dan resource yang Anda tentukan dalam kueri. Untuk setiap binding peran, laporan ini melaporkan akun utama dalam binding, akses (peran dan izin) yang diberikan binding, dan resource yang diberi akses oleh binding.
Anda dapat meninjau hasil ini untuk lebih memahami akses di project, folder, atau organisasi Anda. Misalnya, jika menjalankan kueri untuk mengetahui akun utama mana yang memiliki akses ke resource tertentu, Anda akan meninjau akun utama tersebut dalam hasil kueri.
Anda dapat menyesuaikan informasi dalam hasil kueri dengan mengaktifkan opsi kueri.
Jenis kebijakan yang didukung
Penganalisis Kebijakan untuk kebijakan izin hanya mendukung kebijakan izin IAM.
Penganalisis Kebijakan untuk kebijakan izin tidak mendukung bentuk kontrol akses berikut:
- Kebijakan penolakan IAM
- Kebijakan batas akses akun utama IAM
- Kontrol akses berbasis peran Google Kubernetes Engine
- Daftar kontrol akses Cloud Storage
- Pencegahan akses publik Cloud Storage
Hasil kueri Penganalisis Kebijakan tidak memperhitungkan jenis kebijakan
yang tidak didukung. Misalnya, bayangkan pengguna memiliki izin iam.roles.get
di
project karena kebijakan izin, tetapi kebijakan penolakan mencegahnya menggunakan
izin tersebut. Penganalisis Kebijakan akan melaporkan bahwa mereka memiliki
izin iam.roles.get
, meskipun kebijakannya adalah tolak.
Pewarisan kebijakan
Untuk memperhitungkan pewarisan kebijakan, Policy Analyzer secara otomatis menganalisis semua kebijakan izin yang relevan dalam cakupan yang ditentukan, terlepas dari lokasinya dalam hierarki resource.
Misalnya, bayangkan Anda mencoba mencari tahu siapa yang dapat mengakses akun layanan IAM:
- Jika Anda menentukan cakupan kueri ke project, Policy Analyzer akan menganalisis kebijakan izin akun layanan dan kebijakan izin project.
- Jika Anda menentukan cakupan kueri ke organisasi, Policy Analyzer akan menganalisis kebijakan izin akun layanan, kebijakan izin project yang memiliki akun layanan, kebijakan izin folder apa pun yang berisi project, dan kebijakan izin organisasi.
Akses bersyarat
Jika memiliki kondisi, binding peran hanya akan memberikan akses kepada akun utama saat kondisi tersebut terpenuhi. Policy Analyzer selalu melaporkan kondisi yang dilampirkan ke binding peran yang relevan. Binding peran yang relevan adalah binding peran yang berisi akun utama, akses, dan resource yang Anda tentukan dalam kueri analisis.
Dalam beberapa kasus, Policy Analyzer juga dapat menganalisis kondisi, yang berarti alat ini dapat melaporkan apakah kondisi akan terpenuhi. Policy Analyzer dapat menganalisis jenis kondisi berikut:
- Kondisi berdasarkan atribut resource, untuk jenis resource yang memberikan nama resource.
- Kondisi tanggal/waktu (khusus API dan gcloud CLI). Agar Penganalisis Kebijakan dapat menganalisis kondisi ini, Anda harus
memberikan waktu akses (
accessTime
) dalam kueri analisis. Untuk mempelajari cara memberikan konteks ini, lihat Menentukan akses pada waktu tertentu.
Jika binding peran yang relevan berisi kondisi, Policy Analyzer akan melakukan salah satu hal berikut:
Jika dapat menganalisis kondisi, Penganalisis Kebijakan akan melakukan salah satu hal berikut:
- Jika kondisi bernilai benar, Policy Analyzer akan menyertakan
binding peran dalam hasil kueri dan menandai evaluasi kondisi sebagai
TRUE
. - Jika kondisi bernilai salah (false), Policy Analyzer tidak akan menyertakan peran dalam hasil kueri.
- Jika kondisi bernilai benar, Policy Analyzer akan menyertakan
binding peran dalam hasil kueri dan menandai evaluasi kondisi sebagai
Jika tidak dapat menganalisis kondisi untuk binding peran yang relevan, Policy Analyzer akan menyertakan peran dalam hasil kueri dan menandai evaluasi kondisi sebagai
CONDITIONAL
.
Keaktualan data
Policy Analyzer menggunakan Cloud Asset API, yang menawarkan keaktualan data terbaik. Meskipun hampir semua pembaruan kebijakan muncul di Policy Analyzer dalam hitungan menit, mungkin saja Policy Analyzer tidak akan menyertakan pembaruan kebijakan terbaru.
Jenis kueri umum
Bagian ini menjelaskan cara menggunakan kueri analisis untuk menjawab pertanyaan umum terkait akses.
Prinsipal mana yang dapat mengakses resource ini?
Untuk menentukan akun utama yang dapat mengakses resource, buat kueri analisis yang menentukan resource dan, secara opsional, peran dan izin yang ingin Anda periksa.
Kueri ini dapat membantu Anda menjawab pertanyaan seperti berikut:
- Siapa yang memiliki akses ke akun layanan IAM ini?
- Siapa yang memiliki izin untuk meniru identitas akun layanan IAM ini?
- Siapa administrator penagihan di project A?
- (Khusus API dan gcloud CLI): Siapa yang dapat memperbarui project A dengan meniru akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan akun utama yang dapat mengakses resource.
Akun utama mana yang memiliki peran dan izin ini?
Untuk menentukan akun utama mana yang memiliki peran dan izin tertentu, buat kueri analisis yang menentukan akun utama dan serangkaian peran serta izin yang ingin Anda periksa.
Kueri ini dapat membantu Anda menjawab pertanyaan seperti berikut:
- Siapa yang memiliki izin untuk meniru identitas akun layanan di organisasi saya?
- Siapa administrator penagihan di organisasi saya?
- Siapa yang dapat membaca data dalam set data BigQuery yang berisi informasi identitas pribadi (PII) ini?
- (Khusus API dan gcloud CLI): Siapa di organisasi saya yang dapat membaca set data BigQuery dengan meniru akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan akun utama yang memiliki peran atau izin tertentu.
Apa saja peran dan izin yang dimiliki akun utama ini pada resource ini?
Untuk menentukan peran dan izin yang dimiliki akun utama pada resource tertentu, buat kueri analisis yang menentukan akun utama dan resource yang ingin Anda periksa izinnya.
Kueri ini dapat membantu Anda menjawab pertanyaan seperti berikut:
- Apa saja peran dan izin yang dimiliki pengguna Sasha pada set data BigQuery ini?
- Apa saja peran dan izin yang dimiliki grup
dev-testers
pada resource apa pun dalam project ini? - (Khusus API dan gcloud CLI): Peran dan izin apa yang dimiliki pengguna Dana pada set data BigQuery ini jika Dana meniru identitas akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan akses yang dimiliki akun utama ke resource.
Resource mana yang dapat diakses akun utama ini?
Untuk menentukan resource yang dapat diakses akun utama tertentu, buat kueri analisis yang menentukan akun utama serta peran dan izin yang ingin Anda periksa.
Kueri ini dapat membantu Anda menjawab pertanyaan seperti berikut:
- Set data BigQuery mana yang memiliki izin untuk dibaca oleh pengguna Mahan?
- Set data BigQuery manakah yang merupakan pemilik data grup
dev-testers
? - VM apa yang dapat dihapus Tal di project A?
- (Khusus API dan gcloud CLI): VM apa yang dapat dihapus oleh pengguna John dengan meniru identitas akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan resource mana yang dapat diakses oleh akun utama.
Kueri analisis tersimpan
Jika menggunakan REST API, Anda dapat menyimpan kueri analisis untuk digunakan kembali atau dibagikan kepada orang lain. Anda dapat menjalankan kueri tersimpan seperti menjalankan kueri lainnya.
Untuk mempelajari lebih lanjut cara menyimpan kueri, lihat Mengelola kueri tersimpan.
Mengekspor hasil kueri
Anda dapat menjalankan kueri secara asinkron dan mengekspor hasil kueri ke BigQuery atau Cloud Storage menggunakan analyzeIamPolicyLongrunning
.
Untuk mempelajari cara mengekspor hasil kueri ke BigQuery, lihat Menulis analisis kebijakan ke BigQuery.
Untuk mempelajari cara mengekspor hasil kueri ke Cloud Storage, lihat Menulis analisis kebijakan ke Cloud Storage.
Opsi kueri
Penganalisis Kebijakan menawarkan beberapa opsi yang menambahkan detail lebih lanjut ke hasil kueri Anda.
Untuk mempelajari cara mengaktifkan opsi ini, lihat Mengaktifkan opsi.
Perluasan grup
Jika Anda mengaktifkan perluasan grup, setiap grup dalam hasil kueri akan diperluas menjadi setiap anggota. Perluasan ini dibatasi hingga 1.000 anggota per grup. Jika Anda memiliki izin grup yang memadai, grup bertingkat juga akan diperluas. Opsi ini hanya efektif jika Anda tidak menentukan akun utama dalam kueri.
Misalnya, bayangkan Anda mengaktifkan perluasan grup untuk kueri "Siapa yang memiliki
izin storage.buckets.delete
untuk project-1
?" Jika
Policy Analyzer menemukan grup yang memiliki izin storage.buckets.delete
, hasil kueri tidak hanya akan mencantumkan ID grup, tetapi juga
semua anggota individu dalam grup.
Opsi ini memungkinkan Anda memahami akses setiap pengguna, meskipun akses tersebut merupakan hasil dari keanggotaan mereka dalam grup.
Perluasan peran
Jika Anda mengaktifkan perluasan peran, hasil kueri akan mencantumkan semua izin di dalam setiap peran selain peran itu sendiri. Opsi ini hanya tersedia jika Anda tidak menentukan izin atau peran apa pun dalam kueri.
Misalnya, bayangkan Anda mengaktifkan perluasan peran untuk kueri "Akses apa yang dimiliki my-user@example.com
di bucket bucket-1
?" Jika Pemindai Kebijakan menemukan peran yang memberi my-user@example.com
akses ke bucket-1
, hasil kueri tidak hanya akan mencantumkan nama peran, tetapi juga semua izin yang disertakan dalam peran tersebut.
Opsi ini memungkinkan Anda melihat izin yang dimiliki akun utama Anda secara tepat.
Perluasan resource
Jika Anda mengaktifkan perluasan resource untuk kueri Policy Analyzer, hasil kueri akan mencantumkan semua resource turunan yang relevan untuk resource induk (project, folder, dan organisasi) dalam hasil kueri. Perluasan ini dibatasi hingga 1.000 resource per resource induk untuk kueri Policy Analyzer dan 100.000 resource per resource induk untuk kueri Policy Analyzer yang berjalan lama.
Misalnya, pertimbangkan pengaruh perluasan resource terhadap kueri berikut:
Siapa yang memiliki izin
storage.buckets.delete
untukproject-1
?Jika Anda mengaktifkan perluasan resource untuk kueri ini, bagian resource dari hasil kueri tidak hanya akan mencantumkan project, tetapi juga semua bucket penyimpanan di dalam project.
Resource mana yang memiliki izin
compute.instances.setIamPolicy
untukmy-user@example.com
?Jika Anda mengaktifkan perluasan resource untuk kueri ini dan Policy Analyzer menemukan bahwa
my-user@example.com
memiliki peran tingkat project yang berisi izin tersebut, bagian resource dalam hasil kueri tidak hanya akan mencantumkan project, tetapi juga semua instance Compute Engine di dalam project.
Opsi ini memungkinkan Anda mendapatkan pemahaman mendetail tentang resource yang dapat diakses oleh prinsipal Anda.
Peniruan akun layanan
Jika menggunakan REST API atau gcloud CLI, Anda dapat mengaktifkan analisis peniruan identitas akun layanan.
Jika opsi ini diaktifkan, Penganalisis Kebijakan akan menjalankan kueri analisis tambahan untuk menentukan siapa yang dapat meniru akun layanan yang memiliki akses yang ditentukan ke resource yang ditentukan. Penganalisis Kebijakan menjalankan satu kueri untuk setiap akun layanan dalam hasil kueri. Kueri ini menganalisis siapa yang memiliki salah satu izin berikut di akun layanan:
iam.serviceAccounts.actAs
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
Kuota dan batas
Cloud Asset Inventory menerapkan kapasitas permintaan masuk, termasuk permintaan analisis kebijakan, berdasarkan project konsumen. Cloud Asset Inventory juga membatasi perluasan grup dalam keanggotaan grup dan perluasan resource dalam hierarki resource.
Untuk melihat kuota dan batas default untuk Policy Analyzer, lihat Kuota dan batas dalam dokumentasi Inventaris Aset Cloud.
Harga
Setiap organisasi dapat menjalankan hingga 20 kueri analisis per hari tanpa biaya. Batas ini mencakup analisis kebijakan izin dan analisis kebijakan organisasi.
Jika ingin menjalankan lebih dari 20 kueri analisis per hari, Anda harus memiliki aktivasi level organisasi untuk paket premium Security Command Center. Untuk informasi selengkapnya, lihat Pertanyaan penagihan.
Langkah selanjutnya
- Pelajari cara menggunakan Penganalisis Kebijakan untuk menganalisis kebijakan izin.
- Lihat cara menggunakan REST API untuk menyimpan kueri Analisis Kebijakan.