Menggunakan Paket Keamanan Perusahaan di HDInsight

Kluster Azure HDInsight standar adalah kluster satu pengguna. Ini cocok untuk sebagian besar perusahaan dengan tim aplikasi yang lebih kecil yang membangun beban kerja data yang besar. Setiap pengguna dapat membuat kluster khusus sesuai permintaan dan menghancurkannya ketika tidak diperlukan lagi.

Banyak perusahaan telah memilih menggunakan model yang memungkinkan tim IT mengelola kluster, dan beberapa tim aplikasi berbagi kluster. Perusahaan yang lebih besar ini membutuhkan akses multialat di setiap kluster di Azure HDInsight.

HDInsight mengandalkan penyedia identitas populer --Active Directory--dengan cara yang terkelola. Dengan mengintegrasikan HDInsight dengan Microsoft Entra Domain Services, Anda dapat mengakses kluster dengan menggunakan kredensial domain Anda.

Komputer virtual (VM) di HDInsight adalah domain yang bergabung ke domain yang Anda sediakan. Jadi, semua layanan yang berjalan di HDInsight (Apache Ambari, server Apache Hive, Apache Ranger, server thrift Apache Spark, dan lainnya) bekerja dengan lancar untuk pengguna yang diautentikasi. Administrator kemudian dapat membuat kebijakan otorisasi yang kuat menggunakan Apache Ranger untuk menyediakan kontrol akses berbasis peran untuk sumber daya di kluster.

Mengintegrasikan HDInsight dengan Active Directory

Open-source Apache Hadoop mengandalkan protokol Kerberos untuk autentikasi dan keamanan. Oleh karena itu, node kluster HDInsight dengan Enterprise Security Package (ESP) digabungkan ke domain yang dikelola oleh Microsoft Entra Domain Services. Keamanan Kerberos dikonfigurasi untuk komponen Hadoop pada kluster.

Hal-hal berikut dibuat secara otomatis:

  • Prinsipal layanan untuk setiap komponen Hadoop
  • Prinsipal komputer untuk setiap komputer yang digabung ke domain
  • Unit Organisasi (OU) untuk setiap kluster untuk menyimpan layanan ini dan prinsipal komputer

Singkatnya, Anda perlu menyiapkan lingkungan dengan:

  • Domain Direktori Aktif (dikelola oleh Microsoft Entra Domain Services). Nama domain harus 39 karakter atau kurang untuk bekerja dengan Azure HDInsight.
  • Secure LDAP (LDAPS) diaktifkan di Microsoft Entra Domain Services.
  • Konektivitas jaringan yang tepat dari jaringan virtual HDInsight ke jaringan virtual Microsoft Entra Domain Services, jika Anda memilih jaringan virtual terpisah untuk mereka. VM di dalam jaringan virtual HDInsight harus memiliki garis pandang ke Microsoft Entra Domain Services melalui peering jaringan virtual. Jika HDInsight dan Microsoft Entra Domain Services disebarkan di jaringan virtual yang sama, konektivitas secara otomatis disediakan, dan tidak diperlukan tindakan lebih lanjut.

Menyiapkan pengontrol domain yang berbeda

HDInsight saat ini hanya mendukung Microsoft Entra Domain Services sebagai pengendali domain utama yang digunakan kluster untuk komunikasi Kerberos. Tetapi penyiapan Direktori Aktif kompleks lainnya dimungkinkan, selama penyiapan tersebut mengarah ke mengaktifkan Microsoft Entra Domain Services untuk akses HDInsight.

Microsoft Entra Domain Services

Microsoft Entra Domain Services menyediakan domain terkelola yang sepenuhnya kompatibel dengan Windows Server Active Directory. Microsoft menangani pengelolaan, patching, dan memantau domain dalam penyiapan dengan ketersediaan tinggi (HA). Anda dapat menyebarkan kluster tanpa khawatir mempertahankan pengontrol domain.

Pengguna, grup, dan kata sandi disinkronkan dari ID Microsoft Entra. Sinkronisasi satu arah dari instans Microsoft Entra Anda ke Microsoft Entra Domain Services memungkinkan pengguna untuk masuk ke kluster dengan menggunakan kredensial perusahaan yang sama.

