Mengonfigurasi peran IAM dalam aturan masuk dan keluar

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

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:

  1. Saat membuat perimeter atau mengedit perimeter di konsol Google Cloud, pilih Kebijakan masuk.

  2. Di panel Aturan traffic masuk, pilih aturan traffic masuk yang ada atau klik Tambahkan aturan traffic masuk.

  3. Di bagian Ke pada kebijakan ingress, pilih Pilih peran IAM (Pratinjau) dari daftar Operasi atau peran IAM.

  4. Klik Tambahkan peran IAM.

  5. Di panel Add IAM roles, pilih peran IAM yang ingin Anda izinkan.

    Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.

  6. Klik Tambahkan peran IAM yang dipilih.

  7. 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:

  1. Saat membuat perimeter atau mengedit perimeter di konsol Google Cloud, pilih Kebijakan egress.

  2. Di panel Aturan traffic keluar, pilih aturan traffic keluar yang ada atau klik Tambahkan aturan traffic keluar.

  3. Di bagian Ke kebijakan keluar, pilih Pilih peran IAM (Pratinjau) dari daftar Operasi atau peran IAM.

  4. Klik Tambahkan peran IAM.

  5. Di panel Add IAM roles, pilih peran IAM yang ingin Anda izinkan.

    Untuk informasi tentang layanan dan peran yang didukung, lihat Produk yang didukung.

  6. Klik Tambahkan peran IAM yang dipilih.

  7. 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 Registry
artifactregistry.googleapis.com
  • Tidak ada batasan umum.
BigQuery
bigquery.googleapis.com
  • Tidak ada batasan umum.
BigQuery Data Transfer Service
bigquerydatatransfer.googleapis.com
  • Tidak ada batasan umum.
Bigtable
bigtable.googleapis.com
  • Tidak ada batasan umum.
Otorisasi Biner
binaryauthorization.googleapis.com
  • Tidak ada batasan umum.
Cloud Composer
composer.googleapis.com
  • Tidak ada batasan umum.
Cloud Key Management Service
cloudkms.googleapis.com
Cloud Logging
logging.googleapis.com
  • Tidak ada batasan umum.
Cloud Monitoring
monitoring.googleapis.com
  • Tidak ada batasan umum.
Cloud Run
run.googleapis.com
  • Tidak ada batasan umum.
Cloud Run functions
cloudfunctions.googleapis.com
  • Tidak ada batasan umum.
Cloud SQL
sqladmin.googleapis.com
  • Tidak ada batasan umum.
Cloud Storage
storage.googleapis.com
  • Kontrol Layanan VPC mendukung peran kustom untuk Cloud Storage dalam aturan masuk dan keluar, tetapi tidak mendukung peran Cloud Storage bawaan. Saat Anda mencoba menggunakan peran Cloud Storage yang telah ditentukan dalam aturan masuk atau keluar, Kontrol Layanan VPC akan menampilkan error INVALID_ARGUMENT.
  • Saat melakukan objek penyisipan atau menulis permintaan API ke project yang dilindungi oleh Kontrol Layanan VPC, Anda harus mengonfigurasi aturan masuk dan keluar yang mengizinkan izin storage.objects.delete dan storage.objects.create.
  • Saat Anda mengaktifkan fitur Pemohon Membayar di Cloud Storage, Kontrol Layanan VPC tidak mendukung penggunaan peran Cloud Storage dalam aturan masuk dan keluar.
Compute Engine
compute.googleapis.com
  • Tidak ada batasan umum.
Dataflow
dataflow.googleapis.com
  • Tidak ada batasan umum.
Dataproc
dataproc.googleapis.com
  • Tidak ada batasan umum.
Google Kubernetes Engine
container.googleapis.com
  • Tidak ada batasan umum.
Identity and Access Management
iam.googleapis.com
  • Tidak ada batasan umum.
Pub/Sub
pubsub.googleapis.com
  • Tidak ada batasan umum.
Resource Manager
cloudresourcemanager.googleapis.com
  • Tidak ada batasan umum.
Secret Manager
secretmanager.googleapis.com
  • Tidak ada batasan umum.
Spanner
spanner.googleapis.com
  • Tidak ada batasan umum.

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
  • roles/cloudsql.viewer
  • cloudsql.backupRuns.list
  • cloudaicompanion.*
  • roles/cloudsql.editor
  • cloudsql.backupRuns.list
  • cloudaicompanion.*
Cloud Storage
  • roles/storage.objectUser
  • storage.objects.move
Identity and Access Management
  • roles/iam.serviceAccountTokenCreator
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
Resource Manager
  • roles/resourcemanager.tagAdmin
  • resourcemanager.tagKeys.get
  • resourcemanager.tagValues.get
  • roles/resourcemanager.tagUser
  • resourcemanager.tagKeys.get
  • resourcemanager.tagValues.get
  • alloydb.*
  • certificatemanager.*
  • clouddeploy.*
  • roles/resourcemanager.tagViewer
  • resourcemanager.tagKeys.get
  • resourcemanager.tagValues.get
  • alloydb.*
  • certificatemanager.*
  • clouddeploy.*
Spanner
  • roles/spanner.databaseReaderWithDataBoost
  • spanner.databases.useDataBoost
Peran lain yang didukung sebagian
  • alloydb.*
  • backupdr.*
  • bigquerymigration.*
  • certificatemanager.*
  • cloudaicompanion.*
  • cloudasset.*
  • cloudbuild.*
  • clouddeploy.*
  • dataform.*
  • dataplex.*
  • dns.*
  • eventarc.*
  • networkconnectivity.*
  • networkmanagement.*
  • networksecurity.*
  • networkservices.*

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
  • roles/iam.denyReviewer
  • roles/iam.oauthClientViewer
  • roles/iam.operationViewer
  • roles/iam.workforcePoolEditor
  • roles/iam.workforcePoolViewer
  • roles/iam.workloadIdentityPoolViewer
  • roles/iam.workforcePoolEditor
  • roles/iam.workforcePoolViewer

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.

Langkah berikutnya