AI Platform Prediction menggunakan Identity and Access Management (IAM) untuk mengelola akses ke resource. Untuk memberikan akses ke resource, tetapkan satu atau beberapa peran ke pengguna, grup, atau akun layanan. Untuk membagikan model, Anda memberikan peran yang memberikan akses ke model Anda dan versinya.
Panduan ini berfokus pada dua peran Prediksi AI Platform yang telah ditetapkan yang dapat digunakan untuk memberikan akses ke resource model:
- Pemilik Model Prediksi AI Platform
- Pengguna Model Prediksi AI Platform
Untuk mengetahui detail tentang peran lainnya, lihat penjelasan lengkap tentang semua peran IAM yang tersedia untuk digunakan dengan AI Platform Prediction.
Sebelum memulai
- Latih model machine learning Anda.
- Men-deploy model Anda ke AI Platform Prediction.
Peran model
Peran Pemilik Model Prediksi AI Platform dan Pengguna Model memberikan berbagai izin ke resource model tertentu.
Anda dapat berbagi model dengan individu atau layanan dengan memberi mereka peran Pengguna Model.
Nama Peran | Nama Peran | Kapabilitas |
---|---|---|
Pemilik Model Prediksi AI Platform |
Akses penuh ke model dan versinya. Peran ini otomatis diberikan kepada pengguna yang membuat model. |
|
Pengguna Model Prediksi AI Platform |
Izin untuk membaca model dan versinya, serta menggunakannya untuk prediksi. Memberikan peran ini akan memudahkan Anda membagikan model tertentu. |
Memberi individu dan akun layanan akses ke model
Contoh ini menunjukkan cara mengedit kebijakan IAM untuk model tertentu dengan memberikan peran Pemilik Model atau Pengguna Model kepada individu dan akun layanan. Anda dapat mengedit file kebijakan menggunakan API, gcloud
, atau Konsol Google Cloud.
Konsol
Berbagi model dengan pengguna atau akun layanan
Buka halaman AI Platform Prediction Models.
Pilih kotak centang untuk setiap model yang ingin Anda bagikan.
Klik tombol Show Info Panel di pojok kanan atas untuk menampilkan tab Permissions.
Di kolom Add Member, tambahkan Akun Google untuk pengguna yang ingin Anda ajak berbagi model. Misalnya, "email1@gmail.com".
Di kolom drop-down Pilih peran, pilih peran yang ingin Anda tambahkan untuk pengguna. Untuk membagikan resource model, pilih Pemilik Model ML Engine atau Pengguna Model ML Engine.
Jika tidak yakin peran mana yang harus dipilih, lihat detail selengkapnya tentang peran model.
Klik tombol Tambahkan di samping kolom drop-down Pilih peran untuk menyelesaikan pemilihan peran.
Halaman konsol Google Cloud akan dimuat ulang dan menampilkan peran yang telah Anda tetapkan di tab Izin dengan daftar anggota yang terkait dengan peran tersebut.
Untuk berhenti berbagi model dengan pengguna atau akun layanan, klik ikon tempat sampah di samping ID akun.
gcloud
Memodifikasi kebijakan model dengan mengedit file kebijakan secara langsung
Anda dapat menggunakan file JSON atau YAML dengan perintah gcloud
. Contoh ini menggunakan JSON.
Dapatkan kebijakan yang ingin Anda ubah, dan tuliskan ke file JSON.
gcloud ai-platform models get-iam-policy <MODEL_NAME> --format json > iam.json
Buka file kebijakan (
iam.json
dalam contoh ini), atau jalankancat iam.json
untuk melihat kebijakan. Pada contoh kebijakan berikut, akun layanan diberi peran Pemilik Model Prediksi AI Platform sehingga memiliki akses ke prediksi online.{ "bindings": [ { "role": "roles/ml.modelOwner", "members": [ "serviceAccount:my-other-app@appspot.gserviceaccount.com", "user:email1@gmail.com" ] } ], "etag": "BwVUJYGz8M4=", }
Dengan menggunakan editor teks, update file
iam.json
Anda seperti berikut. Tambahkan objek baru ke arraybindings
yang menentukan anggota grup dan peran untuk anggota tersebut. Misalnya, untuk memberikan peranroles/ml.modelUser
kepada penggunaemail2@gmail.com
, ubah contoh yang ditampilkan di atas sebagai berikut:{ "bindings": [ { "role": "roles/ml.modelOwner", "members": [ "serviceAccount:my-other-app@appspot.gserviceaccount.com", "user:email1@gmail.com" ] }, { "role": "roles/ml.modelUser", "members": [ "user:email2@gmail.com" ] } ], "etag": "BwVUJYGz8M4=", }
Perbarui kebijakan project dengan menjalankan perintah berikut:
gcloud ai-platform models set-iam-policy <MODEL_NAME> iam.json
Perintah ini menghasilkan kebijakan yang diperbarui dalam YAML:
bindings: - members: - user:email1@gmail.com - serviceAccount:otherapp@appspot.gserviceaccount.com role: roles/ml.modelOwner - members: - user:email2@gmail.com role: roles/ml.modelUser etag: BwVUJYGz8M4=
Mengubah kebijakan dengan perintah binding kebijakan
Gunakan perintah add-iam-policy-binding
dan remove-iam-policy-binding
untuk memberikan, mencabut, dan memperbarui akses ke model.
Membagikan model kepada pengguna
Gunakan perintah
add-iam-policy-binding
untuk menambahkan pengguna ke kebijakan model Prediksi AI Platform yang sudah ada sebagai berikut:gcloud ai-platform models add-iam-policy-binding <MODEL_NAME> \ --member user:email3@gmail.com --role roles/ml.modelUser
Perintah tersebut menghasilkan kebijakan yang telah diperbarui:
bindings: - members: - user:email1@gmail.com - serviceAccount:otherapp@appspot.gserviceaccount.com role: roles/ml.modelOwner - members: - user:email2@gmail.com - user:email3@gmail.com role: roles/ml.modelUser etag: BwVUJYGz8M4=
Berbagi model dengan layanan
Gunakan perintah
add-iam-policy-binding
untuk menambahkan akun layanan ke kebijakan model Prediksi AI Platform yang ada sebagai berikut:gcloud ai-platform models add-iam-policy-binding <MODEL_NAME> \ --member=serviceAccount:newserviceapp@appspot.gserviceaccount.com \ --role=roles/ml.modelOwner
Perintah tersebut menghasilkan kebijakan yang telah diperbarui:
bindings: - members: - user:email1@gmail.com - serviceAccount:otherapp@appspot.gserviceaccount.com - serviceAccount:newserviceapp@appspot.gserviceaccount.com role: roles/ml.modelOwner - members: - user:email2@gmail.com - user:email3@gmail.com role: roles/ml.modelUser etag: BwVUJYGz8M4=
Berhenti membagikan model
Untuk berhenti membagikan model kepada pengguna atau layanan, gunakan perintah
remove-iam-policy-binding
untuk menghapus pengguna atau layanan dari kebijakan model Prediksi AI Platform yang ada. Dalam contoh ini, kita menghapusemail1@gmail.com
Pemilik Model dari kebijakan model.gcloud ai-platform models remove-iam-policy-binding <MODEL_NAME> \ --member=user:email1@gmail.com \ --role=roles/ml.modelOwner
Perintah tersebut menghasilkan kebijakan yang telah diperbarui:
bindings: - members: - serviceAccount:otherapp@appspot.gserviceaccount.com - serviceAccount:newserviceapp@appspot.gserviceaccount.com role: roles/ml.modelOwner - members: - user:email2@gmail.com - user:email3@gmail.com role: roles/ml.modelUser etag: BwVUJYGz8M4=
REST API
Mengubah kebijakan melalui JSON API
Dapatkan kebijakan yang ada dengan mengirim permintaan berikut:
GET https://ml.googleapis.com/v1/projects/<project>/models/<model>:getIamPolicy
Perintah tersebut menampilkan kebijakan saat ini sebagai respons:
{ "bindings": [ { "role": "roles/ml.modelOwner", "members": [ "serviceAccount:my-other-app@appspot.gserviceaccount.com", "user:email1@gmail.com" ] } ] }
Setelah Anda mengubah kebijakan, perbarui dengan mengirimkan permintaan berikut:
POST https://ml.googleapis.com/v1/projects/<project>/models/<model>:setIamPolicy
Perintah tersebut menampilkan kebijakan yang telah diperbarui dalam respons. Dalam contoh ini, kami telah menambahkan pengguna
email2@gmail.com
sebagai Pengguna Model:{ "policy": { "bindings": [ { "role": "roles/ml.modelOwner", "members": [ "serviceAccount:my-other-app@appspot.gserviceaccount.com", "user:email1@gmail.com" ] }, { "role": "roles/ml.modelUser", "members": [ "user:email2@gmail.com" ] } ] } }
Untuk mendapatkan token akses:
gcloud auth print-access-token
Saat memanggil API, teruskan nilai token sebagai token pemilik di header Otorisasi:
curl -s -H 'Authorization: Bearer <ACCESS_TOKEN>' \ https://ml.googleapis.com/v1/projects/<project>/models/<model>:getIamPolicy