Dokumen dalam Framework Arsitektur Google Cloud ini memberikan praktik terbaik untuk mengelola identitas dan akses.
Praktik identity and access management (umumnya disebut sebagai IAM) membantu Anda memastikan bahwa orang yang tepat dapat mengakses resource yang tepat. IAM menangani aspek autentikasi dan otorisasi berikut:
- Pengelolaan akun, termasuk penyediaan
- Tata kelola identitas
- Autentikasi
- Kontrol akses (otorisasi)
- Penggabungan identitas
Mengelola IAM dapat menjadi tantangan saat Anda memiliki lingkungan yang berbeda atau menggunakan beberapa penyedia identitas. Namun, Anda harus menyiapkan sistem yang dapat memenuhi persyaratan bisnis Anda sekaligus melakukan mitigasi risiko.
Rekomendasi dalam dokumen ini membantu Anda meninjau kebijakan dan prosedur IAM saat ini, serta menentukan kebijakan dan prosedur mana yang mungkin perlu diubah untuk workload Anda di Google Cloud. Misalnya, Anda harus meninjau hal berikut:
- Apakah Anda dapat menggunakan grup yang sudah ada untuk mengelola akses atau apakah Anda perlu membuat grup baru.
- Persyaratan autentikasi Anda (seperti autentikasi multi-faktor (MFA) menggunakan token).
- Dampak akun layanan terhadap kebijakan Anda saat ini.
- Jika Anda menggunakan Google Cloud untuk pemulihan dari bencana (disaster recovery), pertahankan pemisahan tugas yang sesuai.
Dalam Google Cloud, Anda menggunakan Cloud Identity untuk mengautentikasi pengguna dan resource dan produk Identity and Access Management (IAM) Google mendikte akses sumber daya. Administrator dapat membatasi akses di tingkat organisasi, folder, project, dan resource. Kebijakan IAM Google menentukan siapa yang dapat melakukan apa pada resource mana. Kebijakan IAM yang dikonfigurasi dengan benar membantu mengamankan lingkungan Anda dengan mencegah akses tidak sah ke resource.
Untuk informasi selengkapnya, lihat Ringkasan identity and access management.
Gunakan satu penyedia identitas
Banyak pelanggan kami memiliki akun pengguna yang dikelola dan disediakan oleh penyedia identitas di luar Google Cloud. Google Cloud mendukung penggabungan dengan sebagian besar penyedia identitas dan dengan direktori lokal seperti Active Directory.
Sebagian besar penyedia identitas memungkinkan Anda mengaktifkan Single Sign-On (SSO) untuk pengguna dan grup. Untuk aplikasi yang Anda deploy di Google Cloud dan yang menggunakan penyedia identitas eksternal Anda, Anda dapat memperluas penyedia identitas Anda ke Google Cloud. Untuk informasi selengkapnya, lihat Arsitektur referensi dan Pola untuk autentikasi pengguna perusahaan di lingkungan hybrid.
Jika belum memiliki penyedia identitas, Anda dapat menggunakan Cloud Identity Premium atau Google Workspace untuk mengelola identitas untuk karyawan Anda.
Melindungi akun admin super
Akun admin super (yang dikelola oleh Google Workspace atau Cloud Identity) memungkinkan Anda membuat organisasi Google Cloud. Oleh karena itu, akun admin ini memiliki hak istimewa yang tinggi. Praktik terbaik untuk akun ini mencakup hal berikut:
- Membuat akun baru untuk tujuan ini; tidak menggunakan akun pengguna yang sudah ada.
- Membuat dan melindungi akun pencadangan.
- Mengaktifkan MFA.
Untuk informasi selengkapnya, lihat Praktik terbaik akun administrator super.
Merencanakan penggunaan akun layanan
Akun layanan adalah Akun Google yang dapat digunakan aplikasi untuk memanggil Google API suatu layanan.
Tidak seperti akun pengguna, akun layanan dibuat dan dikelola di dalam Google Cloud. Akun layanan juga melakukan autentikasi secara berbeda dari akun pengguna:
- Agar aplikasi yang berjalan di Google Cloud dapat mengautentikasi menggunakan akun layanan, Anda dapat memasang akun layanan pada resource komputasi tempat aplikasi berjalan.
- Agar aplikasi yang berjalan di GKE dapat melakukan autentikasi menggunakan akun layanan, Anda dapat menggunakan Workload Identity.
- Agar aplikasi yang berjalan di luar Google Cloud dapat mengautentikasi menggunakan akun layanan, Anda dapat menggunakan Workload identity federation.
Saat menggunakan akun layanan, Anda harus mempertimbangkan pemisahan tugas yang sesuai selama proses desain. Perhatikan panggilan API yang harus Anda lakukan, serta tentukan akun layanan dan peran terkait yang diperlukan oleh panggilan API. Misalnya, jika Anda menyiapkan data warehouse BigQuery, Anda mungkin memerlukan identitas untuk setidaknya proses dan layanan berikut:
- Cloud Storage atau Pub/Sub, bergantung pada apakah Anda menyediakan file batch atau membuat layanan streaming.
- Dataflow dan Sensitive Data Protection untuk melakukan de-identifikasi data sensitif.
Untuk informasi selengkapnya, lihat Praktik terbaik untuk menggunakan akun layanan.
Memperbarui proses identitas Anda untuk cloud
Tata kelola identitas memungkinkan Anda melacak akses, risiko, dan pelanggaran kebijakan sehingga Anda dapat mendukung persyaratan peraturan Anda. Tata kelola ini mengharuskan Anda menerapkan proses dan kebijakan agar dapat memberikan dan mengaudit peran serta izin kontrol akses kepada pengguna. Proses dan kebijakan Anda harus mencerminkan persyaratan lingkungan Anda—misalnya, pengujian, pengembangan, dan produksi.
Sebelum men-deploy workload di Google Cloud, tinjau proses identitas Anda saat ini dan perbarui jika sesuai. Pastikan Anda merencanakan dengan tepat untuk jenis akun yang diperlukan organisasi dan memahami dengan baik peran serta persyaratan aksesnya.
Untuk membantu Anda mengaudit aktivitas IAM Google, Google Cloud membuat log audit, yang mencakup hal berikut:
- Aktivitas administrator. Logging ini tidak dapat dinonaktifkan.
- Aktivitas akses data. Anda harus enable logging ini.
Jika diperlukan untuk tujuan kepatuhan, atau jika ingin menyiapkan analisis log (misalnya, dengan sistem SIEM), Anda dapat mengekspor log. Karena log dapat meningkatkan persyaratan penyimpanan Anda, log tersebut dapat memengaruhi biaya Anda. Pastikan Anda hanya mencatat tindakan yang diperlukan ke dalam log, dan tetapkan jadwal retensi yang sesuai.
Siapkan SSO dan MFA
Penyedia identitas Anda mengelola autentikasi akun pengguna. Identitas gabungan dapat melakukan autentikasi ke Google Cloud menggunakan SSO. Untuk akun dengan hak istimewa, seperti admin super, Anda harus mengonfigurasi MFA. Kunci Keamanan Titan adalah token fisik yang dapat digunakan untuk autentikasi 2 langkah (2FA) guna membantu mencegah serangan phishing.
Cloud Identity mendukung MFA menggunakan berbagai metode. Untuk informasi selengkapnya, lihat Menerapkan MFA seragam untuk resource yang dimiliki perusahaan.
Google Cloud mendukung autentikasi untuk workload identity menggunakan protokol OAuth 2.0 atau Token Web JSON (JWT) yang ditandatangani. Untuk informasi selengkapnya tentang autentikasi workload, lihat Ringkasan autentikasi.
Terapkan hak istimewa terendah dan pemisahan tugas
Anda harus memastikan bahwa orang yang tepat hanya mendapatkan akses ke resource dan layanan yang mereka butuhkan untuk melakukan pekerjaannya. Artinya, Anda harus mengikuti prinsip hak istimewa terendah. Selain itu, Anda harus memastikan ada pemisahan tugas yang sesuai.
Penyediaan akses pengguna yang berlebihan dapat meningkatkan risiko ancaman orang dalam, resource yang salah dikonfigurasi, dan ketidakpatuhan terhadap audit. Penyediaan izin yang kurang dapat mencegah pengguna mengakses resource yang mereka perlukan untuk menyelesaikan tugas.
Salah satu cara untuk menghindari penyediaan yang berlebihan adalah dengan menerapkan akses dengan hak istimewa tepat waktu — yaitu, untuk menyediakan akses dengan hak istimewa hanya jika diperlukan, dan hanya memberikannya secara sementara.
Perhatikan bahwa saat organisasi Google Cloud dibuat, semua pengguna di domain Anda akan diberi peran Billing Account Creator dan Project Creator secara default. Identifikasi pengguna yang akan melakukan tugas ini, dan cabut peran ini dari pengguna lain. Untuk informasi selengkapnya, lihat Membuat dan mengelola organisasi.
Untuk informasi selengkapnya tentang cara kerja peran dan izin di Google Cloud, lihat Ringkasan dan Memahami peran dalam dokumentasi IAM. Untuk informasi selengkapnya tentang cara menerapkan hak istimewa terendah, lihat Menerapkan hak istimewa terendah dengan rekomendasi peran.
Mengaudit akses
Untuk memantau aktivitas akun dengan hak istimewa untuk penyimpangan dari kondisi yang disetujui, gunakan Cloud Audit Logs. Cloud Audit Logs mencatat tindakan yang telah dilakukan oleh anggota di organisasi Google Cloud Anda pada resource Google Cloud Anda. Anda dapat menggunakan berbagai jenis log audit di seluruh layanan Google. Untuk informasi lebih lanjut, lihat Menggunakan Cloud Audit Logs untuk Membantu Mengelola Risiko Orang Dalam (video).
Gunakan pemberi rekomendasi IAM untuk melacak penggunaan dan menyesuaikan izin jika perlu. Peran yang direkomendasikan oleh pemberi rekomendasi IAM dapat membantu Anda menentukan peran mana yang akan diberikan kepada pengguna berdasarkan perilaku sebelumnya dan kriteria lainnya. Untuk informasi selengkapnya, lihat Praktik terbaik untuk rekomendasi peran.
Untuk mengaudit dan mengontrol akses ke resource Anda oleh staf dukungan dan engineering Google, Anda dapat menggunakan Transparansi Akses. Transparansi Akses mencatat tindakan yang diambil oleh staf Google. Gunakan Persetujuan Akses, yang merupakan bagian dari Transparansi Akses, untuk memberikan persetujuan eksplisit setiap kali konten pelanggan diakses. Untuk informasi selengkapnya, lihat Mengontrol akses administrator cloud ke data Anda.
Mengotomatiskan kontrol kebijakan
Tetapkan izin akses secara terprogram jika memungkinkan. Untuk praktik terbaik, lihat Batasan kebijakan organisasi. Skrip Terraform untuk blueprint Enterprise Foundation ada di contoh repositori fondasi.
Google Cloud dilengkapi dengan Policy Intelligence, yang memungkinkan Anda meninjau dan memperbarui izin akses secara otomatis. Policy Intelligence mencakup alat Pemberi Rekomendasi, Pemecah Masalah Kebijakan, dan Penganalisis Kebijakan, yang melakukan hal berikut:
- Memberikan rekomendasi untuk penetapan peran IAM.
- Memantau dan membantu mencegah kebijakan IAM yang terlalu permisif.
- Membantu memecahkan masalah terkait kontrol akses.
Menetapkan batasan pada resource
Google IAM berfokus pada siapa, dan memungkinkan Anda memberikan otorisasi kepada siapa yang dapat bertindak atas resource tertentu berdasarkan izin. Layanan Kebijakan Organisasi berfokus pada apa, dan memungkinkan Anda menetapkan batasan pada resource untuk menentukan cara mengonfigurasinya. Misalnya, Anda dapat menggunakan kebijakan organisasi untuk melakukan hal berikut:
- Membatasi berbagi resource berdasarkan domain.
- Membatasi penggunaan akun layanan.
- Membatasi lokasi fisik resource yang baru dibuat.
Selain menggunakan kebijakan organisasi untuk tugas ini, Anda dapat membatasi akses ke resource menggunakan salah satu metode berikut:
- Gunakan tag untuk mengelola akses ke resource Anda tanpa menentukan izin akses di setiap resource. Sebagai gantinya, Anda menambahkan tag, lalu menetapkan definisi akses untuk tag itu sendiri.
- Gunakan IAM Conditions untuk kontrol kondisional berbasis atribut atas akses ke resource.
- Terapkan defense in depth menggunakan Kontrol Layanan VPC untuk lebih membatasi akses ke resource.
Untuk informasi selengkapnya tentang pengelolaan resource, lihat Pengelolaan resource.
Langkah selanjutnya
Pelajari IAM lebih lanjut dengan referensi berikut:
Mengimplementasikan keamanan komputasi dan container (dokumen berikutnya dalam seri ini)
Pemberi Rekomendasi IAM: hak istimewa terendah dengan lebih sedikit upaya