Ringkasan kontrol akses
Saat membuat project Google Cloud , Anda adalah satu-satunya prinsipal di project tersebut. Secara default, tidak ada akun utama lain (pengguna, grup, atau akun layanan) yang memiliki akses ke project Anda atau resource-nya. Setelah berhasil menyediakan Application Integration di project, Anda dapat menambahkan prinsipal baru dan menetapkan kontrol akses untuk resource Application Integration.
Application Integration menggunakan Identity and Access Management (IAM) untuk mengelola kontrol akses dalam project Anda. Anda dapat menggunakan IAM untuk mengelola akses di tingkat project atau di tingkat resource:
- Untuk memberikan akses ke resource di level project, tetapkan satu atau beberapa peran ke akun utama.
- Untuk memberikan akses ke resource tertentu, tetapkan kebijakan IAM pada resource tersebut. Resource harus mendukung kebijakan tingkat resource. Kebijakan ini menentukan peran yang ditetapkan ke akun utama.
Peran IAM
Setiap akun utama di Google Cloud project Anda diberi peran dengan izin tertentu. Saat menambahkan akun utama ke project atau ke resource, Anda menentukan peran yang akan diberikan kepadanya. Setiap peran IAM berisi serangkaian izin yang memungkinkan akun utama melakukan tindakan tertentu pada resource.
Untuk mengetahui informasi selengkapnya tentang berbagai jenis peran di IAM, lihat Memahami peran.
Untuk mengetahui informasi tentang cara memberikan peran kepada akun utama, lihat Memberikan, mengubah, dan mencabut akses.
Application Integration menyediakan serangkaian peran IAM bawaan tertentu. Anda dapat menggunakan peran ini untuk memberikan akses ke resource Application Integration tertentu dan mencegah akses yang tidak diinginkan ke resource Google Cloud lainnya.
Akun layanan
Akun layanan adalah akun Google Cloud yang terkait dengan project Anda yang dapat melakukan tugas atau operasi atas nama Anda. Akun layanan diberi peran dan izin dengan cara yang sama seperti akun utama, menggunakan IAM. Untuk mengetahui informasi selengkapnya tentang akun layanan dan berbagai jenis akun layanan, lihat Akun layanan IAM.
Anda harus memberikan peran IAM yang sesuai ke akun layanan untuk mengizinkan akun layanan tersebut mengakses metode API yang relevan. Saat Anda memberikan peran IAM ke akun layanan, integrasi apa pun yang menambahkan akun layanan tersebut akan memiliki otorisasi yang diberikan oleh peran tersebut. Jika tidak ada peran yang telah ditetapkan untuk tingkat akses yang diinginkan, Anda dapat membuat dan memberikan peran khusus.
Application Integration menggunakan dua jenis akun layanan:
Akun layanan yang dikelola pengguna
Akun layanan yang dikelola pengguna dapat dilampirkan ke integrasi untuk memberikan kredensial guna menjalankan tugas. Untuk mengetahui informasi selengkapnya, lihat Akun layanan yang dikelola pengguna.
Otorisasi yang diberikan ke integrasi dibatasi oleh dua konfigurasi terpisah: peran yang diberikan ke akun layanan yang ditambahkan dan cakupan akses. Kedua konfigurasi ini harus mengizinkan akses sebelum integrasi dapat menjalankan tugas.
Akun layanan yang dikelola pengguna memiliki alamat email berikut:
service-account-name@PROJECT_ID.iam.gserviceaccount.com
Akun layanan default
Project Google Cloud baru yang telah menyediakan Application Integration memiliki akun layanan default Application Integration, yang memiliki alamat email berikut:
service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
Akun layanan default Application Integration dibuat selama penyediaan dan otomatis ditambahkan ke project Anda dengan peran dan izin IAM dasar. Untuk mengetahui informasi selengkapnya, lihat Akun layanan default.
Untuk mengetahui informasi tentang cara memberikan peran atau izin tambahan ke akun layanan default, lihat Memberikan, mengubah, dan mencabut akses.
Tambahkan akun layanan
Application Integration menyediakan dua cara untuk menambahkan akun layanan ke integrasi Anda:- Jika Anda telah mengaktifkan tata kelola untuk wilayah Anda, Anda harus menambahkan akun layanan saat membuat integrasi baru.
- Jika belum mengaktifkan tata kelola, Anda dapat menambahkan akun layanan ke integrasi Anda. Untuk menambahkan akun layanan ke integrasi yang ada, lihat Mengedit dan melihat integrasi.
Aturan autentikasi
Jika integrasi Anda telah mengonfigurasi profil OAuth 2.0 dan akun layanan yang dikelola pengguna, maka secara default profil OAuth 2.0 digunakan untuk autentikasi. Jika profil OAuth 2.0 maupun akun layanan yang dikelola pengguna tidak dikonfigurasi, akun layanan default (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) akan digunakan. Jika tugas tidak menggunakan akun layanan default, eksekusi akan gagal.
Aturan otorisasi
Jika melampirkan akun layanan ke integrasi, Anda harus menentukan tingkat akses yang dimiliki akun layanan dengan peran IAM yang Anda berikan ke akun layanan. Jika akun layanan tidak memiliki peran IAM, tidak ada resource yang dapat diakses menggunakan akun layanan tersebut.
Cakupan akses berpotensi membatasi akses lebih lanjut ke metode API saat mengautentikasi melalui OAuth. Namun, mereka tidak meluas ke protokol autentikasi lain seperti gRPC.
Peran IAM
Anda harus memberikan peran IAM yang sesuai ke akun layanan untuk mengizinkan akun layanan tersebut mengakses metode API yang relevan.
Saat Anda memberikan peran IAM ke akun layanan, integrasi apa pun yang menambahkan akun layanan tersebut akan memiliki otorisasi yang diberikan oleh peran tersebut.
Access scopes
Cakupan akses adalah metode lama dalam menentukan otorisasi untuk integrasi Anda. Library ini menentukan cakupan OAuth default yang digunakan dalam permintaan dari gcloud CLI atau library klien. Cakupan memungkinkan Anda menentukan izin akses untuk pengguna. Anda dapat menentukan beberapa cakupan yang dipisahkan dengan satu spasi (" "). Untuk mengetahui informasi selengkapnya, lihat Cakupan OAuth 2.0 untuk Google API. Untuk akun layanan yang dikelola pengguna, cakupannya telah ditentukan sebelumnya ke cakupan berikut:
https://www.googleapis.com/auth/cloud-platform