Dengan Penganalisis Kebijakan untuk kebijakan izin, Anda dapat mengetahui akun utama (misalnya, pengguna, akun layanan, grup, dan domain) mana yang memiliki akses apa ke resource Google Cloud mana 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-testerspada 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 Penganalisis Kebijakan untuk kebijakan izin
Untuk menggunakan Penganalisis Kebijakan bagi 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 dalam sehari—yang ingin Anda periksa aksesnya
Biasanya, Anda menentukan satu atau dua kolom ini dalam kueri analisis, lalu menggunakan hasil kueri untuk mendapatkan informasi lebih lanjut tentang kolom yang tidak Anda tentukan. Misalnya, jika Anda ingin mengetahui siapa yang memiliki izin tertentu pada resource tertentu, Anda akan menentukan akses dan resource dalam kueri analisis, tetapi Anda tidak akan menentukan akun utama.
Untuk contoh lainnya tentang jenis kueri 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 terlampir pada resource yang digunakan sebagai cakupan dan 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 entitas, akses, dan resource yang Anda tentukan dalam kueri. Untuk setiap binding peran, laporan ini mencantumkan akun utama dalam binding, akses (peran dan izin) yang diberikan binding, dan resource yang aksesnya diberikan 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 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 Principal 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 suatu
project karena kebijakan izin, tetapi kebijakan penolakan mencegahnya menggunakan
izin tersebut. Penganalisis Kebijakan akan melaporkan bahwa mereka memiliki izin
iam.roles.get, meskipun ada kebijakan penolakan.
Pewarisan kebijakan
Untuk memperhitungkan pewarisan kebijakan, Penganalisis Kebijakan secara otomatis menganalisis semua kebijakan izin yang relevan dalam cakupan yang ditentukan, terlepas dari lokasinya dalam hierarki resource.
Misalnya, Anda mencoba mencari tahu siapa yang dapat mengakses akun layanan IAM:
- Jika Anda mencakup kueri ke project, Penganalisis Kebijakan akan menganalisis kebijakan izin akun layanan dan kebijakan izin project.
- Jika Anda mencakup kueri ke organisasi, Penganalisis Kebijakan akan menganalisis kebijakan izinkan akun layanan, kebijakan izinkan project yang memiliki akun layanan, kebijakan izinkan folder yang berisi project, dan kebijakan izinkan organisasi.
Akses bersyarat
Jika binding peran memiliki kondisi, binding tersebut hanya memberikan akses kepada akun utama jika kondisi tersebut terpenuhi. Penganalisis Kebijakan 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, Penganalisis Kebijakan juga dapat menganalisis kondisi, yang berarti bahwa Penganalisis Kebijakan dapat melaporkan apakah kondisi akan terpenuhi. Penganalisis Kebijakan dapat menganalisis jenis kondisi berikut:
- Kondisi berdasarkan atribut resource, untuk jenis resource yang menyediakan 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, Penganalisis Kebijakan akan melakukan salah satu hal berikut:
Jika Penganalisis Kebijakan dapat menganalisis kondisi, Penganalisis Kebijakan akan melakukan salah satu tindakan berikut:
- Jika kondisi bernilai benar, Penganalisis Kebijakan akan menyertakan binding peran dalam hasil kueri dan menandai evaluasi kondisi sebagai
TRUE. - Jika kondisi dievaluasi sebagai salah, Penganalisis Kebijakan tidak menyertakan peran dalam hasil kueri.
- Jika kondisi bernilai benar, Penganalisis Kebijakan akan menyertakan binding peran dalam hasil kueri dan menandai evaluasi kondisi sebagai
Jika Penganalisis Kebijakan tidak dapat menganalisis kondisi untuk binding peran yang relevan, Penganalisis Kebijakan akan menyertakan peran tersebut dalam hasil kueri dan menandai evaluasi kondisi sebagai
CONDITIONAL.
Keaktualan data
Penganalisis Kebijakan menggunakan Cloud Asset API, yang menawarkan keaktualan data terbaik. Meskipun hampir semua pembaruan kebijakan muncul di Penganalisis Kebijakan dalam hitungan menit, ada kemungkinan Penganalisis Kebijakan tidak menyertakan pembaruan kebijakan terbaru.
Jenis kueri umum
Bagian ini menjelaskan cara menggunakan kueri analisis untuk menjawab pertanyaan umum terkait akses.
Siapa saja yang dapat mengakses resource ini?
Untuk menentukan akun utama mana 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 prinsipal mana 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 identitas akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan prinsipal mana yang memiliki peran atau izin tertentu.
Peran dan izin apa yang dimiliki prinsipal 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-testerspada 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 melakukan peniruan identitas akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan akses yang dimiliki akun utama pada resource.
Resource mana yang dapat diakses oleh kepala sekolah ini?
Untuk menentukan resource yang dapat diakses oleh 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 baca untuk pengguna Mahan?
- Set data BigQuery mana yang pemilik datanya adalah grup
dev-testers? - VM apa yang dapat dihapus Tal di project A?
- (Khusus API dan gcloud CLI): VM mana yang dapat dihapus pengguna John dengan meniru identitas akun layanan?
Untuk mempelajari cara membuat dan mengirim kueri ini, lihat Menentukan resource 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 selengkapnya ke hasil kueri Anda.
Untuk mempelajari cara mengaktifkan opsi ini, lihat Mengaktifkan opsi.
Perluasan grup
Jika Anda mengaktifkan perluasan grup, semua grup dalam hasil kueri akan diperluas menjadi anggota individual. Perluasan ini dibatasi hingga 1.000 anggota per grup. Jika Anda memiliki izin grup yang memadai, grup bertingkat juga akan diluaskan. Opsi ini hanya efektif jika Anda tidak menentukan prinsipal dalam kueri.
Misalnya, bayangkan Anda mengaktifkan perluasan grup untuk kueri "Siapa yang memiliki izin storage.buckets.delete untuk project-1?" Jika
Penganalisis Kebijakan menemukan grup yang memiliki izin storage.buckets.delete, hasil kueri akan mencantumkan tidak hanya ID grup, tetapi juga
semua anggota individu dalam grup.
Opsi ini memungkinkan Anda memahami akses pengguna perorangan, meskipun akses tersebut merupakan hasil dari keanggotaan mereka dalam grup.
Perluasan peran
Jika Anda mengaktifkan perluasan peran, hasil kueri akan mencantumkan semua izin 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
Penganalisis Kebijakan menemukan peran apa pun 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 secara persis izin yang dimiliki principal Anda.
Perluasan resource
Jika Anda mengaktifkan perluasan resource untuk kueri Policy Analyzer, hasil kueri akan mencantumkan semua resource turunan yang relevan untuk setiap resource induk (project, folder, dan organisasi) dalam hasil kueri. Perluasan ini dibatasi hingga 1.000 resource per resource induk untuk kueri Penganalisis Kebijakan dan 100.000 resource per resource induk untuk kueri Penganalisis Kebijakan yang berjalan lama.
Misalnya, pertimbangkan bagaimana perluasan resource akan memengaruhi kueri berikut:
Siapa yang memiliki izin
storage.buckets.deleteuntukproject-1?Jika Anda mengaktifkan perluasan resource untuk kueri ini, bagian resource pada hasil kueri tidak hanya akan mencantumkan project, tetapi juga semua bucket penyimpanan di dalam project.
Resource mana yang memiliki izin
compute.instances.setIamPolicyuntukmy-user@example.com?Jika Anda mengaktifkan perluasan resource untuk kueri ini dan Penganalisis Kebijakan menemukan bahwa
my-user@example.commemiliki peran level project yang berisi izin tersebut, bagian resource dari hasil kueri akan mencantumkan tidak hanya project, tetapi juga semua instance Compute Engine di dalam project.
Opsi ini memungkinkan Anda memahami secara mendetail resource yang dapat diakses oleh principal Anda.
Peniruan akun layanan
Jika menggunakan REST API atau gcloud CLI, Anda dapat mengaktifkan analisis peniruan akun layanan.
Jika opsi ini diaktifkan, Penganalisis Kebijakan menjalankan kueri analisis tambahan untuk menentukan siapa yang dapat meniru identitas akun layanan yang memiliki akses tertentu ke resource tertentu. Penganalisis Kebijakan menjalankan satu kueri untuk setiap akun layanan dalam hasil kueri. Kueri ini menganalisis siapa yang memiliki salah satu izin berikut pada akun layanan:
iam.serviceAccounts.actAsiam.serviceAccounts.getAccessTokeniam.serviceAccounts.getOpenIdTokeniam.serviceAccounts.implicitDelegationiam.serviceAccounts.signBlobiam.serviceAccounts.signJwt
Kuota dan batas
Cloud Asset Inventory menerapkan batas kecepatan permintaan yang 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 Penganalisis Kebijakan, 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 yang diizinkan dan analisis kebijakan organisasi.
Jika ingin menjalankan lebih dari 20 kueri analisis per hari, Anda harus memiliki aktivasi tingkat organisasi untuk paket Premium atau Enterprise Security Command Center. Untuk mengetahui informasi selengkapnya, lihat Pertanyaan terkait penagihan.
Langkah berikutnya
- Pelajari cara menggunakan Penganalisis Kebijakan untuk menganalisis kebijakan izin.
- Lihat cara menggunakan REST API untuk menyimpan kueri Analisis Kebijakan.