Mengelola akses, izin, dan tata kelola perusahaan
Di unit sebelumnya, Anda menjelajahi cara kerja repositori dan izin tim di GitHub dan bagaimana pengguna diberikan akses di tingkat tersebut. Di unit ini, Anda akan mempelajari cara mengelola izin dan akses pada skala yang lebih luas di seluruh organisasi dan perusahaan:
- Izin organisasi
- Izin perusahaan
- Kolaborator internal vs. eksternal
- Strategi hak istimewa terkecil
- Praktik terbaik keamanan dan tata kelola
Tingkat izin organisasi
Organisasi GitHub menyediakan cara terpusat bagi tim untuk berkolaborasi dalam proyek sambil mempertahankan akses terkontrol ke repositori dan data sensitif. Izin organisasi menentukan apa yang dapat dilakukan anggota dan tim dalam organisasi, memastikan bahwa setiap pengguna memiliki tingkat akses yang sesuai.
Ada beberapa tingkat izin di tingkat organisasi:
| Tingkat izin | Deskripsi |
|---|---|
| Pemilik | Pemilik organisasi dapat melakukan semua yang dapat dilakukan anggota organisasi, dan mereka dapat menambahkan atau menghapus pengguna lain ke dan dari organisasi. Peran ini harus dibatasi tidak kurang dari dua orang di organisasi Anda. |
| Anggota | Anggota organisasi dapat membuat dan mengelola repositori dan tim organisasi. |
| Moderator | Moderator organisasi dapat memblokir dan membuka blokir kontributor nonmember, mengatur batas interaksi, dan menyembunyikan komentar di repositori publik yang dimiliki organisasi. |
| Manajer penagihan | Manajer penagihan organisasi dapat melihat dan mengedit informasi penagihan. |
| Manajer keamanan | Manajer keamanan organisasi dapat mengelola pemberitahuan dan pengaturan keamanan di seluruh organisasi Anda. Mereka juga dapat membaca izin untuk semua repositori di organisasi. |
| Kolaborator luar | Kolaborator luar, seperti konsultan atau karyawan sementara, dapat mengakses satu atau beberapa repositori organisasi. Mereka bukan anggota organisasi eksplisit. |
Selain tingkat ini, Anda juga dapat mengatur izin default untuk semua anggota organisasi Anda:
Untuk manajemen dan keamanan yang ditingkatkan, Anda perlu juga mempertimbangkan untuk memberikan izin baca default kepada semua anggota organisasi Anda dan menyesuaikan akses mereka ke repositori berdasarkan kasus per kasus. Jika Anda memiliki organisasi yang relatif kecil dengan jumlah pengguna yang rendah, jumlah repositori yang rendah, atau kombinasi keduanya, tingkat pembatasan ini mungkin tidak perlu. Jika Anda mempercayai semua orang dengan mendorong perubahan ke repositori apa pun, Anda mungkin lebih suka memberi semua anggota izin tulis secara default.
Tingkat izin perusahaan
Ingatlah bahwa sebelumnya akun perusahaan adalah kumpulan organisasi. Berdasarkan ekstensi, setiap akun pengguna individu yang merupakan anggota organisasi juga merupakan anggota perusahaan. Anda dapat mengontrol berbagai pengaturan yang terkait dengan autentikasi dari tingkat yang lebih tinggi ini.
Ada tiga tingkat izin di level perusahaan:
| Tingkat izin | Deskripsi |
|---|---|
| Pemilik | Pemilik perusahaan memiliki kontrol penuh atas perusahaan dan dapat mengambil setiap tindakan, termasuk: Pengelolaan administrator. - Menambahkan dan menghapus organisasi ke dan dari perusahaan. - Mengelola pengaturan perusahaan. - Memberlakukan kebijakan di seluruh organisasi. - Mengelola pengaturan penagihan. |
| Anggota | Anggota perusahaan memiliki serangkaian kemampuan yang sama dengan anggota organisasi. |
| Manajer penagihan | Manajer penagihan perusahaan hanya dapat melihat dan mengedit informasi penagihan perusahaan Anda dan menambahkan atau menghapus manajer penagihan lainnya. |
| Kolaborator tamu | Dapat diberikan akses ke repositori atau organisasi, tetapi memiliki akses terbatas secara default (hanya Pengguna Terkelola Perusahaan) |
Selain ketiga tingkat ini, Anda juga dapat menetapkan kebijakan izin repositori default di semua organisasi Anda:
Untuk manajemen dan keamanan yang ditingkatkan, Anda dapat memberikan izin baca default kepada semua anggota perusahaan Anda dan menyesuaikan akses mereka ke repositori berdasarkan kasus per kasus. Dalam perusahaan yang lebih kecil, seperti dengan satu organisasi yang relatif kecil, Anda mungkin lebih suka mempercayakan izin tulis default kepada semua anggota.
Untuk lebih menyederhanakan kontrol akses skala perusahaan:
- Tim Berlapis: Akun perusahaan dapat menggunakan struktur tim berlapis untuk mencerminkan hierarki departemen. Izin tim induk berkait ke tim turunan, menyederhanakan manajemen akses yang kompleks.
- Automasi & Audit: Anda dapat menggunakan API GitHub atau GitHub Actions untuk mengotomatiskan pembuatan tim dan penetapan izin, dan mengaudit akses melalui log audit organisasi atau perusahaan.
Izin dan Kebijakan Perusahaan melalui Ruleset
Bagian ini membahas cara mengelola izin dan kebijakan perusahaan melalui set aturan. Kami akan menjelajahi praktik terbaik untuk menyusun organisasi, mengatur izin default, menyinkronkan tim melalui Direktori Aktif (AD), mengotomatiskan pembuatan skrip multi-organisasi, dan menyelaraskan kebijakan dengan kepercayaan dan posisi kontrol perusahaan Anda.
Mempertimbangkan pro dan kontra penerapan satu organisasi dibandingkan dengan beberapa organisasi
Saat menyusun perusahaan Anda, salah satu keputusan utama adalah apakah akan menggunakan satu organisasi atau beberapa organisasi. Setiap pendekatan memiliki manfaat dan trade-off yang unik.
Organisasi Tunggal
| Kelebihan | Kekurangan |
|---|---|
| Manajemen yang Disederhanakan: Kontrol terpusat atas izin dan kebijakan. | Fleksibilitas Terbatas: Kebijakan satu ukuran cocok untuk semua mungkin tidak cocok untuk semua tim. |
| Konsistensi: Penerapan aturan yang seragam dan kolaborasi yang disederhanakan. | Risiko Keamanan: Satu pelanggaran dapat berdampak pada seluruh organisasi. |
| Berbagi Sumber Daya: Berbagi aset yang lebih mudah di seluruh tim. | Masalah Skalabilitas: Mengelola izin dapat menjadi kompleks saat organisasi tumbuh. |
| Efisiensi Biaya: Mengurangi overhead dalam alat administratif dan lisensi. |
Beberapa Organisasi
| Kelebihan | Kekurangan |
|---|---|
| Kebijakan yang Disesuaikan: Sesuaikan izin agar sesuai dengan kebutuhan spesifik setiap tim. | Peningkatan Kompleksitas: Lebih banyak organisasi berarti overhead yang lebih administratif. |
| Isolasi yang Ditingkatkan: Membatasi dampak pelanggaran keamanan pada satu organisasi. | Redundansi: Potensi duplikasi pengaturan dan upaya manajemen. |
| Administrasi Terdesentralisasi: Teams dapat mengelola kebijakan dan izin mereka sendiri. | KolaborasiInter-Org: Mungkin memerlukan alat atau proses tambahan untuk proyek lintas organisasi. |
Mengatur opsi default baca dan tulis di seluruh organisasi
Memutuskan tingkat izin default sangat penting untuk menyeimbangkan keamanan dan kolaborasi dalam perusahaan Anda.
Pembacaan Default vs Penulisan Default
| Bacaan Default | Penulisan Bawaan |
|---|---|
| Keamanan Yang Ditingkatkan: Meminimalkan risiko modifikasi yang tidak diinginkan. | Kolaborasi yang Ditingkatkan: Memberdayakan pengguna untuk berkontribusi dan memodifikasi konten secara langsung. |
| Menguasai: Lebih mudah untuk mengaudit dan memantau perubahan. | Efisiensi: Mengurangi hambatan dalam pembuatan dan pembaruan konten. |
| Terbaik untuk: Lingkungan di mana sebagian besar pengguna hanya perlu melihat sumber daya. | Risiko: Meningkatkan kemungkinan perubahan yang tidak disengaja atau kesalahan konfigurasi jika tidak dikelola dengan hati-hati. |
Rekomendasi:
Gunakan model izin baca default dan berikan akses tulis secara selektif, memastikan kepatuhan terhadap prinsip hak istimewa paling sedikit.
Sinkronisasi tim melalui Direktori Aktif (AD)
Menggunakan Active Directory (AD) untuk sinkronisasi tim membuat manajemen pengguna dan kontrol akses lebih mudah dan lebih efisien.
Mengapa menggunakan sinkronisasi AD?
- Satu sumber kebenaran: Menjaga identitas pengguna tetap konsisten di seluruh organisasi Anda.
- Manajemen akses otomatis: Menyederhanakan proses onboarding, offboarding, dan pembaruan peran.
- Penyelarasan peran yang lancar: Memastikan grup AD selaras dengan peran dan izin perusahaan.
Hal-hal yang perlu dipertimbangkan sebelum menerapkan
- Pemetaan peran: Tentukan dengan jelas bagaimana grup AD selaras dengan peran organisasi Anda.
- Frekuensi sinkronisasi: Atur jadwal yang menyeimbangkan performa dan keamanan.
- Kepatuhan & audit: Catat semua perubahan untuk memenuhi persyaratan kepatuhan.
Dengan merencanakan ke depan, Anda dapat memastikan integrasi yang lancar yang menjaga organisasi Anda tetap aman dan terorganisir dengan baik.
Ketahanan: pembuatan skrip untuk beberapa organisasi dan hak akses
Saat perusahaan Anda menskalakan, mengotomatiskan pengelolaan izin di beberapa organisasi sangat penting untuk pemeliharaan.
Praktik Utama
Bagian ini menyoroti praktik utama untuk pembuatan skrip dan otomatisasi untuk mengelola izin secara konsisten dan aman seiring pertumbuhan perusahaan Anda. Mengikuti praktik ini membantu menyederhanakan administrasi, meminimalkan kesalahan manual, dan mempertahankan tata kelola yang kuat.
- Modularitas: Kembangkan skrip dalam komponen modular untuk menangani organisasi yang berbeda dengan perubahan minimal.
- Usabilitas: Buat fungsi atau modul yang dapat digunakan kembali untuk melakukan tugas izin umum.
- Pengujian: Uji skrip secara menyeluruh di lingkungan terkontrol sebelum penyebaran.
- Penebangan: Terapkan pengelogan terperinci untuk melacak perubahan dan memfasilitasi pemecahan masalah.
- Kontrol Versi: Gunakan sistem kontrol versi (seperti Git) untuk mengelola revisi skrip dan berkolaborasi dengan anggota tim.