Panduan Konfigurasi Delegated Admin di Zimbra Secara Otomatis

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

  1. Simpan script sebagai file:
    nano set_delegated_admin.sh
  2. Ubah permission agar dapat dieksekusi:
    chmod +x set_delegated_admin.sh
  3. 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.
Fajar Budi Setiawan
Fajar Budi Setiawan

IT Project Specialist

Saya, Fajar Budi Setiawan, berpengalaman dalam jaringan, server, dan web server. Keahlian saya meliputi VPN, monitoring jaringan, manajemen bandwidth, dan firewall. Saya terampil dalam konfigurasi server (VPS, Proxmox, Zimbra) dan web server (Apache, Nginx, IIS), serta pengelolaan WordPress dan Docker.