Halaman ini menjelaskan cara menggunakan peran Identity and Access Management (IAM) dalam aturan masuk dan keluar untuk mengizinkan akses ke resource yang dilindungi oleh perimeter layanan.
Kontrol Layanan VPC menggunakan aturan masuk dan keluar untuk mengizinkan akses ke dan dari resource serta klien yang dilindungi oleh perimeter layanan. Secara opsional, Anda dapat membatasi aturan traffic masuk dan keluar menggunakan peran IAM. Saat Anda menentukan peran IAM dalam aturan, aturan tersebut hanya mengizinkan tindakan yang terkait dengan izin yang merupakan bagian dari peran IAM.
Sebelum memulai
Baca tentang aturan traffic masuk dan keluar.
Jika Anda ingin menggunakan peran kustom dalam aturan masuk dan keluar, pastikan Anda memiliki izin yang diperlukan.
Mengonfigurasi peran IAM dalam aturan masuk
Konsol
Saat memperbarui kebijakan traffic masuk perimeter layanan atau menetapkan kebijakan traffic masuk selama pembuatan perimeter menggunakan konsol Google Cloud, Anda dapat mengonfigurasi aturan traffic masuk untuk menggunakan peran IAM:
Saat membuat perimeter atau mengedit perimeter di konsol Google Cloud, pilih Kebijakan masuk.
Di panel Aturan traffic masuk, pilih aturan traffic masuk yang ada atau klik Tambahkan aturan traffic masuk.
Di bagian Ke pada kebijakan ingress, pilih Pilih peran IAM (Pratinjau) dari daftar Operasi atau peran IAM.
Klik Tambahkan peran IAM.
Di panel Add IAM roles, pilih peran IAM yang ingin Anda izinkan.
Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.
Klik Tambahkan peran IAM yang dipilih.
Klik Done.
Untuk informasi tentang atribut aturan traffic masuk lainnya, lihat Referensi aturan traffic masuk.
gcloud
Anda dapat mengonfigurasi aturan traffic masuk untuk menggunakan peran IAM menggunakan file JSON atau file YAML. Contoh berikut menggunakan format YAML:
- ingressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
Ganti ROLE_NAME
dengan peran IAM
yang menentukan cakupan akses untuk layanan yang ditentukan dalam aturan.
Tentukan satu peran atau kombinasi peran yang menyertakan semua
izin yang diperlukan untuk mengakses layanan. Untuk menentukan peran, gunakan format nama peran yang disebutkan dalam Komponen peran, kecuali format berikut: projects/PROJECT_ID/roles/IDENTIFIER
.
Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.
Untuk informasi tentang atribut aturan traffic masuk lainnya, lihat Referensi aturan traffic masuk.
Setelah memperbarui aturan masuk yang ada untuk mengonfigurasi peran IAM, Anda perlu memperbarui kebijakan aturan perimeter layanan:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Ganti kode berikut:
PERIMETER_ID
: ID perimeter layanan yang ingin Anda perbarui.RULE_POLICY
: jalur file aturan masuk yang diubah.
Untuk mengetahui informasi selengkapnya, lihat Memperbarui kebijakan traffic masuk dan keluar untuk perimeter layanan.
Mengonfigurasi peran IAM dalam aturan keluar
Konsol
Saat memperbarui kebijakan traffic keluar perimeter layanan atau menetapkan kebijakan traffic keluar selama pembuatan perimeter menggunakan konsol Google Cloud, Anda dapat mengonfigurasi aturan traffic keluar untuk menggunakan peran IAM:
Saat membuat perimeter atau mengedit perimeter di konsol Google Cloud, pilih Kebijakan egress.
Di panel Aturan traffic keluar, pilih aturan traffic keluar yang ada atau klik Tambahkan aturan traffic keluar.
Di bagian Ke kebijakan keluar, pilih Pilih peran IAM (Pratinjau) dari daftar Operasi atau peran IAM.
Klik Tambahkan peran IAM.
Di panel Add IAM roles, pilih peran IAM yang ingin Anda izinkan.
Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.
Klik Tambahkan peran IAM yang dipilih.
Klik Done.
Untuk informasi tentang atribut aturan traffic keluar lainnya, lihat Referensi aturan traffic keluar.
gcloud
Anda dapat mengonfigurasi aturan traffic keluar untuk menggunakan peran IAM menggunakan file JSON atau file YAML. Contoh berikut menggunakan format YAML:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
sourceRestriction: RESTRICTION_STATUS
Ganti ROLE_NAME
dengan peran IAM
yang menentukan cakupan akses untuk layanan yang ditentukan dalam aturan.
Tentukan satu peran atau kombinasi peran yang menyertakan semua
izin yang diperlukan untuk mengakses layanan. Untuk menentukan peran, gunakan format nama peran yang disebutkan dalam Komponen peran, kecuali format berikut: projects/PROJECT_ID/roles/IDENTIFIER
.
Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.
Untuk informasi tentang atribut aturan traffic keluar lainnya, lihat Referensi aturan traffic keluar.
Setelah memperbarui aturan traffic keluar yang ada untuk mengonfigurasi peran IAM, Anda perlu memperbarui kebijakan aturan perimeter layanan:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Ganti kode berikut:
PERIMETER_ID
: ID perimeter layanan yang ingin Anda perbarui.RULE_POLICY
: jalur file aturan keluar yang diubah.
Untuk mengetahui informasi selengkapnya, lihat Memperbarui kebijakan traffic masuk dan keluar untuk perimeter layanan.
Produk yang didukung
Anda dapat menggunakan peran IAM dari layanan Google Cloud berikut dalam aturan masuk dan keluar:
Product | Batasan |
---|---|
Artifact Registryartifactregistry.googleapis.com |
|
BigQuerybigquery.googleapis.com |
|
BigQuery Data Transfer Servicebigquerydatatransfer.googleapis.com |
|
Bigtablebigtable.googleapis.com |
|
Otorisasi Binerbinaryauthorization.googleapis.com |
|
Cloud Composercomposer.googleapis.com |
|
Cloud Key Management Servicecloudkms.googleapis.com |
|
Cloud Logginglogging.googleapis.com |
|
Cloud Monitoringmonitoring.googleapis.com |
|
Cloud Runrun.googleapis.com |
|
Cloud Run functionscloudfunctions.googleapis.com |
|
Cloud SQLsqladmin.googleapis.com |
|
Cloud Storagestorage.googleapis.com |
|
Compute Enginecompute.googleapis.com |
|
Dataflowdataflow.googleapis.com |
|
Dataprocdataproc.googleapis.com |
|
Google Kubernetes Enginecontainer.googleapis.com |
|
Identity and Access Managementiam.googleapis.com |
|
Pub/Subpubsub.googleapis.com |
|
Resource Managercloudresourcemanager.googleapis.com |
|
Secret Managersecretmanager.googleapis.com |
|
Spannerspanner.googleapis.com |
|
Untuk mengetahui daftar peran IAM bawaan dari layanan ini yang dapat Anda gunakan dalam aturan masuk dan keluar, lihat Peran bawaan.
Namun, ada beberapa peran IAM dalam layanan ini yang didukung sebagian atau tidak didukung untuk digunakan dalam aturan masuk dan keluar, karena beberapa atau semua izin yang mendasarinya tidak didukung:
Penggunaan peran IAM yang didukung sebagian dalam aturan masuk atau keluar akan membuat aturan tidak efektif untuk permintaan atau tindakan khusus untuk izin yang mendasarinya dan tidak didukung.
Untuk mengetahui daftar peran yang didukung sebagian dan izin terkait yang tidak didukung, lihat Peran IAM yang didukung sebagian.
Penggunaan peran IAM yang tidak didukung dalam aturan masuk atau keluar akan membuat aturan tersebut tidak efektif.
Untuk mengetahui daftar peran yang tidak didukung, lihat Peran IAM yang tidak didukung.
Jika Anda ingin menggunakan peran khusus dalam aturan masuk dan keluar, pastikan peran khusus hanya berisi izin yang didukung yang merupakan bagian dari layanan yang didukung. Untuk mengetahui daftar izin yang tidak didukung untuk layanan yang didukung, lihat Peran IAM yang didukung sebagian dan Peran IAM yang tidak didukung.
Anda tidak dapat menggunakan peran kustom yang telah dibuat di tingkat project. Dengan kata lain, Anda tidak dapat menggunakan peran kustom dalam format berikut: projects/PROJECT_ID/roles/IDENTIFIER
.
Peran IAM yang didukung sebagian
Tabel berikut mencantumkan peran IAM yang didukung sebagian dari layanan tertentu:
Product | Peran yang didukung sebagian | Izin yang tidak didukung |
---|---|---|
Cloud SQL |
|
|
|
|
|
Cloud Storage |
|
|
Identity and Access Management |
|
|
Resource Manager |
|
|
|
|
|
|
|
|
Spanner |
|
|
Peran lain yang didukung sebagian |
|
|
Peran IAM yang tidak didukung
Tabel berikut mencantumkan peran IAM yang tidak didukung dari layanan tertentu:
Product | Peran yang tidak didukung |
---|---|
Identity and Access Management |
|
Batasan
Anda tidak dapat menggunakan aturan masuk atau keluar berbasis peran untuk mengizinkan permintaan menetapkan kebijakan izin IAM project di seluruh batas perimeter.
Jika Anda mengalami masalah saat memuat halaman pengeditan untuk layanan di konsol Google Cloud karena batasan Kontrol Layanan VPC, menggunakan peran IAM dalam aturan masuk mungkin tidak menyelesaikan masalah tersebut. Batasan ini tidak memengaruhi halaman hanya lihat untuk layanan ini.
Jika permintaan melibatkan beberapa jenis resource dari project yang berbeda, aturan masuk atau keluar yang menggunakan peran IAM mungkin tidak berfungsi. Misalnya, saat Anda meluncurkan template Dataflow yang membaca teks dari Cloud Storage di project lain.
Jika Anda menghapus peran khusus setelah mereferensikan peran dalam aturan masuk atau keluar perimeter, perimeter tidak dapat diedit.