halo sobat sekolahlinux, pada tutorial kali ini saya akan memberikan sedikit contoh tentang bagaimana login ke vault ui menggunakan github token
pada tutorial sebelum saya sudah menjelaskan bagaimana integration dengan github action, nah gimana kalau kita punya team yang cukup besar dan mereka butuh akses ke ui vault, tentu akan membutuhkan usaha lebih untuk register satu persatu user tersebut, nah solusinya adalah dengan menggunakan github personal access token, namun dengan persyaratan seperti dibawah ini
- pastikan kamu menggunakan github as provider git di perusahaan kamu
- sudah menggunakan github teams untuk user management
disini saya anggap di github kita memiliki organization dengan teams seperti detail dibawah
-
github organization:
-
sekolahlinux
-
-
github teams:
-
developer
-
devops
-
-
vault policy:
-
development
-
admin
-
untuk enable vault atuh with github kita bisa menjalankan perintah dibawah ini
vault auth enable github
selanjutnya kita akan config vault dengan organization github milik kita, dengan menjalankan perintah dibawah
vault write auth/github/config organization=sekolahlinux
selanjutnya kita akan menambahkan github teams kedalam policy yang sudah kita buat dengan perintah dibawah ini
vault write auth/github/map/teams/developer value=development vault write auth/github/map/teams/devops value=admin
lalu jika sudah kita bisa cek dengan perintah dibawah ini
vault read auth/github/map/teams/
maka result atau output nya akan seperti dibawah ini
Key Value --- ----- keys [developer devops]
oke sekarang mari kita coba untuk akses vault dengan github personal access token, pertama untuk dapat akses vault dengan github account kamu perlu membuat github persoal access token, untuk tutorial membuat github personal access token kamu bisa visit link dibawah
selanjut buka url dibawah ini untuk akses web ui vault
selanjutnya jika sudah membuka url vault diatas pada browser makan akan diarahkan ke login page, dan pilih method github, lalu masukan personal access token yang sebelumnya kamu buat seperti pada gambar dibawah, lalu klik button Sign In
selanjutnya kamu akan dibawa pada page dibawah, sesuai dengan policy yang kamu assign ke github teams user tersebut
oke jadi sebelumnya saya sudah membuat 2 policy di vault dengan detail seperti dibawah
-
development: user hanya bisa akses read key value yang berada di secret engines (development, staging)
-
admin: user bisa akses read, change, delete, create key value yang berada di secret engines (development, staging, production)
masing-masing policy diatas terhubung dengan github teams pada org sekolahlinux, user yang ingin login dengan github account wajib masuk kedalam github teams developer atau devops, jadi user bisa request ke devops/sre untuk di invite ke github team didalam org sekolahlinux, agar bisa dapat policy diatas