Latar belakang
Peran kustom Identity and Access Management memungkinkan Anda memberikan izin terperinci ke akun pengguna dan akun layanan. Tidak seperti peran bawaan, yang dikelola oleh Google dan diperbarui sebagaimana mestinya, peran khusus dikelola oleh organisasi Anda saat izin baru tersedia.
Cloud Deployment Manager dapat mempermudah konfigurasi dan pemeliharaan peran khusus Anda. Anda dapat menggunakan Deployment Manager untuk menjelaskan peran menggunakan file konfigurasi, yang kemudian dapat dimasukkan ke sistem kontrol sumber pilihan Anda. Bersama, Deployment Manager dan kontrol sumber dapat mempermudah pembuatan "config-as-code" untuk:
- Melacak peran khusus yang berubah dari waktu ke waktu
- Mempromosikan peran khusus melalui stage peluncuran saat diuji dan divalidasi
- Mengotomasikan cara men-deploy peran di seluruh organisasi Anda
Sebelum memulai
-
Aktifkan API IAM and Cloud Deployment Manager.
Skenario untuk mempertahankan peran khusus menggunakan Deployment Manager
Pertimbangkan skenario berikut yang menunjukkan manfaat penggunaan Deployment Manager untuk mengelola peran khusus:
- Mengontrol akses ke izin baru: Anda memiliki peran khusus yang berisi izin untuk layanan Google Cloud. Layanan ini menambahkan fitur Beta baru dan mengekspos izin baru. Peran khusus Anda tidak akan mewarisi izin baru ini secara otomatis -- izin tersebut harus ditambahkan secara manual. Sampai izin baru ditambahkan ke peran khusus Anda, pengguna dalam organisasi Anda tidak akan dapat mengakses fitur Beta. Anda dapat menggunakan file konfigurasi dan kontrol sumber Deployment Manager untuk membantu mengaudit izin yang ada, memperbarui peran khusus jika diperlukan, dan mengelola histori revisi.
- Pengelolaan siklus proses peran: Anda memiliki peran khusus baru yang ditetapkan, yaitu
stage peluncuran
ALPHA
. Setelah peran khusus diuji dan divalidasi, Anda dapat menggunakan Deployment Manager untuk mengupdate konfigurasi peran khusus dan melanjutkannya ke tahapBETA
tanpa menggunakan Konsol Google Cloud. - Memahami adopsi peran khusus: Dengan memiliki lebih banyak definisi peran khusus organisasi Anda dalam kontrol sumber, mempermudah Anda dalam berbagi, mempelajari pola penggunaan, dan menerapkan kontrol akses di berbagai project.
Memahami file konfigurasi Deployment Manager
Deployment Manager menggunakan tiga jenis file berbeda untuk menjelaskan deployment. Setiap jenis dijelaskan di bawah:
- Configuration adalah file YAML yang mendeskripsikan resource dan propertinya. Untuk peran khusus Identity and Access Management (IAM), setiap file YAML menentukan semua properti untuk satu atau lebih peran khusus, seperti nama, deskripsi, dan izinnya.
- Schemas menentukan semua properti yang memungkinkan untuk resource dan nilai defaultnya. Untuk peran khusus IAM, tersedia skema untuk peran khusus level project dan level organisasi.
- Templates, yaitu file Jinja atau Python yang meningkatkan (kualitas) konfigurasi dengan memungkinkan Anda memecah konfigurasi menjadi bagian-bagian yang dapat digunakan kembali. Untuk peran khusus IAM, ada dua template yang disediakan: satu untuk peran khusus level project, dan satu untuk peran khusus level organisasi.
Untuk informasi selengkapnya tentang jenis-jenis ini, lihat Fundamental Deployment Manager.
Sebelum memulai
Jika Anda tidak terbiasa dengan Deployment Manager, selesaikan Panduan Memulai terlebih dahulu. Kemudian, ikuti langkah berikut:- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Deployment Manager and IAM.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Deployment Manager and IAM.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Setelah langkah-langkah prasyarat ini diselesaikan, Anda dapat mulai menggunakan Deployment Manager dengan IAM untuk mengurus peran khusus Anda.
Memberikan izin ke akun layanan Google API
Untuk mengurus peran khusus menggunakan Deployment Manager, you Anda harus terlebih dahulu memberikan izin yang sesuai ke akun layanan Google API. Akun ini dibuat secara default untuk setiap organisasi dan project.
Di konsol Google Cloud, buka halaman IAM.
Dari daftar akun utama, temukan akun utama dengan nama agen layanan Google API.
Untuk mengedit peran akun layanan, klik tombol Edit
, lalu tambahkan peran Roles > Role Administrator.Klik Save untuk menerapkan peran.
Setelah akun layanan Google API diberi izin untuk mengurus peran khusus, Anda dapat men-deploy sampel peran khusus menggunakan Deployment Manager.
Men-deploy peran khusus ke project Anda
Seperti yang dijelaskan di bagian di atas, Deployment Manager menggunakan kombinasi file konfigurasi untuk menjelaskan deployment. Untuk IAM, pertimbangkan dua contoh file berikut untuk peran khusus dalam project:
project_custom_role.yaml
imports: - path: project_custom_role.jinja resources: - name: custom-role type: project_custom_role.jinja properties: roleId: myCustomRole title: My Title description: My description. includedPermissions: - iam.roles.get - iam.roles.list
File YAML ini menentukan properti peran khusus bernama custom-role
,
yang memberikan izin ke iam.roles.get
dan iam.roles.list
.
Perhatikan bahwa ini mereferensikan file .jinja dua kali; referensi ini menggunakan nilai
yang diberikan oleh template Jinja seperti yang dijelaskan di bawah ini.
project_custom_role.jinja
# Copyright 2017 Google LLC. All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. resources: - name: custom-role type: gcp-types/iam-v1:projects.roles properties: parent: projects/{{ env["project"] }} roleId: {{ properties["roleId"] }} role: title: {{ properties["title"] }} description: {{ properties["description"] }} stage: {{ properties["stage"] }} includedPermissions: {{ properties["includedPermissions"] }}
File Jinja ini menyediakan template untuk peran khusus guna meminimalisir duplikasi properti yang sama di banyak peran. Nilai default disisipkan dari file .schema jika file YAML yang terkait tidak menentukan nilai untuk setiap properti.
Untuk menerapkan peran khusus ini dengan Deployment Manager:
- Download konten repositori GitHub ini ke komputer lokal Anda.
- Di jendela terminal, buka direktori
examples/v2/iam_custom_role/jinja
di repositori yang didownload. Direktori ini berisi file project_custom_role.yaml dan file Jinja terkait. Jalankan perintah berikut untuk men-deploy contoh peran khusus, dengan mengganti nilai placeholder your-deployment-name dengan nama deployment pilihan Anda:
gcloud deployment-manager deployments create \ your-deployment-name --config project_custom_role.yaml
Tunggu hingga operasi selesai. Sidik jari deployment dan indikator progres menampilkan:
The fingerprint of the deployment is PUo2fmKdoFdJqiLViHjT3Q== Waiting for create [operation-1513228867042-560460d157ad1-b4ababb8-c6a7dddc]...done.
Jika operasi berhasil, Anda akan melihat pesan status berikut:
Create operation operation-1513228867042-560460d157ad1-b4ababb8-c6a7dddc completed successfully. NAME TYPE STATE ERRORS INTENT custom-role gcp-types/iam-v1:projects.roles COMPLETED []
Melihat peran khusus yang di-deploy
Untuk melihat peran khusus Anda di Deployment Manager:
Di jendela terminal, jalankan perintah berikut:
gcloud deployment-manager deployments describe your-deployment-name
Anda akan melihat deskripsi deployment, termasuk informasi komprehensif tentang status, error, dan lainnya.
fingerprint: oaJoGesEFYvsAldP2bm5jQ== id: '3222872306422524501' insertTime: '2018-01-29T13:40:10.822-08:00' manifest: manifest-1517262010855 name: your-deployment-name operation: endTime: '2018-01-29T13:40:26.500-08:00' name: operation-1517262010573-563f1172be0c9-ce5f0242-239fe1af operationType: insert progress: 100 startTime: '2018-01-29T13:40:11.535-08:00' status: DONE user: id-7201362145@my-example-project.iam.gserviceaccount.com NAME TYPE STATE INTENT custom-role gcp-types/iam-v1:projects.roles COMPLETED
Anda juga dapat melihat informasi mendetail tentang konfigurasi peran khusus dengan mengambil manifes deployment. Dalam output dari perintah
describe
di langkah 2 di atas, catat IDmanifest
. Salin ID ini, termasuk awalanmanifest-
, dan gunakan untuk mengganti nilai placeholder di bawah:gcloud deployment-manager manifests describe your-manifest-id \ --deployment your-deployment-name
Manifes berisi informasi lengkap tentang deployment peran khusus, termasuk konten mentah file sumber project_custom_role.yaml dan file project_custom_role.jinja. Secara khusus, perhatikan blok
resources
di dekat bagian bawah manifes, yang merangkum detail tentang peran khusus:... resources: - name: custom-role properties: description: My description. includedPermissions: - iam.roles.get - iam.roles.list roleId: aCustomRole stage: ALPHA title: My Title resources: - name: custom-role type: gcp-types/iam-v1:projects.roles type: project_custom_role.jinja ...
Untuk melihat peran khusus Anda di Konsol Google Cloud:
Di konsol Google Cloud, buka halaman IAM.
Pilih project, lalu klik Open.
Di menu sebelah kiri, klik Roles.
Klik nama peran khusus yang baru dibuat dari daftar. Tampilannya akan terlihat seperti screenshot di bawah ini: