Halaman ini menjelaskan cara membuat dan mengelola peran khusus Identity dan Access Management (IAM). Mengelola peran termasuk mengubah, menonaktifkan, mencantumkan, menghapus, dan membatalkan penghapusan peran.
Sebelum memulai
Aktifkan IAM API.
Siapkan autentikasi.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
Anda dapat menggunakan sampel gcloud CLI di halaman ini dari salah satu lingkungan pengembangan berikut:
-
Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell.
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
-
Shell lokal: Untuk menggunakan gcloud CLI di lingkungan pengembangan lokal, instal dan initialize gcloud CLI.
C++
Untuk menggunakan contoh C++ di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
C#
Untuk menggunakan contoh .NET di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Go
Untuk menggunakan contoh Go di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Java
Untuk menggunakan contoh Java di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Python
Untuk menggunakan contoh Python di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Pahami hierarki resource Google Cloud.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat dan mengelola peran khusus, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk mengelola peran pada sebuah project:
Administrator Peran (
roles/iam.roleAdmin
) pada project yang perannya ingin Anda kelola -
Untuk mengelola peran bagi organisasi:
Administrator Peran Organisasi (
roles/iam.organizationRoleAdmin
) pada organisasi yang perannya ingin Anda kelola
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Melihat izin yang tersedia untuk project, folder, dan organisasi
Anda dapat membuat peran khusus untuk seluruh organisasi, atau untuk project tertentu di organisasi tersebut. Izin yang tersedia untuk peran khusus bergantung pada tempat Anda membuat peran tersebut. Misalnya, jika izin hanya dapat digunakan di level organisasi, Anda tidak dapat menyertakan izin tersebut dalam peran khusus level project.
Untuk memeriksa izin yang tersedia untuk peran khusus level organisasi dan level project, Anda dapat menggunakan gcloud CLI atau Identity dan Access Management API untuk mencantumkan izin yang tersedia di organisasi tertentu atau proyek Anda. Misalnya, Anda bisa mendapatkan semua izin yang tersedia untuk peran khusus yang dibuat dalam project Anda.
Beberapa izin mungkin tidak terlihat oleh Anda atau tidak dapat digunakan dalam peran khusus, meskipun didukung dalam peran khusus. Misalnya, izin mungkin tidak tersedia untuk digunakan dalam peran khusus jika Anda belum mengaktifkan API untuk layanan tersebut.
Untuk mempelajari lebih lanjut izin yang dapat Anda tambahkan ke peran khusus, lihat Izin yang didukung.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam list-testable-permissions
untuk mendapatkan daftar izin yang tersedia untuk peran khusus dalam project atau organisasi tertentu. Respons mencantumkan izin yang dapat Anda gunakan dalam peran khusus untuk project atau organisasi tersebut.Untuk mencantumkan izin yang tersedia dalam peran khusus untuk suatu project atau organisasi, jalankan perintah ini:
gcloud iam list-testable-permissions FULL_RESOURCE_NAME \ --filter="customRolesSupportLevel!=NOT_SUPPORTED"
Ganti
FULL_RESOURCE_NAME
dengan salah satu nilai berikut:-
Project:
//cloudresourcemanager.googleapis.com/projects/PROJECT_ID
(misalnya,//cloudresourcemanager.googleapis.com/projects/my-project
) -
Organisasi:
//cloudresourcemanager.googleapis.com/organizations/NUMERIC_ID
(misalnya,//cloudresourcemanager.googleapis.com/organizations/123456789012
)
Hasilnya menunjukkan apakah setiap izin didukung dalam peran khusus. Izin yang tidak memiliki kolom
customRolesSupportLevel
didukung sepenuhnya.Perintah
list-testable-permissions
mungkin menampilkan ratusan hasil. Contoh sebagian ini menunjukkan format setiap hasil:--- name: appengine.applications.create stage: GA --- customRolesSupportLevel: TESTING name: appengine.applications.disable stage: GA --- name: appengine.applications.get stage: GA --- name: appengine.applications.update stage: GA --- name: appengine.instances.delete stage: GA --- name: appengine.instances.get stage: GA ---
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
permissions.queryTestablePermissions
mencantumkan izin yang tersedia di organisasi atau project.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
FULL_RESOURCE_NAME
: URI yang terdiri dari nama layanan dan jalur ke resource. Misalnya, lihat Nama resource lengkap.PAGE_SIZE
: Opsional. Jumlah izin yang disertakan dalam respons. Nilai defaultnya adalah 100, dan nilai maksimumnya adalah 1,000. Jika jumlah izin lebih besar dari ukuran halaman, respons akan berisi token penomoran halaman yang dapat Anda gunakan untuk mengambil hasil halaman berikutnya.NEXT_PAGE_TOKEN
: Opsional. Token penomoran halaman yang ditampilkan dalam respons sebelumnya dari metode ini. Jika ditentukan, daftar izin yang dapat diuji akan dimulai dari tempat respons sebelumnya berakhir.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/permissions:queryTestablePermissions
Meminta isi JSON:
{ "fullResourceName": "FULL_RESOURCE_NAME" "pageSize": PAGE_SIZE, "pageToken": "NEXT_PAGE_TOKEN" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Responsnya berisi daftar izin.
{ "permissions": [ { "name": "iam.serviceAccountKeys.create", "stage": "GA" }, { "name": "iam.serviceAccountKeys.delete", "stage": "GA" }, { "name": "iam.serviceAccountKeys.get", "stage": "GA" } ], "nextPageToken": "CgoHBajEfjUDQyABEPaIv5vIiMDTVhgDIhtpYW0uc2VydmljZUFjY291bnRLZXlzLmxpc3Q" }
Mendapatkan metadata peran
Sebelum membuat peran khusus, Anda mungkin ingin mendapatkan metadata untuk kedua peran bawaan dan khusus. Metadata peran mencakup ID dan izin peran yang terdapat dalam peran tersebut. Anda dapat melihat metadata ini menggunakan Google Cloud Console atau IAM API.
Untuk melihat metadata peran, gunakan salah satu metode berikut:
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Pilih organisasi atau project Anda dari menu drop-down di bagian atas halaman.
Pilih kotak centang untuk satu atau beberapa peran untuk melihat izin peran. Panel samping kanan menampilkan izin yang terdapat dalam peran, jika ada.
Ikon di kolom Type menunjukkan apakah itu merupakan peran khusus
atau peran yang telah ditetapkanJika Anda ingin menemukan semua peran yang menyertakan izin tertentu, ketik nama izin di kotak Filter di bagian atas daftar Peran.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles describe
untuk melihat metadata untuk peran yang telah ditetapkan dan peran khusus.Untuk melihat metadata untuk peran yang telah ditentukan, jalankan perintah berikut:
gcloud iam roles describe ROLE_ID
ROLE_ID
adalah ID peran. Peran yang telah ditetapkan menyertakan awalanrole
dalam ID-nya, misalnya,roles/iam.roleViewer
.Contoh berikut menunjukkan output perintah
describe
saat dieksekusi pada peranroles/iam.roleViewer
yang telah ditetapkan:gcloud iam roles describe roles/iam.roleViewer
description: Read access to all custom roles in the project. etag: AA== includedPermissions: - iam.roles.get - iam.roles.list - resourcemanager.projects.get - resourcemanager.projects.getIamPolicy name: roles/iam.roleViewer stage: GA title: Role Viewer
Untuk melihat metadata peran khusus, jalankan salah satu perintah berikut:
-
Untuk melihat metadata untuk peran khusus yang dibuat di tingkat organisasi, jalankan perintah berikut:
gcloud iam roles describe --organization=ORGANIZATION_ID ROLE_ID
-
Untuk menampilkan metadata bagi peran khusus yang dibuat di level project, jalankan perintah berikut:
gcloud iam roles describe --project=PROJECT_ID ROLE_ID
Setiap nilai placeholder dijelaskan di bawah:
-
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
. -
ROLE_ID
adalah ID peran, tidak termasuk awalan sepertiprojects/
,organizations/
, atauroles/
. Contoh,myCompanyAdmin
.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi untuk
gcloud iam roles describe
. -
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.get
mendapatkan definisi peran.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
ROLE_NAME
: Nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin
.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v1/ROLE_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Responsnya berisi definisi peran.
{ "name": "projects/my-project/roles/customRole", "title": "My Custom Role", "description": "My custom role description.", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "etag": "BwWiPg2fmDE=" }
Membuat peran khusus
Anda dapat membuat peran khusus di level project atau organisasi.
Peran kustom level organisasi dapat mencakup
izin IAM yang didukung dalam peran
kustom. Peran khusus level project dapat
berisi semua izin yang didukung, kecuali untuk izin yang hanya dapat digunakan
di tingkat organisasi atau folder, seperti
resourcemanager.organizations.get
. Jika mencoba menambahkan izin ini ke
peran khusus level project, Anda akan melihat pesan error:
Konsol
Pesan peringatan berikut ditampilkan: "Tidak berlaku untuk peran kustom level project". Izin tersebut akan otomatis dibatalkan pilihannya dari daftar izin yang disertakan, dan Anda dapat melanjutkan pembuatan peran.
gcloud
Pesan error berikut
ditampilkan: INVALID_ARGUMENT: Permission PERMISSION is not
valid
. Peran khusus tidak akan dibuat hingga Anda menghapus
izin dari definisi peran terlebih dahulu dan mencoba
operasi ini lagi.
REST API
Pesan error berikut ditampilkan:
Permission PERMISSION is not valid
, bersama dengan
kode error HTTP 400 dan status INVALID_ARGUMENT
. Peran khusus tidak
akan dibuat hingga Anda menghapus izin dari definisi peran
terlebih dahulu dan mencoba operasi ini lagi.
Setiap peran khusus dapat berisi hingga 3,000
izin. Selain itu, ukuran total maksimum untuk judul, deskripsi, dan
nama izin untuk peran khusus adalah 64 KB. Jika Anda
perlu membuat peran khusus yang lebih besar, Anda dapat membagi izin menjadi
beberapa peran khusus. Pilih judul peran yang menunjukkan hubungan antara
peran khusus, seperti Custom Admin (1 of 2)
dan Custom Admin (2 of 2)
.
Setiap peran khusus dapat memiliki tahap peluncuran. Sebagian besar tahap peluncuran bersifat informatif,
dan membantu Anda melacak apakah setiap peran siap untuk digunakan secara luas.
Selain itu, tahap peluncuran DISABLED
memungkinkan Anda menonaktifkan peran
kustom. Untuk informasi lebih lanjut tentang tahap peluncuran, lihat
Menguji dan men-deploy.
Konsol
Beberapa peran yang telah ditetapkan berisi izin yang tidak digunakan lagi atau izin yang tidak diizinkan dalam peran khusus. Jika Anda mencoba membuat peran khusus berdasarkan salah satu peran yang telah ditetapkan ini, izin yang dibatasi dan tidak digunakan lagi akan dihapus.
Untuk membuat peran khusus baru dari awal:
Di Konsol Google Cloud, buka halaman Roles.
Menggunakan menu drop-down di bagian atas halaman, pilih organisasi atau project tempat Anda ingin membuat peran.
Klik Create Role.
Masukkan Nama, Judul, Deskripsi, dan Role launch stage untuk peran tersebut. Nama peran tidak dapat diubah setelah peran dibuat.
Klik Add Permissions.
Pilih izin yang ingin disertakan dalam peran, lalu klik Tambahkan Izin. Gunakan menu drop-down Semua Layanan dan Semua Jenis untuk memfilter dan memilih izin menurut layanan dan jenis.
Membuat peran khusus berdasarkan peran bawaan yang ada:
- Di Konsol Google Cloud, buka halaman Roles.
- Pilih organisasi atau project tempat Anda ingin membuat peran.
- Pilih peran yang ingin dijadikan dasar untuk peran khusus baru.
- Klik Buat Peran dari Pilihan.
- Masukkan Nama, Judul, Deskripsi, dan Role launch stage untuk peran tersebut. Nama peran tidak dapat diubah setelah peran dibuat.
- Hapus centang izin yang ingin dikecualikan dari peran.
- Klik Tambahkan Izin untuk menyertakan izin apa pun.
- Klik Create.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles create
untuk membuat peran kustom baru. Anda dapat menggunakan perintah ini dengan dua cara:-
Dengan memberikan file YAML yang berisi definisi peran
-
Dengan menggunakan tanda untuk menentukan definisi peran
Saat membuat peran kustom, Anda harus menentukan apakah peran tersebut berlaku untuk level organisasi atau level project menggunakan flag
--organization=ORGANIZATION_ID
atau--project=PROJECT_ID
. Setiap contoh di bawah ini membuat sebuah peran khusus di level project.Peran khusus hanya dapat berisi izin yang didukung dalam peran khusus. Jika peran khusus berisi izin lain, perintah akan gagal.
Untuk membuat peran khusus menggunakan file YAML:
Buat file YAML yang berisi definisi peran khusus Anda. File tersebut harus disusun dengan cara berikut:
title: ROLE_TITLE description: ROLE_DESCRIPTION stage: LAUNCH_STAGE includedPermissions: - PERMISSION_1 - PERMISSION_2
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_TITLE
adalah jabatan yang cocok untuk peran tersebut, seperti"My Company Admin"
. -
ROLE_DESCRIPTION
adalah deskripsi singkat dari peran, seperti"My custom role description"
. -
LAUNCH_STAGE
menunjukkan tahap peran dalam siklus proses peluncuran, sepertiALPHA
,BETA
, atauGA
. -
PERMISSION_1
danPERMISSION_2
adalah izin untuk disertakan dalam peran khusus, sepertiiam.roles.get
. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin.
Simpan file YAML, lalu jalankan salah satu perintah berikut:
-
Untuk membuat peran khusus di tingkat organisasi, jalankan perintah berikut:
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Untuk membuat peran khusus di level project, jalankan perintah berikut:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
. -
YAML_FILE_PATH
adalah jalur ke lokasi file YAML Anda yang berisi definisi peran kustom.
Contoh
Contoh file YAML berikut menunjukkan cara membuat definisi peran:
title: "My Company Admin" description: "My custom role description." stage: "ALPHA" includedPermissions: - iam.roles.get - iam.roles.list
Contoh berikut menunjukkan cara membuat peran di tingkat organisasi menggunakan file YAML:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Jika peran berhasil dibuat, output perintahnya akan terlihat seperti berikut:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Contoh berikut menunjukkan cara membuat peran di level project menggunakan file YAML:
gcloud iam roles create myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Jika peran berhasil dibuat, output perintahnya akan terlihat seperti berikut:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Untuk membuat peran kustom menggunakan tanda:
Jalankan salah satu perintah berikut:
-
Untuk membuat peran khusus di tingkat organisasi, jalankan perintah berikut:
gcloud iam roles create ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
-
Untuk membuat peran khusus di level project, jalankan perintah berikut:
gcloud iam roles create ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --permissions="PERMISSIONS_LIST" --stage=LAUNCH_STAGE
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
. -
ROLE_TITLE
adalah jabatan yang cocok untuk peran tersebut, seperti"My Company Admin"
. -
ROLE_DESCRIPTION
adalah deskripsi singkat dari peran, seperti"My custom role description."
. -
PERMISSIONS_LIST
berisi daftar izin yang dipisahkan koma yang ingin Anda sertakan dalam peran khusus. Contoh:iam.roles.get,iam.roles.list
Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin. -
LAUNCH_STAGE
menunjukkan tahap peran dalam siklus proses peluncuran, sepertiALPHA
,BETA
, atauGA
.
Contoh
Contoh berikut menunjukkan cara membuat peran di tingkat organisasi menggunakan tanda:
gcloud iam roles create myCompanyAdmin --organization=123456789012 \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Jika peran berhasil dibuat, output perintahnya akan terlihat seperti berikut:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Contoh berikut menunjukkan cara membuat peran di level project menggunakan flag:
gcloud iam roles create myCompanyAdmin --project=my-project \ --title="My Company Admin" --description="My custom role description." \ --permissions="iam.roles.get,iam.roles.list" --stage=ALPHA
Jika peran berhasil dibuat, output perintahnya akan terlihat seperti berikut:
Created role [myCompanyAdmin]. description: My custom role description. etag: BwVkBX0sQD0= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.create
membuat peran kustom dalam project atau organisasi.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
RESOURCE_TYPE
: Jenis resource yang peran khususnya ingin Anda kelola. Gunakan nilaiprojects
atauorganizations
.RESOURCE_ID
: Project ID atau ID organisasi yang peran khususnya ingin Anda kelola. ID project berupa string alfanumerik, sepertimy-project
. ID organisasi berupa angka, seperti123456789012
.ROLE_ID
: Nama peran, misalnyamyCompanyAdmin
.ROLE_TITLE
: Judul yang dapat dibaca manusia untuk peran. Contoh,My Company Admin
.ROLE_DESCRIPTION
: Deskripsi untuk peran. Contoh,"The company admin role allows company admins to access important resources"
.-
PERMISSION_1
danPERMISSION_2
: Izin yang ingin Anda sertakan dalam peran. Contohnya,storage.objects.update
. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin.Peran khusus hanya dapat berisi izin yang didukung dalam peran khusus. Jika peran khusus berisi izin lain, permintaan akan gagal.
LAUNCH_STAGE
: Tahap peluncuran peran saat ini. Kolom ini dapat berisi salah satu nilai berikut:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
, atauDISABLED
.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Meminta isi JSON:
{ "roleId": "ROLE_ID", "role": { "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH_STAGE" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons berisi peran yang Anda buat.
{ "name": "projects/myProject/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWox/JbaZw=" }
Mengedit peran khusus yang sudah ada
Pola umum untuk mengupdate metadata resource, seperti peran khusus, adalah pola read-modify-write. Dengan pola ini, Anda membaca status peran saat ini, memperbarui data secara lokal, lalu mengirim data yang telah diubah untuk ditulis.
Pola baca-modifikasi-tulis dapat menyebabkan konflik jika dua atau beberapa proses
independen mencoba urutan secara bersamaan. Misalnya, jika dua pemilik untuk sebuah
project mencoba membuat perubahan yang bertentangan pada peran secara bersamaan, beberapa perubahan
dapat gagal. IAM mengatasi masalah ini menggunakan properti etag
dalam peran khusus. Properti ini digunakan untuk memverifikasi apakah peran khusus telah berubah
sejak permintaan terakhir. Saat Anda membuat permintaan ke IAM dengan
nilai etag, IAM akan membandingkan nilai etag dalam permintaan tersebut dengan
nilai etag yang ada yang terkait dengan peran khusus. Etag hanya menulis perubahan
jika nilai etag cocok.
Saat Anda memperbarui peran, pertama-tama dapatkan peran menggunakan roles.get()
, perbarui peran,
lalu tulis peran yang diperbarui menggunakan roles.patch()
. Gunakan nilai etag saat
menetapkan peran hanya jika peran yang sesuai di roles.get()
berisi
nilai etag.
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Dengan menggunakan menu drop-down di bagian atas halaman, pilih project atau organisasi yang berisi peran yang ingin diedit.
Klik peran khusus.
Klik Edit Peran.
Untuk memperbarui metadata peran, edit Judul, Deskripsi, atau Tahap peluncuran peran dari peran tersebut.
Untuk memperbarui izin peran, lakukan hal berikut:
- Klik Tambahkan Izin untuk menambahkan izin baru ke peran.
- Hapus centang izin untuk menghapus izin dari peran.
Klik Perbarui untuk menyimpan peran yang diedit.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles update
untuk memperbarui peran kustom. Anda dapat menggunakan perintah ini dengan dua cara:-
Dengan memberikan file YAML yang berisi definisi peran yang diperbarui
-
Dengan menggunakan tanda untuk menentukan definisi peran yang diperbarui
Saat memperbarui peran kustom, Anda harus menentukan apakah peran tersebut berlaku untuk level organisasi atau level project menggunakan flag
--organization=ORGANIZATION_ID
atau--project=PROJECT_ID
. Setiap contoh di bawah ini membuat sebuah peran khusus di level project.Untuk memperbarui peran khusus menggunakan file YAML:
Dapatkan definisi peran saat ini dengan menjalankan salah satu perintah berikut:
-
Untuk mendapatkan definisi peran dari peran khusus tingkat organisasi, jalankan perintah berikut:
gcloud iam roles describe ROLE_ID --organization=ORGANIZATION_ID
-
Untuk mendapatkan definisi peran dari peran kustom level project, jalankan perintah berikut:
gcloud iam roles describe ROLE_ID --project=PROJECT_ID
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran yang akan diperbarui, sepertimyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
.
Perintah
describe
menampilkan definisi peran dan menyertakan nilaietag
yang secara unik mengidentifikasi versi peran saat ini. Nilaietag
harus diberikan dalam definisi peran yang diperbarui untuk memastikan bahwa setiap perubahan peran serentak tidak ditimpa.Perintah
describe
menampilkan output berikut:description: ROLE_DESCRIPTION etag: ETAG includedPermissions: - PERMISSION_1 - PERMISSION_2 name: ROLE_NAME stage: LAUNCH_STAGE title: ROLE_TITLE
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_DESCRIPTION
adalah deskripsi singkat dari peran, seperti"My custom role description"
. -
ETAG
adalah ID unik untuk versi peran saat ini, sepertiBwVkBkbfr70=
. -
PERMISSION_1
danPERMISSION_2
adalah izin untuk disertakan dalam peran khusus, sepertiiam.roles.get
. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin. -
ROLE_NAME
adalah nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin.
-
LAUNCH_STAGE
menunjukkan tahap peran dalam siklus proses peluncuran, sepertiALPHA
,BETA
, atauGA
. -
ROLE_TITLE
adalah jabatan yang cocok untuk peran tersebut, seperti"My Company Admin"
.
Untuk memperbarui peran, sertakan definisi peran yang dihasilkan ke file YAML atau perbarui file YAML asli dengan nilai
etag
yang dihasilkan.Perhatikan contoh file YAML berikut, yang berisi output dari perintah
describe
untuk peran level project dan menambahkan dua izin Cloud Storage:description: My custom role description. etag: BwVkBkbfr70= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Simpan file YAML, lalu jalankan salah satu perintah berikut:
-
Untuk memperbarui peran tingkat organisasi, jalankan perintah berikut:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Untuk memperbarui peran level project, jalankan perintah berikut:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran yang akan diperbarui, sepertimyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project-id
. -
YAML_FILE_PATH
adalah jalur ke lokasi file YAML Anda yang berisi definisi peran kustom yang diperbarui.
Contoh
Contoh berikut menunjukkan cara memperbarui peran tingkat organisasi menggunakan file YAML:
gcloud iam roles update ROLE_ID --organization=ORGANIZATION_ID \ --file=YAML_FILE_PATH
-
Untuk memperbarui peran level project, jalankan perintah berikut:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --file=YAML_FILE_PATH
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran yang akan diperbarui, sepertimyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
. -
YAML_FILE_PATH
adalah jalur ke lokasi file YAML Anda yang berisi definisi peran kustom yang diperbarui.
Contoh
Contoh berikut menunjukkan cara memperbarui peran tingkat organisasi menggunakan file YAML:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --file=my-role-definition.yaml
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organizations/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Contoh berikut menunjukkan cara memperbarui peran level project menggunakan file YAML:
gcloud iam roles update myCompanyAdmin --project=my-project \ --file=my-role-definition.yaml
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Untuk memperbarui peran kustom menggunakan tanda:
Setiap bagian dari definisi peran dapat diperbarui menggunakan tanda yang sesuai. Lihat topik
gcloud iam roles update
untuk daftar semua kemungkinan flag.Anda dapat menggunakan tanda berikut untuk menambahkan atau menghapus izin:
-
--add-permissions=PERMISSIONS
: Menambahkan satu atau beberapa izin yang dipisahkan koma untuk peran tersebut. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin. -
--remove-permissions=PERMISSIONS
: Menghapus satu atau beberapa izin yang dipisahkan koma dari peran. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin.
Atau, Anda cukup menentukan izin baru menggunakan flag
--permissions=PERMISSIONS
dan memberikan daftar izin yang dipisahkan koma untuk menggantikan daftar izin yang ada.Untuk memperbarui bagian lain dari definisi peran, jalankan salah satu perintah berikut:
-
Untuk memperbarui peran tingkat organisasi, jalankan perintah berikut:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
-
Untuk memperbarui peran level project, jalankan perintah berikut:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --title=ROLE_TITLE --description=ROLE_DESCRIPTION \ --stage=LAUNCH_STAGE
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
. -
ROLE_TITLE
adalah jabatan yang cocok untuk peran tersebut, seperti"My Company Admin"
. -
ROLE_DESCRIPTION
adalah deskripsi singkat dari peran, seperti"My custom role description."
. -
LAUNCH_STAGE
menunjukkan tahap peran dalam siklus proses peluncuran, sepertiALPHA
,BETA
, atauGA
.
Contoh
Contoh berikut menunjukkan cara menambahkan izin ke peran tingkat organisasi menggunakan flag:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --add-permissions="storage.buckets.get,storage.buckets.list"
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Contoh berikut menunjukkan cara menambahkan izin ke peran level project menggunakan flag:
gcloud iam roles update myCompanyAdmin --project=my-project \ --add-permissions="storage.buckets.get,storage.buckets.list"
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkBwDN0lg= includedPermissions: - iam.roles.get - iam.roles.list - storage.buckets.get - storage.buckets.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.patch
memperbarui peran khusus dalam project atau organisasi.
Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:
Wajib diisi:
RESOURCE_TYPE
: Jenis resource yang peran khususnya ingin Anda kelola. Gunakan nilaiprojects
atauorganizations
.RESOURCE_ID
: Project ID atau ID organisasi yang peran khususnya ingin Anda kelola. ID project berupa string alfanumerik, sepertimy-project
. ID organisasi berupa angka, seperti123456789012
.ROLE_NAME
: Nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin
.
Rekomendasi:
ETAG
: ID untuk versi peran. Sertakan kolom ini untuk mencegah menimpa perubahan peran lainnya.
Opsional (tentukan satu atau beberapa nilai berikut):
ROLE_TITLE
: Judul yang dapat dibaca manusia untuk peran. Contoh,My Company Admin
.ROLE_DESCRIPTION
: Deskripsi untuk peran. Contoh,"The company admin role allows company admins to access important resources"
.PERMISSION_1
danPERMISSION_2
: Izin yang ingin Anda sertakan dalam peran. Contohnya,storage.objects.update
. Anda tidak dapat menggunakan karakter pengganti (*
) pada nama izin.LAUNCH_STAGE
: Tahap peluncuran peran saat ini. Kolom ini dapat berisi salah satu nilai berikut:EAP
,ALPHA
,BETA
,GA
,DEPRECATED
, atauDISABLED
.
Metode HTTP dan URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Meminta isi JSON:
{ "roleId": "ROLE_NAME", "title": "ROLE_TITLE", "description": "ROLE_DESCRIPTION", "includedPermissions": [ "PERMISSION_1", "PERMISSION_2" ], "stage": "LAUNCH-STAGE", "etag": "ETAG" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Responsnya berisi definisi peran singkat yang mencakup nama peran, kolom yang Anda perbarui, dan etag yang mengidentifikasi versi peran saat ini.
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "title": "My Updated Company Admin", "includedPermissions": [ "storage.buckets.get", "storage.buckets.list" ], "stage": "BETA", "etag": "BwWoyDpAxBc=" }
Menonaktifkan peran khusus
Anda dapat menonaktifkan peran khusus dengan mengubah tahap peluncurannya menjadi DISABLED
. Jika
peran dinonaktifkan, binding peran apa pun yang terkait dengan peran akan dinonaktifkan,
yang berarti pemberian peran tersebut kepada pengguna tidak berpengaruh apa pun.
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Klik menu drop-down "Pilih project" di bagian atas halaman.
Pilih organisasi atau project Anda.
Pilih peran khusus, lalu klik Nonaktifkan.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles update
untuk menonaktifkan peran kustom dengan menetapkan tahap peluncurannya keDISABLED
.Seperti yang dijelaskan di tab gcloud di bagian Mengedit peran kustom yang ada, Anda dapat memperbarui peran kustom yang ada dengan dua cara berikut:
-
Dengan memberikan file YAML yang berisi definisi peran yang diperbarui
-
Dengan menggunakan tanda untuk menentukan definisi peran yang diperbarui
Cara termudah untuk menonaktifkan peran khusus yang sudah ada adalah dengan menggunakan flag
--stage
dan menetapkannya keDISABLED
. Jalankan salah satu perintah berikut:-
Untuk menonaktifkan peran tingkat organisasi, jalankan perintah berikut:
gcloud iam roles update ROLE_ID--organization=ORGANIZATION_ID \ --stage=DISABLED
-
Untuk menonaktifkan peran level project, jalankan perintah berikut:
gcloud iam roles update ROLE_ID --project=PROJECT_ID \ --stage=DISABLED
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
.
Contoh
Contoh berikut menunjukkan cara menonaktifkan peran tingkat organisasi:
gcloud iam roles update myCompanyAdmin --organization=123456789012 \ --stage=DISABLED
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
Contoh berikut menunjukkan cara menonaktifkan peran level project:
gcloud iam roles update myCompanyAdmin --project=my-project \ --stage=DISABLED
Jika peran berhasil diperbarui, output perintahnya akan terlihat seperti berikut:
description: My custom role description. etag: BwVkB5NLIQw= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: DISABLED title: My Company Admin
-
C++
Perbarui
kolom stage
peran menjadi DISABLED
.
C#
Perbarui
kolom stage
peran menjadi DISABLED
.
Go
Perbarui
kolom stage
peran menjadi DISABLED
.
Java
Perbarui
kolom stage
peran menjadi DISABLED
.
Python
Perbarui
kolom stage
peran menjadi DISABLED
.
REST
Metode
roles.patch
memungkinkan Anda mengubah tahap peluncuran peran khusus menjadi DISABLED
,
yang akan menonaktifkan peran tersebut.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
RESOURCE_TYPE
: Jenis resource yang peran khususnya ingin Anda kelola. Gunakan nilaiprojects
atauorganizations
.RESOURCE_ID
: Project ID atau ID organisasi yang peran khususnya ingin Anda kelola. ID project berupa string alfanumerik, sepertimy-project
. ID organisasi berupa angka, seperti123456789012
.ROLE_NAME
: Nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin
.ETAG
: ID untuk versi peran. Sertakan kolom ini untuk mencegah menimpa perubahan peran lainnya.
Metode HTTP dan URL:
PATCH https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles
Meminta isi JSON:
{ "roleId": "ROLE_NAME", "stage": DISABLED, "etag": "ETAG" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/test-project-1000092/roles/myCompanyAdmin", "stage": "DISABLED", "etag": "BwWoyDpAxBc=" }
Daftar peran
Anda dapat mencantumkan semua peran khusus yang dibuat dalam project atau organisasi.
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Semua peran khusus untuk organisasi atau project yang telah Anda pilih akan tercantum di halaman ini.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles list
untuk mencantumkan peran kustom dan peran bawaan untuk project atau organisasi:-
Untuk mencantumkan peran khusus tingkat organisasi, jalankan perintah berikut:
gcloud iam roles list --organization=ORGANIZATION_ID
-
Untuk mencantumkan peran kustom level project, jalankan perintah berikut:
gcloud iam roles list --project=PROJECT_ID
Setiap nilai placeholder dijelaskan di bawah:
-
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
.
Untuk mencantumkan peran yang dihapus, Anda juga dapat menentukan tanda
--show-deleted
.Jalankan perintah berikut untuk membuat daftar peran yang telah ditetapkan:
gcloud iam roles list
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.list
mencantumkan semua peran khusus dalam sebuah project atau organisasi.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
RESOURCE_TYPE
: Jenis resource yang peran khususnya ingin Anda kelola. Gunakan nilaiprojects
atauorganizations
.RESOURCE_ID
: Project ID atau ID organisasi yang peran khususnya ingin Anda kelola. ID project berupa string alfanumerik, sepertimy-project
. ID organisasi berupa angka, seperti123456789012
.ROLE_VIEW
: Opsional. Informasi yang disertakan untuk peran yang ditampilkan. Untuk menyertakan izin peran, tetapkan kolom ini keFULL
. Untuk mengecualikan izin peran, tetapkan kolom ini keBASIC
. Nilai defaultnya adalahBASIC
.PAGE_SIZE
: Opsional. Jumlah peran yang akan disertakan dalam respons. Nilai defaultnya adalah 300 dan nilai maksimumnya adalah 1,000. Jika jumlah peran lebih besar dari ukuran halaman, respons akan berisi token penomoran halaman yang dapat Anda gunakan untuk mengambil halaman hasil berikutnya.NEXT_PAGE_TOKEN
: Opsional. Token penomoran halaman yang ditampilkan dalam respons sebelumnya dari metode ini. Jika ditentukan, daftar peran akan dimulai dari tempat permintaan sebelumnya berakhir.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/roles?view=ROLE_VIEW&pageSize=PAGE_SIZE&pageToken=NEXT_PAGE_TOKEN
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "roles": [ { "name": "projects/my-project/roles/customRole1", "title": "First Custom Role", "description": "Created on: 2020-06-01", "etag": "BwWiPg2fmDE=" }, { "name": "projects/my-project/roles/customRole2", "title": "Second Custom Role", "description": "Created on: 2020-06-07", "etag": "BwWiuX53Wi0=" } ] }
Menghapus peran khusus
Anda dapat menghapus peran khusus apa pun dalam project atau organisasi.
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Pilih peran yang ingin dihapus, lalu klik delete Hapus di bagian atas halaman.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles delete
untuk menghapus peran kustom:-
Untuk menghapus peran khusus tingkat organisasi, jalankan perintah berikut:
gcloud iam roles delete ROLE_ID --organization=ORGANIZATION_ID
-
Untuk menghapus peran kustom level project, jalankan perintah berikut:
gcloud iam roles delete ROLE_ID --project=PROJECT_ID
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
.
Peran tersebut tidak akan disertakan dalam
gcloud iam roles list
, kecuali jika flag--show-deleted
disertakan. Peran yang dihapus ditunjukkan oleh blokdeleted: true
dalam responslist
, seperti:--- deleted: true description: My custom role description. etag: BwVkB5NLIQw= name: projects/my-project/roles/myCompanyAdmin title: My Company Admin ---
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.delete
menghapus peran khusus dalam project atau organisasi.
Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:
ROLE_NAME
: Nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin
.
Metode HTTP dan URL:
DELETE https://iam.googleapis.com/v1/ROLE_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Respons berisi definisi peran yang dihapus.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=", "deleted": true }
Saat peran dihapus, binding peran apa pun yang merujuk ke peran tersebut tetap ada dalam kebijakan izin Anda, tetapi tidak akan berpengaruh. Anda dapat membatalkan penghapusan peran dalam waktu 7 hari. Selama periode 7 hari ini, Google Cloud Console menunjukkan bahwa peran tersebut telah dihapus. Anda juga dapat mencantumkan peran yang telah dihapus secara terprogram, tetapi peran tersebut dihilangkan secara default.
Setelah 7 hingga 14 hari, peran tersebut dijadwalkan untuk dihapus secara permanen. Pada tahap ini, peran tersebut tidak lagi diperhitungkan dalam batas 300 peran khusus per organisasi atau 300 peran khusus per project.
Proses penghapusan permanen membutuhkan waktu 30 hari. Selama periode 30 hari ini, peran dan semua binding terkait akan dihapus secara permanen, dan Anda tidak dapat membuat peran baru dengan ID peran yang sama.
Setelah peran dihapus secara permanen, hingga 44 hari setelah permintaan penghapusan awal, Anda dapat membuat peran baru menggunakan ID peran yang sama.
Membatalkan penghapusan peran khusus
Membatalkan penghapusan peran akan mengembalikannya ke status sebelumnya.
Penghapusan peran hanya dapat dibatalkan dalam waktu 7 hari. Setelah 7 hari, peran tersebut dapat dihapus secara permanen kapan saja, dan semua binding peran yang merujuk pada peran tersebut akan dihapus.
Konsol
Di Konsol Google Cloud, buka halaman Roles.
Temukan peran yang ingin Anda batalkan penghapusannya, klik ikon lainnya di akhir baris, lalu klik Batalkan penghapusan.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Gunakan perintah
gcloud iam roles undelete
untuk membatalkan penghapusan peran khusus:-
Untuk membatalkan penghapusan peran khusus tingkat organisasi, jalankan perintah berikut:
gcloud iam roles undelete ROLE_ID --organization=ORGANIZATION_ID
-
Untuk membatalkan penghapusan peran khusus level project, jalankan perintah berikut:
gcloud iam roles undelete ROLE_ID --project=PROJECT_ID
Setiap nilai placeholder dijelaskan di bawah:
-
ROLE_ID
adalah nama peran, misalnyamyCompanyAdmin
. -
ORGANIZATION_ID
adalah ID numerik organisasi, seperti123456789012
. -
PROJECT_ID
adalah nama project, sepertimy-project
.
Contoh
Contoh berikut menunjukkan cara membatalkan penghapusan peran khusus tingkat organisasi:
gcloud iam roles undelete myCompanyAdmin --organization=123456789012
Jika peran berhasil dibatalkan penghapusannya, output perintah akan terlihat seperti berikut:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: organization/123456789012/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
Contoh berikut menunjukkan cara membatalkan penghapusan peran khusus level project:
gcloud iam roles undelete myCompanyAdmin --project=my-project
Jika peran berhasil dibatalkan penghapusannya, output perintah akan terlihat seperti berikut:
description: My custom role description. etag: BwVkCAx9W6w= includedPermissions: - iam.roles.get - iam.roles.list name: projects/my-project/roles/myCompanyAdmin stage: ALPHA title: My Company Admin
-
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
roles.undelete
membatalkan penghapusan peran khusus dalam project atau organisasi.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
ROLE_NAME
: Nama peran lengkap, termasuk setiap awalanorganizations/
,projects/
, atauroles/
. Contoh,organizations/123456789012/roles/myCompanyAdmin
.ETAG
: ID untuk versi peran. Sertakan kolom ini untuk mencegah menimpa perubahan peran lainnya.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/ROLE_NAME:undelete
Meminta isi JSON:
{ "etag": "ETAG" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons berisi definisi peran yang dibatalkan penghapusannya.
{ "name": "projects/my-project/roles/myCompanyAdmin", "title": "My Company Admin", "description": "My custom role description.", "includedPermissions": [ "iam.roles.get", "iam.roles.list" ], "etag": "BwWiPg2fmDE=" }
Langkah selanjutnya
- Cari tahu cara memberikan peran ke akun utama.
- Pelajari cara menggunakan rekomendasi peran untuk mengurangi cakupan izin untuk entity utama.
- Pelajari pemberian peran bersyarat, yang memberikan peran hanya jika kondisi tertentu terpenuhi.