integration hashicorp vault auth with github token

0
594

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