Delegated Admin di Zimbra sangat berguna dalam pengelolaan akun email perusahaan, terutama bagi organisasi yang memiliki banyak domain. Fitur ini memungkinkan user tertentu memiliki akses administratif terbatas, seperti mengelola akun, alias, atau distribution list, tanpa harus memiliki akses penuh seperti Global Admin.
Artikel ini membahas cara membuat delegated admin di Zimbra secara otomatis menggunakan script Bash dengan perintah zmprov
. Tutorial ini cocok bagi sysadmin yang ingin menyederhanakan proses konfigurasi, menjaga keamanan, dan memastikan hak akses tetap terkontrol.
Tujuan Script
- Menetapkan user sebagai Delegated Admin
- Memberikan akses ke UI Zimbra Admin Console yang relevan
- Memberikan hak terbatas hanya pada domain tertentu
- Mencegah akses terhadap fitur sensitif
- Melakukan flush cache untuk menerapkan perubahan secara langsung
Struktur dan Penjelasan Script
1. Daftar Akun Delegated Admin
ACCOUNTS=(
[email protected]
[email protected]
[email protected]
)
2. Daftar Domain yang Dikelola
DOMAINS=(
cde-coal.com
ces-coal.com
mpp-coal.com
julangplantations.co.id
)
3. Menetapkan Atribut dan UI Component
zmprov ma "$ACCOUNT" zimbraIsDelegatedAdminAccount TRUE
zmprov ma "$ACCOUNT" +zimbraAdminConsoleUIComponents accountListView
...
4. Pencabutan Hak Akses Sensitif
zmprov grr global usr "$ACCOUNT" -adminLoginAs
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -configureAdminUI
5. Memberikan Hak Terbatas per Domain
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" domainAdminRights
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" modifyAccount
6. Flush Cache Zimbra
zmprov fc all
Script Lengkap
#!/bin/bash
# Daftar akun delegated admin
ACCOUNTS=(
[email protected]
[email protected]
[email protected]
)
# Daftar domain yang akan dikelola
DOMAINS=(
cde-coal.com
ces-coal.com
mpp-coal.com
julangplantations.co.id
)
# Tambahkan atribut delegated + UI komponen
for ACCOUNT in "${ACCOUNTS[@]}"; do
echo "🔧 Setting delegated admin: $ACCOUNT"
zmprov ma "$ACCOUNT" zimbraIsDelegatedAdminAccount TRUE
zmprov ma "$ACCOUNT" \
+zimbraAdminConsoleUIComponents accountListView \
+zimbraAdminConsoleUIComponents aliasListView \
+zimbraAdminConsoleUIComponents DLListView \
+zimbraAdminConsoleUIComponents resourceListView \
+zimbraAdminConsoleUIComponents downloadsView
# Cabut hak view mail (global)
zmprov grr global usr "$ACCOUNT" -adminLoginAs
# Apply per domain
for DOMAIN in "${DOMAINS[@]}"; do
echo " ➤ Setting rights on domain: $DOMAIN"
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" domainAdminRights
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" domainAdminConsoleRights
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" adminConsoleAliasRights
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" modifyAccount
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" countAlias
# Cabut hak-hak sensitif
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -adminLoginAs
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -configureAdminUI
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -get.account.zimbraAdminConsoleUIComponents
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -get.dl.zimbraAdminConsoleUIComponents
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -set.account.zimbraIsDelegatedAdminAccount
zmprov grr domain "$DOMAIN" usr "$ACCOUNT" -set.dl.zimbraIsAdminGroup
done
done
# Refresh cache
echo "🔄 Flushing Zimbra cache..."
zmprov fc all
echo "✅ Semua delegated admin berhasil dikonfigurasi."
Cara Menjalankan Script
- Simpan script sebagai file:
nano set_delegated_admin.sh
- Ubah permission agar dapat dieksekusi:
chmod +x set_delegated_admin.sh
- Jalankan sebagai user Zimbra:
[zimbra@server05-zimbra ~]$ sh /tmp/set_delegated_admin.sh 🔧 Setting delegated admin: [email protected] ➤ Setting rights on domain: cde-coal.com ➤ Setting rights on domain: ces-coal.com ➤ Setting rights on domain: mpp-coal.com ➤ Setting rights on domain: julangplantations.co.id 🔧 Setting delegated admin: [email protected] ➤ Setting rights on domain: cde-coal.com ➤ Setting rights on domain: ces-coal.com ➤ Setting rights on domain: mpp-coal.com ➤ Setting rights on domain: julangplantations.co.id 🔧 Setting delegated admin: [email protected] ➤ Setting rights on domain: cde-coal.com ➤ Setting rights on domain: ces-coal.com ➤ Setting rights on domain: mpp-coal.com ➤ Setting rights on domain: julangplantations.co.id 🔄 Flushing Zimbra cache... ✅ Semua delegated admin berhasil dikonfigurasi. [zimbra@server05-zimbra ~]$
Kesimpulan
Dengan menggunakan script otomatis ini, kamu bisa:
- Mempercepat proses penambahan delegated admin
- Menjamin keamanan dan pembatasan akses sesuai kebutuhan
- Meminimalkan human error
- Menerapkan kontrol admin berbasis domain
Catatan: Hanara menyarankan untuk menggunakan Zimbra Network Edition guna memperoleh perlindungan keamanan yang lebih baik dan mendapatkan dukungan resmi langsung dari Principal.