Mengelola akses kluster big data dalam mode Direktori Aktif

Berlaku untuk: SQL Server 2019 (15.x)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Artikel ini menjelaskan cara menambahkan grup Direktori Aktif baru dengan peran bdcUser selain yang disediakan selama penyebaran melalui pengaturan konfigurasi clusterUsers .

Penting

Jangan gunakan prosedur ini untuk menambahkan grup Direktori Aktif baru dengan peran bdcAdmin . Komponen Hadoop, seperti HDFS dan Spark, hanya mengizinkan satu grup Direktori Aktif sebagai grup superuser - setara dengan peran bdcAdmin di BDC. Untuk memberikan grup Direktori Aktif tambahan dengan izin bdcAdmin ke kluster big data setelah penyebaran, Anda harus menambahkan pengguna dan grup tambahan ke grup yang sudah dicalonkan selama penyebaran. Anda dapat mengikuti prosedur yang sama untuk memperbarui keanggotaan grup yang memiliki peran bdcUsers .

Dua peran menyeluruh dalam kluster big data

Grup Direktori Aktif dapat disediakan di bagian keamanan profil penyebaran sebagai bagian dari dua peran menyeluruh untuk otorisasi dalam kluster big data:

  • clusterAdmins: Parameter ini mengambil satu grup Direktori Aktif. Anggota grup ini memiliki peran bdcAdmin , yang berarti mereka mendapatkan izin administrator untuk seluruh kluster. Mereka memiliki izin sysadmin di SQL Server, izin superuser di Hadoop Distributed File System (HDFS) dan Spark, dan hak administrator di pengontrol.

  • clusterUsers: Grup Direktori Aktif ini dipetakan ke peran bdcUsers di BDC. Mereka adalah pengguna reguler, tanpa izin administrator di kluster. Mereka memiliki izin untuk masuk ke instans master SQL Server tetapi, secara default, mereka tidak memiliki izin ke objek atau data. Mereka adalah pengguna reguler untuk HDFS dan Spark, tanpa izin superuser . Saat menyambungkan ke titik akhir pengontrol, pengguna ini hanya dapat mengkueri titik akhir (menggunakan daftar titik akhir azdata bdc).

Untuk memberikan izin bdcUser grup Direktori Aktif tambahan tanpa mengubah keanggotaan grup di dalam Direktori Aktif, selesaikan prosedur di bagian berikutnya.

Memberikan izin bdcUser ke grup Direktori Aktif tambahan

Membuat login untuk pengguna atau grup Direktori Aktif di instans master SQL Server

  1. Koneksi ke titik akhir SQL master dengan menggunakan klien SQL favorit Anda. Gunakan login administrator apa pun (misalnya, AZDATA_USERNAME, yang disediakan selama penyebaran). Atau, ini bisa menjadi akun Direktori Aktif apa pun yang termasuk dalam grup Direktori Aktif yang disediakan seperti clusterAdmins dalam konfigurasi keamanan.

  2. Untuk membuat login untuk pengguna atau grup Direktori Aktif, jalankan perintah Transact-SQL berikut:

    CREATE LOGIN [<domain>\<principal>] FROM WINDOWS;
    

    Berikan izin yang diinginkan dalam instans SQL Server:

    ALTER SERVER ROLE <server role> ADD MEMBER [<domain>\<principal>];
    GO
    

Untuk daftar lengkap peran server, lihat topik keamanan SQL Server yang sesuai di sini.

Menambahkan pengguna atau grup Direktori Aktif ke tabel peran di database pengontrol

  1. Dapatkan kredensial server SQL pengontrol dengan menjalankan perintah berikut:

    a. Jalankan perintah ini sebagai administrator Kubernetes:

    kubectl get secret controller-sa-secret -n <cluster name> -o yaml | grep password
    

    b. Base64 mendekode rahasia:

    echo <password from kubectl command>  | base64 --decode && echo
    
  2. Di jendela perintah terpisah, ekspos port server database pengontrol:

    kubectl port-forward controldb-0 1433:1433 --address 0.0.0.0 -n <cluster name>
    
  3. Gunakan koneksi sebelumnya untuk menyisipkan baris baru dalam peran dan tabel active_directory_principals . Ketik nilai REALM dalam huruf besar.

    USE controller;
    GO
    
    INSERT INTO [controller].[auth].[roles] VALUES (N'<user or group name>@<REALM>', 'bdcUser')
    GO
    
    INSERT INTO [controller].[auth].[active_directory_principals] VALUES (N'<user or group name>@<REALM>', N'<SID>')
    GO
    

    Untuk menemukan SID pengguna atau grup yang ditambahkan, Anda dapat menggunakan perintah Get-ADUser atau Get-ADGroup PowerShell.

  4. Verifikasi bahwa anggota grup yang Anda tambahkan memiliki izin bdcUser yang diharapkan dengan masuk ke titik akhir pengontrol atau autentikasi ke instans master SQL Server. Contohnya:

    azdata login
    azdata bdc endpoints list
    

Langkah berikutnya