IAM Conditions untuk akses terperinci

Halaman ini menjelaskan cara membatasi akses ke koneksi Anda menggunakan IAM Conditions.

Dengan IAM Condition, Anda dapat memiliki kontrol terperinci atas resource Integration Connectors. Secara default, pengguna atau peran Integration Connectors dapat melakukan semua operasi yang didukung pada koneksi. Dengan menggunakan IAM Conditions, Anda dapat membatasi pengguna atau peran tertentu untuk hanya melakukan operasi yang dipilih pada koneksi. Misalnya, Anda dapat membatasi pengguna sehingga pengguna hanya dapat mengubah koneksi yang namanya diawali dengan test-connection, dan tidak akan memiliki izin lain pada koneksi tersebut seperti berlangganan peristiwa, atau melihat metadata skema.

Sebelum memulai

Integration Connectors menggunakan Identity and Access Management (IAM) Google Cloud untuk mengelola peran dan izin resource Integration Connectors. Oleh karena itu, sebelum Anda menentukan atau mengubah kondisi di IAM untuk resource Integration Connectors, pahami konsep IAM berikut:

Menambahkan IAM Conditions

Untuk menambahkan IAM Condition ke resource Integration Connectors, Anda memerlukan informasi berikut:

  • URI Resource Bernama - Setiap resource di Integration Connectors memiliki URI resource yang unik. Misalnya, URI untuk resource koneksi adalah projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}. Untuk mengetahui daftar lengkap semua URI yang tersedia, lihat Resource REST Integration Connectors. Untuk mengontrol izin akses resource di tingkat terperinci, Anda harus memberi nama resource sesuai dengan konvensi penamaan. Berdasarkan persyaratan, Anda dapat memutuskan konvensi penamaan yang ingin digunakan. Misalnya, Anda dapat menambahkan awalan kata marketing- untuk semua koneksi yang dimiliki oleh tim pemasaran. Dalam contoh ini, URI resource untuk koneksi tim pemasaran akan dimulai dengan projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-.
  • Izin khusus induk - Periksa apakah resource atau salah satu resource turunannya memerlukan izin khusus induk. Untuk mengetahui informasi selengkapnya, lihat Izin khusus induk.
  • Jenis resource - Anda dapat mempersempit cakupan resource lebih lanjut dengan memfilter jenis resource dalam kondisi. Integration Connectors mendukung kondisi untuk resource berikut:
    Nama resource Jenis resource
    Koneksi connectors.googleapis.com/Connection
    ManagedZone connectors.googleapis.com/ManagedZone
    EndpointAttachment connectors.googleapis.com/EndpointAttachment
    EventSubscription connectors.googleapis.com/EventSubscription
    ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata

Contoh

Tabel berikut mencantumkan contoh kondisi resource yang dapat Anda terapkan untuk pengguna atau peran Integration Connectors.

Kondisi resource IAM Deskripsi
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection")
|| (resource.type != "connectors.googleapis.com/Connection"
&& resource.name.extract("/operations/{operation}") == "")
Pengguna atau peran yang Anda beri kondisi ini, hanya dapat melakukan operasi berikut:
  • Mencantumkan semua koneksi dan operasi yang berjalan lama.
  • Melakukan operasi dapatkan, buat, perbarui, dan hapus pada koneksi yang namanya diawali dengan marketing-.

Pengguna tidak dapat melihat, membatalkan, atau menghapus operasi yang berjalan lama satu per satu. Agar pengguna dapat melacak progres operasi, lihat Mengizinkan pengguna yang dibatasi melacak operasi.

(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") ||
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata")
|| (resource.type != "connectors.googleapis.com/Connection"
&& resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata"
&& resource.name.extract("/operations/{operation}") == "")
Pengguna atau peran yang Anda beri kondisi ini, hanya dapat melakukan operasi berikut:
  • Mencantumkan semua koneksi dan operasi yang berjalan lama.
  • Melakukan operasi dapatkan, buat, perbarui, dan hapus hanya untuk koneksi yang namanya diawali dengan marketing-.
  • Mendapatkan metadata skema koneksi hanya untuk koneksi yang namanya diawali dengan marketing-.

Pengguna tidak dapat melihat, membatalkan, atau menghapus operasi yang berjalan lama satu per satu.

Mengizinkan pengguna yang dibatasi melacak operasi

Jika kondisi dalam contoh sebelumnya mengecualikan operasi, pengguna yang dibatasi masih dapat membuat, memperbarui, dan menghapus koneksi yang diizinkan untuk dikelola, tetapi mereka tidak dapat memeriksa status operasi yang berjalan lama yang dihasilkan. Jika pengguna yang dibatasi perlu melacak operasi, beri mereka peran khusus terpisah tanpa kondisi, yang hanya berisi izin connectors.operations.get.

Dengan peran ini, pengguna dapat melihat operasi apa pun dalam project, termasuk operasi untuk koneksi yang tidak dapat mereka akses. Ini adalah informasi koneksi yang sama dengan yang sudah dapat dilihat pengguna karena mereka dapat mencantumkan semua koneksi. Jangan memberikan izin connectors.operations.cancel atau connectors.operations.delete kepada pengguna yang aksesnya dibatasi oleh suatu kondisi, karena izin tersebut akan memungkinkan mereka membatalkan atau menghapus operasi untuk koneksi apa pun dalam project.

Menambahkan IAM Condition untuk akun layanan Application Integration

Anda dapat menerapkan IAM Condition ke akun layanan Application Integration, yang memungkinkan Anda membatasi koneksi yang dapat diakses akun layanan selama eksekusi integrasi. Misalnya, Anda dapat membatasi akun layanan sehingga hanya dapat mengakses koneksi yang namanya diawali dengan marketing-. Untuk mengetahui informasi selengkapnya, lihat Menerapkan IAM Condition ke akun layanan.

Tabel berikut mencantumkan contoh kondisi resource yang dapat Anda terapkan untuk akun layanan Application Integration.

Kondisi resource IAM Deskripsi
resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-")
Akun layanan yang Anda beri kondisi ini hanya dapat menjalankan koneksi yang namanya diawali dengan marketing-.

Langkah berikutnya

Baca informasi berikut dalam dokumentasi IAM: