Pedoman dan informasi umum keamanan perusahaan di Azure HDInsight

Saat menyebarkan kluster HDInsight yang aman, ada beberapa praktik terbaik yang akan membuat penyebaran dan pengelolaan kluster lebih mudah. Beberapa informasi dan panduan umum dibahas di sini.

Penggunaan kluster aman

  • Kluster akan digunakan oleh beberapa pengguna secara bersamaan.
  • Pengguna memiliki tingkat akses yang berbeda ke data yang sama.

Tidak perlu

  • Anda hanya akan menjalankan pekerjaan otomatis (seperti akun pengguna tunggal), kluster standar sudah cukup baik.
  • Anda dapat melakukan impor data menggunakan kluster standar dan menggunakan akun penyimpanan yang sama di kluster aman yang berbeda tempat pengguna dapat menjalankan pekerjaan analitik.

Penggunaan akun lokal

  • Jika Anda menggunakan akun pengguna bersama atau akun lokal, pengguna yang menggunakan akun untuk mengubah konfigurasi atau layanan akan sulit diidentifikasi.
  • Akun lokal akan sulit digunakan saat pengguna tidak lagi menjadi bagian dari organisasi.

Ranger

Kebijakan

  • Secara default, Ranger menggunakan Tolak sebagai kebijakan.

  • Saat akses data dilakukan melalui layanan tempat otorisasi diaktifkan:

    • Plugin otorisasi Ranger digunakan dan diberi konteks permintaan.
    • Ranger menerapkan kebijakan yang dikonfigurasi untuk layanan. Jika kebijakan Ranger gagal, pemeriksaan akses ditangguhkan ke sistem file. Beberapa layanan seperti MapReduce hanya memeriksa apakah file/folder milik pengguna yang sama yang mengirim permintaan. Layanan seperti Hive, periksa kecocokan kepemilikan atau izin sistem file yang sesuai (rwx).
  • Untuk Hive, selain memiliki izin untuk melakukan izin Buat/Perbarui/Hapus, pengguna harus memiliki rwxizin di direktori pada penyimpanan dan semua sub direktori.

  • Kebijakan dapat diterapkan ke grup (lebih disukai), bukan individu.

  • Pengotorisasi Ranger akan mengevaluasi semua kebijakan Ranger untuk layanan tersebut untuk setiap permintaan. Evaluasi ini dapat berdampak pada waktu yang dibutuhkan untuk menerima pekerjaan atau kueri.

Akses penyimpanan

  • Jika jenis penyimpanan adalah WASB, tidak ada token OAuth yang akan digunakan.
  • Jika Ranger telah melakukan otorisasi, akses penyimpanan akan terjadi menggunakan Identitas Terkelola.
  • Jika Ranger telah melakukan otorisasi, akses penyimpanan akan terjadi menggunakan token OAuth pengguna.

Ruang nama hierarki

Jika ruang nama hierarki tidak diaktifkan:

  • Tidak ada izin yang diwariskan.
  • Hanya izin sistem file yang berfungsi adalah peran Azure Data Penyimpanan XXXX, yang akan ditetapkan kepada pengguna secara langsung di portal Microsoft Azure.

Izin HDFS default

  • Secara default, pengguna tidak memiliki akses ke folder / di HDFS (mereka harus berada dalam peran pemilik blob penyimpanan agar akses berhasil).
  • Untuk direktori pentahapan untuk MapReduce dan lainnya, direktori khusus pengguna dibuat dan izin sticky _wx diberikan. Pengguna dapat membuat file dan folder di bawahnya, tetapi tidak dapat melihat item lain.

Autentikasi URL

