Halaman ini memberikan informasi mengenai peran dan izin Identity and Access Management (IAM) dan cara penggunaannya dengan instance Cloud SQL.
Pengantar
Halaman ini berfokus pada aspek IAM yang relevan khususnya untuk Cloud SQL. Untuk mengetahui pembahasan mendetail tentang IAM dan fitur-fiturnya secara umum, lihat Identity and Access Management. Secara khusus lihat bagian Mengelola Kebijakan IAM. Dengan IAM, Anda dapat mengontrol siapa yang memiliki akses ke resource di project Google Cloud Anda. Serangkaian aturan akses yang Anda terapkan ke resource disebut kebijakan IAM. Suatu kebijakan IAM yang diterapkan ke project Anda menentukan tindakan yang dapat dilakukan pengguna pada semua resource dalam project Anda.
Anggota adalah pihak yang dikelola oleh IAM. Anggota bisa berupa pengguna individu, grup, domain, atau bahkan publik secara keseluruhan. Anggota diberi peran, yang memberi mereka kemampuan untuk melakukan tindakan di Cloud SQL serta Google Cloud secara lebih umum. Setiap peran adalah kumpulan satu atau beberapa izin. Izin adalah unit dasar IAM: setiap izin memungkinkan Anda melakukan tindakan tertentu. Lihat peran IAM di Cloud SQL dan izin IAM di Cloud SQL untuk mengetahui daftar lengkap semua peran dan izin yang tersedia di Cloud SQL.
Saat Anda menggunakan akun untuk terhubung ke instance Cloud SQL,
akun tersebut harus memiliki peran (roles/cloudsql.client
) Cloud SQL > Klien, yang mencakup izin
yang diperlukan untuk terhubung ke instance Cloud SQL.
Anda dapat menambahkan peran ke sebuah akun di Konsol pada halaman IAM & Admin > IAM, dan lihat izin mana yang terhubung ke peran tertentu di halaman IAM & Admin > Peran.
Cloud SQL menggunakan akun layanan untuk autentikasi antara Cloud SQL
dan produk Google Cloud lainnya. Akun layanan menyediakan credentials
dalam
format JSON, yang Anda download dari Konsol dan digunakan untuk autentikasi
dalam berbagai skenario.
Peran dan izin Cloud SQL dengan Proxy Auth Cloud SQL
Jika terhubung ke instance Cloud SQL dari instance Compute Engine menggunakan Cloud SQL Auth Proxy, Anda dapat menggunakan akun layanan Compute Engine default yang terkait dengan instance Compute Engine.
Seperti halnya semua akun yang terhubung ke instance Cloud SQL, akun layanan harus memiliki peran Cloud SQL > Klien.
Peran dan izin Cloud SQL dengan opsi tanpa server
Gunakan akun layanan untuk mengizinkan akses dari opsi ini. Akun layanan mengizinkan akses ke semua Cloud SQL dalam project tertentu. Saat Anda membuat aplikasi atau fungsi Cloud Run, layanan ini akan membuatkan akun ini untuk Anda. Anda dapat menemukan akun tersebut di halaman IAM & Admin > IAM , dengan akhiran yang sesuai:
Opsi serverless | Akhiran akun layanan |
---|---|
App Engine | @gae-api-prod.google.com. |
Fungsi Cloud Run | @ |
Cloud Run | compute@ |
Peran dan izin Cloud SQL dengan Cloud Storage
Fitur impor dan ekspor di Cloud SQL bekerja bersama. Mengekspor operasi tulis ke Cloud Storage dan mengimpor data yang dibaca dari sana. Karena alasan ini, akun layanan yang Anda gunakan untuk operasi ini memerlukan izin baca dan tulis ke Cloud Storage:
- Untuk mengimpor data ke, dan mengekspor data dari, Cloud Storage, akun layanan
instance Cloud SQL harus memiliki peran IAM
storage.objectAdmin
yang ditetapkan dalam project. Anda dapat menemukan nama akun layanan instance di konsol Google Cloud di halaman Overview instance Anda. - Anda dapat menggunakan perintah
gcloud storage buckets add-iam-policy-binding
untuk memberikan peran IAM ini ke akun layanan untuk bucket. - Untuk mendapatkan bantuan dalam menetapkan peran dan izin IAM, lihat Menggunakan izin IAM.
- Untuk informasi lebih lanjut, lihat IAM untuk Cloud Storage.
Peran dan izin Cloud SQL untuk integrasi Dataplex
Untuk memberikan akses ke metadata Cloud SQL di Dataplex, Anda
dapat memberikan peran roles/cloudsql.schemaViewer
kepada pengguna atau menambahkan
izin cloudsql.schemas.view
ke peran kustom.
Untuk informasi selengkapnya, lihat Mengelola resource Cloud SQL dengan Katalog Dataplex.
Peran dan izin Cloud SQL dengan skenario lain
Cloud SQL berinteraksi dengan produk dan alat Google Cloud lainnya. Interaksi ini juga memerlukan peran dan izin tertentu yang dapat bervariasi di setiap skenario. Dokumentasi Cloud SQL memberikan informasi mendetail tentang persyaratan ini untuk setiap kasus di bawah:
- Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
- Peran IAM untuk Mengelola Kontrol Layanan VPC.
Menggunakan IAM dengan project
Bagian berikut menunjukkan cara menyelesaikan tugas IAM dasar pada project.
Untuk menyelesaikan tugas berikut, Anda harus memiliki
resourcemanager.projects.getIamPolicy
dan
resourcemanager.projects.setIamPolicy
izin IAM.
Menambahkan anggota ke kebijakan level project
Untuk mengetahui daftar peran yang terkait dengan Cloud SQL, lihat Peran IAM.
Konsol
- Buka halaman IAM & Admin di konsol Google Cloud
- Dalam menu drop-down project di panel atas, pilih project yang ingin Anda tambah anggotanya.
- Klik Tambahkan. Dialog Tambahkan anggota, peran ke project akan muncul.
- Di kolom Anggota baru, masukkan nama entity yang ingin Anda beri akses.
- Di menu drop-down Pilih peran, berikan peran yang sesuai kepada anggota. Peran yang memengaruhi resource Cloud SQL ditemukan dalam submenu Project dan Cloud SQL.
- Klik Simpan.
gcloud
Untuk menambahkan kebijakan IAM level project, gunakan
gcloud beta projects add-iam-policy-binding
.
Melihat kebijakan IAM untuk project
Konsol
- Buka halaman IAM & Admin di konsol Google Cloud
- Dalam menu drop-down project di panel atas, pilih project yang kebijakannya ingin Anda lihat.
- Ada dua cara untuk melihat izin project:
- Lihat berdasarkan Anggota: Lihat kolom Peran yang terkait dengan masing-masing anggota untuk melihat peran yang dimiliki setiap anggota.
- Lihat berdasarkan Peran: Gunakan menu drop-down yang terkait dengan setiap peran untuk melihat anggota yang memiliki peran tersebut.
gcloud
Untuk melihat kebijakan IAM suatu project, gunakan
gcloud beta projects get-iam-policy
.
Menghapus anggota dari kebijakan level project
Konsol
- Buka halaman IAM & Admin di konsol Google Cloud
- Pada menu drop-down project di panel atas, pilih project yang ingin Anda hapus anggotanya.
- Pastikan Anda melihat izin berdasarkan Anggota, lalu pilih anggota yang ingin dihapus.
- Klik Hapus.
- Di jendela overlay yang muncul, klik Konfirmasi.
gcloud
Untuk menghapus kebijakan IAM level project, gunakan
gcloud beta projects remove-iam-policy-binding
.
Praktik terbaik
IAM, seperti setelan administratif lainnya, memerlukan pengelolaan aktif agar bisa bekerja dengan efektif. Sebelum Anda membuat resource agar dapat diakses oleh pengguna lain, pastikan Anda mengetahui peran apa yang Anda ingin mereka lakukan. Seiring waktu, perubahan dalam pengelolaan project, pola penggunaan, dan kepemilikan organisasi mungkin mengharuskan Anda untuk mengubah setelan IAM pada project, terutama jika Anda mengelola Cloud SQL dalam organisasi besar atau untuk sekelompok besar pengguna. Saat Anda mengevaluasi dan merencanakan setelan kontrol akses, selalu ingat praktik terbaik berikut:
Gunakan prinsip hak istimewa terendah saat memberikan akses. Prinsip hak istimewa terendah adalah panduan keamanan untuk memberikan akses ke resource Anda. Saat memberikan akses berdasarkan prinsip hak istimewa terendah, Anda memberikan akses yang dibutuhkan pengguna hanya untuk menyelesaikan tugas yang diberikan kepada pengguna.
Hindari memberikan peran dengan izin
setIamPolicy
kepada orang yang tidak Anda kenal. Memberikan izinsetIamPolicy
memungkinkan pengguna untuk mengubah izin dan mengambil kontrol data. Anda sebaiknya menggunakan peran dengan izinsetIamPolicy
hanya jika ingin mendelegasikan kontrol administratif atas objek dan bucket.Pastikan Anda mendelegasikan kontrol administratif atas resource Anda. Anda harus yakin bahwa resource Anda masih dapat dikelola oleh anggota tim lainnya jika seseorang dengan akses administratif keluar dari grup. Dua cara umum untuk melakukannya adalah sebagai berikut:
- Tetapkan peran Admin Cloud SQL untuk project Anda ke grup, bukan ke individu.
- Tetapkan peran Admin Cloud SQL untuk project Anda setidaknya kepada dua individu.
Langkah selanjutnya
- Pelajari lebih lanjut tentang cara Mengontrol akses