Untuk informasi selengkapnya, lihat Mengonfigurasi kluster HDInsight dengan ESP menggunakan Microsoft Entra Domain Services.

Active Directory lokal atau Active Directory pada IAAS VM

Jika Anda memiliki instans Active Directory lokal atau penyiapan Direktori Aktif yang lebih kompleks untuk domain Anda, Anda dapat menyinkronkan identitas tersebut ke ID Microsoft Entra dengan menggunakan Microsoft Entra Koneksi. Anda kemudian dapat mengaktifkan Microsoft Entra Domain Services pada penyewa Direktori Aktif tersebut.

Karena Kerberos mengandalkan hash kata sandi, Anda harus mengaktifkan sinkronisasi hash kata sandi di Microsoft Entra Domain Services.

Jika menggunakan federasi dengan Active Directory Federation Services (AD FS), Anda harus mengaktifkan sinkronisasi hash kata sandi. (Untuk penyiapan yang disarankan, lihat video ini.) Sinkronisasi hash kata sandi membantu pemulihan bencana jika infrastruktur AD FS Anda gagal, dan membantu memberikan perlindungan kredensial yang bocor. Untuk informasi selengkapnya, lihat Mengaktifkan sinkronisasi hash kata sandi dengan Microsoft Entra Koneksi Sync.

Menggunakan Active Directory lokal atau Direktori Aktif pada IaaS VM saja, tanpa ID Microsoft Entra dan Microsoft Entra Domain Services, bukan konfigurasi yang didukung untuk kluster HDInsight dengan ESP.

Catatan

Modul Azure ACTIVE Directory dan MSOnline PowerShell tidak digunakan lagi per 30 Maret 2024. Untuk mempelajari lebih lanjut, baca pembaruan penghentian. Setelah tanggal ini, dukungan untuk modul ini terbatas pada bantuan migrasi ke Microsoft Graph PowerShell SDK dan perbaikan keamanan. Modul yang tidak digunakan lagi akan terus berfungsi hingga Maret, 30 2025.

Sebaiknya migrasi ke Microsoft Graph PowerShell untuk berinteraksi dengan ID Microsoft Entra (sebelumnya Microsoft Azure AD). Untuk pertanyaan umum tentang migrasi, lihat Tanya Jawab Umum Migrasi. Catatan: MSOnline versi 1.0.x mungkin mengalami gangguan setelah 30 Juni 2024.

Jika federasi sedang digunakan dan hash kata sandi disinkronkan dengan benar, tetapi Anda mendapatkan kegagalan autentikasi, periksa apakah autentikasi kata sandi cloud diaktifkan untuk prinsipal layanan PowerShell. Jika tidak, Anda harus menetapkan kebijakan Home Realm Discovery (HRD) untuk penyewa Microsoft Entra Anda. Untuk memeriksa dan menetapkan kebijakan HRD:

  1. Memasang modul Azure AD PowerShell pratinjau.

    Install-Module AzureAD
    
  2. Sambungkan menggunakan kredensial administrator global (administrator penyewa).

    Connect-AzureAD
    
  3. Periksa apakah prinsipal layanan Microsoft Azure PowerShell telah dibuat.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Jika tidak ada, buat prinsipal layanan.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Buat dan lampirkan kebijakan ke prinsipal layanan ini.

     # Determine whether policy exists
     Get-AzureADPolicy | Where {$_.DisplayName -eq "EnableDirectAuth"}
    
     # Create if not exists
     $policy = New-AzureADPolicy `
         -Definition @('{"HomeRealmDiscoveryPolicy":{"AllowCloudPasswordValidation":true}}') `
         -DisplayName "EnableDirectAuth" `
         -Type "HomeRealmDiscoveryPolicy"
    
     # Determine whether a policy for the service principal exist
     Get-AzureADServicePrincipalPolicy `
         -Id $powershellSPN.ObjectId
    
     # Add a service principal policy if not exist
     Add-AzureADServicePrincipalPolicy `
         -Id $powershellSPN.ObjectId `
         -refObjectID $policy.ID
    

Langkah berikutnya