Jika autentikasi URL diaktifkan:

  • Konfigurasi akan berisi awalan apa yang tercakup dalam autentikasi URL (seperti adl://).
  • Jika aksesnya untuk URL ini, Ranger akan memeriksa apakah pengguna berada dalam daftar yang diizinkan.
  • Ranger tidak akan memeriksa salah satu kebijakan yang mendetail.

Mengelola log audit Ranger

Untuk mencegah log audit Ranger mengonsumsi terlalu banyak ruang disk pada headnode hn0 Anda, Anda dapat mengubah jumlah hari untuk mempertahankan log.

  1. Masuk ke UI Ambari.
  2. Navigasi ke Services>Ranger>Configs>Advanced>ranger-solr-configuration.
  3. Ubah 'Max Retention Days' menjadi 7 hari atau kurang.
  4. Pilih Simpan dan mulai ulang komponen yang terpengaruh agar perubahan diterapkan.

Menggunakan Ranger DB kustom

Sebaiknya sebarkan Ranger DB eksternal untuk digunakan dengan kluster ESP Anda untuk ketersediaan tinggi metadata Ranger, yang memastikan bahwa kebijakan tersedia meskipun kluster tidak tersedia. Karena database eksternal dikelola pelanggan, Anda juga akan memiliki kemampuan untuk menyetel ukuran DB dan berbagi database di beberapa kluster ESP. Anda dapat menentukan Ranger DB eksternal Anda selama proses pembuatan kluster ESP menggunakan portal Azure, Azure Resource Manager, Azure CLI, dll.

Atur sinkronisasi pengguna Ranger untuk dijalankan setiap hari

Kluster HDInsight ESP dikonfigurasi agar Ranger menyinkronkan pengguna AD secara otomatis setiap jam. Sinkronisasi Ranger adalah sinkronisasi pengguna dan dapat menyebabkan beban tambahan pada instans AD. Untuk alasan ini, kami sarankan Anda mengubah interval sinkronisasi pengguna Ranger menjadi 24 jam.

  1. Masuk ke UI Ambari.
  2. Navigasi ke Services>Ranger>Configs>Advanced>ranger-ugsync-site
  3. Atur ranger.usersync.sleeptimeinmillisbetweensynccycle properti ke 86400000 (24 jam dalam milidetik).
  4. Pilih Simpan dan mulai ulang komponen yang terpengaruh agar perubahan diterapkan.

Grup sumber daya

Gunakan grup sumber daya baru untuk setiap kluster sehingga Anda dapat membedakan antara sumber daya kluster.

NSGs, firewall, dan gateway internal

  • Gunakan grup keamanan jaringan (NSG) untuk mengunci jaringan virtual.
  • Gunakan firewall untuk menangani kebijakan akses keluar.
  • Gunakan gateway internal yang tidak terbuka untuk internet publik.

Microsoft Entra ID

ID Microsoft Entra (ID Microsoft Entra) adalah layanan manajemen identitas dan akses berbasis cloud Microsoft.

Kebijakan

  • Nonaktifkan kebijakan akses bersyarat menggunakan kebijakan berbasis alamat IP. Tindakan ini mewajibkan titik akhir layanan diaktifkan pada VNET tempat kluster digunakan. Jika Anda menggunakan layanan eksternal untuk MFA (sesuatu selain ID Microsoft Entra), kebijakan berbasis alamat IP tidak akan berfungsi

  • Kebijakan AllowCloudPasswordValidation diperlukan untuk pengguna federasi. Karena HDInsight menggunakan nama pengguna / kata sandi secara langsung untuk mendapatkan token dari ID Microsoft Entra, kebijakan ini harus diaktifkan untuk semua pengguna federasi.

  • Aktifkan titik akhir layanan jika Anda mengharuskan akses bersyarat diabaikan menggunakan IP Tepercaya.

Grup

  • Selalu sebarkan kluster dengan grup.
  • Gunakan ID Microsoft Entra untuk mengelola keanggotaan grup (lebih mudah daripada mencoba mengelola layanan individual di kluster).

Akun pengguna

  • Gunakan akun pengguna unik untuk setiap skenario. Misalnya, menggunakan akun impor, menggunakan akun lain untuk mengajukan kueri atau pekerjaan pemrosesan lainnya.
  • Gunakan kebijakan Ranger berbasis grup, bukan kebijakan individual.
  • Buat rencana tentang cara mengelola pengguna yang tidak memiliki akses ke kluster lagi.

Microsoft Entra Domain Services

Microsoft Entra Domain Services menyediakan layanan domain terkelola seperti gabungan domain, kebijakan grup, protokol akses direktori ringan (LDAP), dan autentikasi Kerberos / NTLM yang sepenuhnya kompatibel dengan Windows Server Active Directory.

Microsoft Entra Domain Services diperlukan agar kluster aman bergabung dengan domain. HDInsight tidak dapat bergantung pada pengendali domain lokal atau pengendali domain kustom karena memperkenalkan terlalu banyak poin fault, berbagi info masuk, izin DNS, dan sebagainya. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Microsoft Entra Domain Services.

Pilih SKU Microsoft Entra Domain Services yang benar

Saat membuat domain terkelola, Anda dapat memilih dari berbagai SKU yang menawarkan berbagai tingkat performa dan fitur. Jumlah kluster ESP dan aplikasi lain yang akan menggunakan instans Microsoft Entra Domain Services untuk permintaan autentikasi menentukan SKU mana yang sesuai untuk organisasi Anda. Jika Anda melihat CPU tinggi pada domain terkelola atau persyaratan bisnis Anda berubah, Anda dapat meningkatkan SKU Anda.

Instans Microsoft Entra Domain Services

  • Buat instance dengan .onmicrosoft.com domain. Dengan cara ini, tidak akan ada beberapa server DNS yang melayani domain.
  • Buat sertifikat yang ditandatangani sendiri untuk LDAPS dan unggah ke Microsoft Entra Domain Services.
  • Gunakan jaringan virtual dipasangkan untuk menyebarkan kluster (sebaiknya Anda memiliki sejumlah tim yang menyebarkan kluster ESP HDInsight). Tindakan ini memastikan bahwa Anda tidak perlu membuka port (NSG) di jaringan virtual dengan pengendali domain.
  • Konfigurasikan DNS untuk jaringan virtual dengan benar (nama domain Microsoft Entra Domain Services harus diselesaikan tanpa entri file host).
  • Jika Anda membatasi lalu lintas keluar, pastikan Anda telah membaca dukungan dukungan firewall di HDInsight secara menyeluruh.

Pertimbangkan set replika Microsoft Entra Domain Services

Saat membuat domain terkelola Microsoft Entra Domain Services, Anda menentukan namespace unik, dan dua pengendali domain (DC) kemudian disebarkan ke wilayah Azure yang Anda pilih. Penyebaran DC ini dikenal sebagai replica set. Menambahkan set replika tambahan akan memberikan ketahanan dan memastikan ketersediaan layanan autentikasi, yang sangat penting untuk kluster Azure HDInsight.

Mengonfigurasi sinkronisasi pengguna/grup yang tercakup

Saat mengaktifkan Microsoft Entra Domain Services untuk kluster ESP, Anda dapat memilih untuk menyinkronkan semua pengguna dan grup dari ID Microsoft Entra atau grup tercakup dan anggotanya. Kami menyarankan agar Anda memilih sinkronisasi "Tercakup" untuk performa terbaik.

Sinkronisasi tercakup dapat dimodifikasi dengan pilihan grup yang berbeda atau dikonversi ke pengguna dan grup "Semua" jika diperlukan. Anda tidak dapat mengubah jenis sinkronisasi dari "Semua" menjadi "Tercakup" kecuali Anda menghapus dan membuat ulang instans Microsoft Entra Domain Services.

Properti yang disinkronkan dari ID Microsoft Entra ke Microsoft Entra Domain Services

  • Microsoft Entra Koneksi disinkronkan dari lokal ke ID Microsoft Entra.
  • Microsoft Entra Domain Services disinkronkan dari ID Microsoft Entra.

Microsoft Entra Domain Services menyinkronkan objek dari ID Microsoft Entra secara berkala. Bilah Microsoft Entra Domain Services pada portal Azure menampilkan status sinkronisasi. Selama setiap tahap sinkronisasi, properti unik mungkin mengalami konflik dan namanya diubah. Perhatikan pemetaan properti dari ID Microsoft Entra ke Microsoft Entra Domain Services.

Untuk informasi selengkapnya, lihat Populasi Microsoft Entra UserPrincipalName, dan Cara kerja sinkronisasi Microsoft Entra Domain Services.

Sinkronisasi hash kata sandi

  • Kata sandi disinkronkan secara berbeda dari jenis objek lainnya. Hanya hash kata sandi yang tidak dapat dikembalikan yang disinkronkan di ID Microsoft Entra dan Microsoft Entra Domain Services
  • ID Microsoft Entra lokal harus diaktifkan melalui AD Koneksi
  • ID Microsoft Entra ke sinkronisasi Microsoft Entra Domain Services bersifat otomatis (latensi kurang dari 20 menit).
  • Hash kata sandi hanya disinkronkan jika ada perubahan kata sandi. Jika Anda mengaktifkan sinkronisasi hash kata sandi, semua kata sandi yang ada tidak akan disinkronkan secara otomatis karena disimpan secara tidak dapat diubah. Jika Anda mengubah kata sandi, hash kata sandi akan disinkronkan.

Atur sinkronisasi Ambari LDAP agar berjalan setiap hari

Proses sinkronisasi pengguna LDAP baru ke Ambari secara otomatis dikonfigurasi untuk berjalan setiap jam. Menjalankan ini setiap jam dapat menyebabkan kelebihan beban pada headnode kluster dan instans AD. Untuk peningkatan performa, sebaiknya ubah skrip /opt/startup_scripts/start_ambari_ldap_sync.py yang menjalankan sinkronisasi Ambari LDAP untuk berjalan sekali sehari. Skrip ini dijalankan melalui pekerjaan crontab, dan disimpan di direktori "/etc/cron.hourly/" pada headnode kluster.

Untuk membuatnya berjalan sekali sehari, lakukan langkah-langkah berikut:

  1. ssh ke hn0
  2. Pindahkan skrip ke folder harian cron: sudo mv /etc/cron.hourly/ambarildapsync /etc/cron.daily/ambarildapsync
  3. Terapkan perubahan dalam pekerjaan crontab: sudo service cron reload
  4. ssh ke hn1 dan ulangi langkah 1 - 3

Jika diperlukan, Anda dapat menggunakan Ambari REST API untuk segera menyinkronkan pengguna dan grup baru secara manual.

Lokasi objek komputer

Setiap kluster dikaitkan dengan satu OU. Pengguna internal diprovisikan dalam OU. Semua simpul adalah domain yang digabungkan dalam OU yang sama.

Alat administratif Direktori Aktif

Untuk langkah tentang cara menginstal alat administratif Direktori Aktif di VM Windows Server, lihat Menginstal alat pengelolaan.

Pemecahan Masalah

Pembuatan kluster gagal berulang kali

Alasan paling umum:

  • Konfigurasi DNS tidak benar, penggabungan domain simpul kluster gagal.
  • NSGs terlalu ketat, yang mencegah penggabungan domain.
  • Identitas Terkelola tidak memiliki izin yang memadai.
  • Nama kluster tidak unik pada enam karakter pertama (baik dengan kluster live lainnya, atau dengan kluster yang dihapus).

Penyiapan dan konfigurasi autentikasi

Nama Prinsipal Pengguna (UPN)

  • Gunakan huruf kecil untuk semua layanan - UPN tidak peka huruf besar/kecil dalam kluster ESP, tetapi
  • Awalan UPN harus cocok dengan SAMAccountName di Microsoft Entra Domain Services. Pencocokan dengan bidang email tidak diperlukan.

Properti LDAP dalam konfigurasi Ambari

Untuk daftar lengkap properti Ambari yang mempengaruhi konfigurasi kluster HDInsight, lihat Penyiapan Autentikasi LDAP Ambari.

Membuat keytab pengguna domain

Semua keytabs layanan secara otomatis dibuat untuk Anda selama proses pembuatan kluster ESP. Untuk mengaktifkan komunikasi yang aman antara kluster dan layanan dan/atau pekerjaan lain yang memerlukan autentikasi, Anda dapat membuat keytab untuk nama pengguna domain Anda.

Gunakan ktutil pada salah satu VM kluster untuk membuat keytab Kerberos:


ktutil
ktutil: addent -password -p <username>@<DOMAIN.COM> -k 1 -e aes256-cts-hmac-sha1-96
Password for <username>@<DOMAIN.COM>: <password>
ktutil: wkt <username>.keytab
ktutil: q

Jika TenantName & DomainName Anda berbeda, Anda perlu menambahkan nilai SALT menggunakan opsi -s. Periksa halaman FAQ HDInsight untuk menentukan nilai SALT yang tepat saat membuat keytab Kerberos.

Perpanjangan sertifikat LDAP

HDInsight akan secara otomatis memperbarui sertifikat untuk identitas terkelola yang Anda gunakan untuk kluster dengan Paket Keamanan Perusahaan (ESP). Namun, ada batasan ketika identitas terkelola yang berbeda digunakan untuk Microsoft Entra Domain Services dan ADLS Gen2 yang dapat menyebabkan proses perpanjangan gagal. Ikuti 2 rekomendasi di bawah ini untuk memastikan kami berhasil memperbarui sertifikat Anda:

  • Jika Anda menggunakan identitas terkelola yang berbeda untuk kluster ADLS Gen2 dan Microsoft Entra Domain Services, keduanya harus memiliki peran Pemilik data blob Penyimpanan dan Kontributor Layanan Domain HDInsight yang ditetapkan untuk mereka.
  • Kluster HDInsight memerlukan IP publik untuk pembaruan sertifikat dan pemeliharaan lainnya sehingga kebijakan apa pun yang menolak IP publik pada kluster harus dihapus.

Langkah berikutnya