id
Panduan
Server
Bootstrap dan pemulihan akun admin
idGuidesServerBootstrap Admin Recovery

Bootstrapping and recovering an admin account

Akun admin sementara

Akun admin pengguna atau layanan yang dibuat menggunakan salah satu metode yang dijelaskan di bawah ini adalah sementara. Ini berarti akun tersebut hanya seharusnya ada selama durasi yang diperlukan untuk melakukan operasi yang diperlukan untuk mendapatkan akses admin permanen dan lebih aman. Setelah itu, akun tersebut perlu dihapus secara manual. Beberapa elemen UI/UX, seperti banner peringatan Konsol Administrasi, label, dan pesan log, akan menunjukkan kepada administrator NQRust-Identity bahwa akun ini adalah sementara.

Memulai pembuatan akun admin sementara pada startup NQRust-Identity

Perintah start dan start-dev NQRust-Identity mendukung opsi untuk memulai pembuatan akun admin sementara pengguna dan akun layanan admin. Opsi ini adalah opsi konfigurasi standar, jadi dapat ditentukan dalam salah satu sumber konfigurasi seperti variabel lingkungan atau parameter CLI. Misalnya, contoh berikut menunjukkan cara menggunakan perintah start dan start-dev dengan parameter CLI untuk memulai pembuatan akun admin sementara pengguna dan akun layanan admin, masing-masing:

bin/kc.[sh|bat] start --bootstrap-admin-username tmpadm --bootstrap-admin-password pass
bin/kc.[sh|bat] start-dev --bootstrap-admin-client-id tmpadm --bootstrap-admin-client-secret secret

Nilai username atau ID klien dapat diabaikan; lihat bagian Nilai Default di bawah untuk informasi lebih lanjut.

Tujuan opsi ini hanya untuk memulai pembuatan akun admin sementara. Akun ini akan dibuat hanya saat startup awal server NQRust-Identity saat realm master belum ada. Akun tersebut selalu dibuat di realm master. Untuk memulihkan akses admin yang hilang, gunakan perintah khusus yang dijelaskan dalam bagian di bawah.

Memulai pembuatan admin pengguna atau akun layanan menggunakan perintah khusus

Perintah bootstrap-admin dapat dieksekusi bahkan sebelum startup pertama NQRust-Identity. Perlu diingat bahwa semua node NQRust-Identity harus dihentikan sebelum menggunakan perintah ini. Eksekusi perintah ini akan memicu pembuatan realm master awal, dan sebagai hasilnya, opsi startup untuk memulai pembuatan pengguna admin dan akun layanan akan diabaikan nantinya saat server dimulai untuk pertama kali.

Selain itu, sangat disarankan untuk menggunakan perintah khusus dengan opsi yang sama dengan server NQRust-Identity (mis., opsi db).

Jika Anda telah membangun versi yang dioptimalkan NQRust-Identity dengan perintah build seperti yang dijelaskan dalam Mengonfigurasi NQRust-Identity, gunakan opsi baris perintah --optimized agar NQRust-Identity melewati pemeriksaan build untuk waktu startup yang lebih cepat. Saat melakukan ini, hapus opsi waktu build dari baris perintah dan simpan hanya opsi waktu runtime.

jika Anda tidak menggunakan --optimized, perlu diingat bahwa perintah bootstrap-admin mungkin secara implisit membuat atau memperbarui build yang dioptimalkan untuk Anda - jika Anda menjalankan perintah dari mesin yang sama dengan instance server, ini mungkin mempengaruhi startup berikutnya server Anda.

Membuat admin pengguna

Untuk membuat admin pengguna sementara, eksekusi perintah berikut:

bin/kc.[sh|bat] bootstrap-admin user

Jika tidak ada parameter lain yang ditentukan dan/atau tidak ada variabel lingkungan yang sesuai yang diatur, pengguna akan diminta untuk memasukkan informasi yang diperlukan. Nilai username dapat diabaikan untuk menggunakan nilai default. Untuk informasi lebih lanjut, lihat bagian Nilai Default dan Variabel Lingkungan di bawah.

Alternatifnya, parameter dapat ditentukan langsung dalam perintah:

bin/kc.[sh|bat] bootstrap-admin user --username tmpadm --password:env PASS_VAR

Perintah ini menciptakan admin pengguna sementara dengan username tmpadm dan sandi yang diambil dari variabel lingkungan.

Membuat akun layanan

Dalam skenario otomatisasi, akun layanan admin sementara bisa menjadi alternatif yang lebih sesuai daripada admin pengguna sementara.

Untuk membuat akun layanan admin sementara, eksekusi perintah berikut:

bin/kc.[sh|bat] bootstrap-admin service

Demikian pula, jika tidak ada variabel lingkungan atau parameter tambahan yang diatur, pengguna akan diminta untuk memasukkan informasi yang diperlukan. Nilai ID klien dapat diabaikan untuk menggunakan nilai default. Untuk informasi lebih lanjut, lihat bagian Nilai Default dan Variabel Lingkungan di bawah.

Alternatifnya, parameter dapat ditentukan langsung dalam perintah:

bin/kc.[sh|bat] bootstrap-admin service --client-id tmpclient --client-secret:env=SECRET_VAR

Perintah ini menciptakan akun layanan admin sementara dengan ID klien tmpclient dan rahasia yang diambil dari variabel lingkungan.

Mengembalikan Akses ke Realm dengan Keamanan yang Diperkuat

Otentikasi tanpa kata sandi, OTP, atau metode otentikasi lanjutan lainnya dapat diwajibkan untuk realm dengan akses admin yang hilang. Dalam hal ini, akun layanan admin perlu dibuat untuk memulihkan akses admin yang hilang ke realm. Setelah akun layanan dibuat, otentikasi terhadap instance NQRust-Identity diperlukan untuk melakukan semua operasi yang diperlukan:

bin/kcadm.[sh|bat] config credentials --server http://localhost:8080 --realm master --client <service_account_client_name> --secret <service_account_secret>

Berikutnya, dapatkan credentialId. Untuk contoh ini, kredensial OTP adalah yang relevan. Gunakan perintah berikut untuk mendapatkan array objek CredentialRepresentation dan temukan yang memiliki type diatur ke otp:

bin/kcadm.[sh|bat] get users/{userId}/credentials -r {realm-name}

Akhirnya, ID yang diambil dapat digunakan untuk menghapus metode otentikasi lanjutan (dalam hal kami, OTP):

bin/kcadm.[sh|bat] delete users/{userId}/credentials/{credentialId} -r {realm-name}

Nilai Default

Untuk kedua skenario perintah startup dan dedicated, nama pengguna dan ID klien opsional dan default ke temp-admin untuk pengguna dan akun layanan, masing-masing.

Menonaktifkan Prompt Parameter

Untuk menonaktifkan prompt untuk parameter, parameter --no-prompt dapat digunakan. Sebagai contoh:

bin/kc.[sh|bat] bootstrap-admin user --username tmpadm --no-prompt

Jika tidak ada variabel lingkungan yang sesuai yang diatur, perintah akan gagal dengan pesan kesalahan yang menunjukkan bahwa parameter kata sandi yang diperlukan hilang.

Parameter --no-prompt dapat berguna jika nama pengguna atau ID klien diabaikan. Sebagai contoh:

bin/kc.[sh|bat] bootstrap-admin user --password:env PASS_VAR --no-prompt

Ini menciptakan pengguna admin sementara dengan nama pengguna default tanpa meminta konfirmasi. Untuk informasi lebih lanjut, lihat bagian Nilai Default di atas.

Variabel Lingkungan

Untuk perintah bootstrap-admin user, nama pengguna dan kata sandi dapat opsional diatur sebagai variabel lingkungan:

bin/kc.[sh|bat] bootstrap-admin user --username:env <YourUsernameEnv> --password:env <YourPassEnv>

Untuk perintah bootstrap-admin service, ID klien opsional dan default ke temp-admin, sementara kata sandi klien diperlukan untuk diatur sebagai variabel lingkungan:

bin/kc.[sh|bat] bootstrap-admin service --client-id:env <YourClientIdEnv> --client-secret:env <YourSecretEnv>