Autentikasi untuk analitik skala cloud di Azure

Autentikasi adalah proses verifikasi identitas pengguna atau aplikasi. IdP sumber tunggal lebih disukai, yang menangani manajemen identitas dan autentikasi. Penyedia ini dikenal sebagai layanan direktori. Layanan ini menyediakan metode untuk menyimpan data direktori dan membuat data ini tersedia untuk pengguna jaringan dan administrator.

Setiap solusi data lake harus menggunakan dan berintegrasi dengan layanan direktori yang sudah digunakan. Untuk sebagian besar organisasi, Active Directory adalah layanan direktori untuk semua layanan yang terkait dengan identitas. Ini adalah database utama dan terpusat untuk semua layanan dan akun pengguna.

Di cloud, ID Microsoft Entra adalah penyedia identitas terpusat dan sumber pilihan untuk manajemen identitas. Mendelegasikan autentikasi dan otorisasi ke MICROSOFT Entra ID memungkinkan skenario seperti kebijakan akses bersyarat yang mengharuskan pengguna berada di lokasi tertentu. Ini mendukung autentikasi multifaktor untuk meningkatkan tingkat keamanan akses. Konfigurasikan layanan penyimpanan data lake data dengan integrasi Microsoft Entra jika memungkinkan.

Untuk layanan data yang tidak mendukung ID Microsoft Entra, gunakan kunci akses atau token untuk autentikasi. Klien harus menyimpan kunci akses di penyimpanan manajemen kunci seperti Azure Key Vault.

Skenario autentikasi untuk analitik skala cloud adalah:

  • Autentikasi pengguna
  • Autentikasi aplikasi dan layanan ke layanan

Autentikasi pengguna

Pengguna yang terhubung ke layanan data atau sumber daya harus menunjukkan kredensial. Info masuk ini membuktikan bahwa pengguna memang sesuai dengan klaim mereka. Kemudian mereka dapat mengakses layanan atau sumber daya. Autentikasi juga memungkinkan layanan untuk mengetahui identitas pengguna. Layanan memutuskan apa yang dapat dilihat dan dilakukan pengguna setelah identitas diverifikasi.

Azure Data Lake Storage Gen2, Azure SQL Database, dan Azure Synapse mendukung integrasi Microsoft Entra. Mode autentikasi pengguna interaktif mengharuskan pengguna untuk memberikan kredensial dalam kotak dialog.

Penting

Jangan melakukan hard-code kredensial pengguna ke dalam aplikasi untuk tujuan autentikasi.

Autentikasi aplikasi dan layanan ke layanan

Permintaan ini tidak terkait dengan pengguna tertentu atau tidak ada pengguna yang tersedia untuk memasukkan kredensial.

Autentikasi layanan-ke-layanan

Bahkan jika suatu layanan mengakses layanan lain tanpa interaksi manusia, layanan tersebut harus menunjukkan identitas yang valid. Identitas ini membuktikan bahwa layanan tersebut nyata. Layanan yang diakses dapat menggunakan identitas untuk memutuskan apa yang dapat dilakukan layanan tersebut.

Untuk autentikasi layanan ke layanan, metode pilihan untuk mengautentikasi layanan Azure adalah identitas terkelola. Identitas terkelola untuk sumber daya Azure memungkinkan autentikasi ke layanan apa pun yang mendukung autentikasi Microsoft Entra tanpa kredensial eksplisit. Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan identitas terkelola untuk sumber daya Azure.

Identitas terkelola adalah perwakilan layanan, yang hanya dapat digunakan dengan sumber daya Azure. Misalnya, identitas terkelola dapat dibuat langsung untuk instans Azure Data Factory. Identitas terkelola ini adalah objek yang terdaftar ke ID Microsoft Entra. Identitas tersebut mewakili instans Data Factory ini. Identitas ini kemudian dapat digunakan untuk mengautentikasi ke layanan apa pun, seperti Data Lake Storage, tanpa kredensial apa pun dalam kode. Azure menangani kredensial yang digunakan oleh instans layanan. Identitas dapat memberikan otorisasi ke sumber daya layanan Azure, seperti folder di Azure Data Lake Storage. Saat Anda menghapus instans Data Factory ini, Azure membersihkan identitas di ID Microsoft Entra.

Manfaat menggunakan identitas terkelola

Identitas terkelola harus digunakan untuk mengautentikasi layanan Azure ke layanan atau sumber daya Azure lainnya. Mereka memberikan manfaat berikut:

  • Identitas terkelola mewakili layanan tempat identitas tersebut dibuat. Identitas ini tidak mewakili pengguna interaktif.
  • Kredensial identitas terkelola dipertahankan, dikelola, dan disimpan dalam ID Microsoft Entra. Tidak ada kata sandi yang perlu disimpan oleh pengguna.
  • Dengan identitas terkelola, layanan klien tidak menggunakan kata sandi.
  • Identitas terkelola yang ditetapkan sistem akan dihapus saat instans layanan dihapus.

Manfaat ini berarti bahwa kredensial lebih terlindungi dan kemungkinan penyusupan keamanan lebih kecil.

Autentikasi aplikasi ke layanan

Skenario akses lainnya adalah aplikasi, seperti aplikasi web seluler, mengakses layanan Azure. Siapa pun yang mengakses layanan Azure, pengakses harus memberikan identitasnya dan identitas tersebut harus diverifikasi.

Perwakilan layanan Azure adalah alternatif bagi aplikasi dan layanan yang tidak mendukung identitas terkelola untuk mengautentikasi ke sumber daya Azure. Perwakilan layanan Azure adalah identitas yang dibuat untuk digunakan dengan aplikasi, layanan yang dihosting, dan alat otomatis untuk mengakses sumber daya Azure. Akses ini dibatasi oleh peran yang ditetapkan ke perwakilan layanan. Karena alasan keamanan, sebaiknya gunakan perwakilan layanan dengan aplikasi atau alat otomatis, daripada mengizinkannya masuk dengan identitas pengguna. Untuk informasi selengkapnya, lihat Objek perwakilan aplikasi dan layanan di ID Microsoft Entra.

Catatan

Identitas terkelola dan perwakilan layanan dibuat dan dikelola hanya di ID Microsoft Entra.

Perbedaan antara identitas terkelola dan perwakilan layanan

Perwakilan layanan Identitas terkelola
Identitas keamanan yang dibuat secara manual di ID Microsoft Entra untuk digunakan oleh aplikasi, layanan, dan alat untuk mengakses sumber daya Azure tertentu. Jenis perwakilan layanan khusus. Ini adalah identitas otomatis yang dibuat saat layanan Azure dibuat.
Dapat digunakan oleh aplikasi atau layanan apa pun. Ini tidak terikat dengan layanan Azure tertentu. Mewakili instans layanan Azure itu sendiri. Tidak dapat digunakan untuk mewakili layanan Azure lainnya.
Memiliki siklus hidup yang independen. Anda harus menghapusnya secara eksplisit. Dihapus secara otomatis saat instans layanan Azure dihapus.
Autentikasi berbasis kata sandi atau berbasis sertifikat. Tidak ada kata sandi eksplisit yang disediakan untuk autentikasi.

Autentikasi dan izin database

Analitik skala cloud mungkin berisi penyimpanan poliglot. Contohnya termasuk PostgreSQL, MySQL, Azure SQL Database, SQL Managed Instance, dan Azure Synapse Analytics.

Kami menyarankan agar Anda menggunakan grup Microsoft Entra untuk mengamankan objek database alih-alih akun pengguna Microsoft Entra individual. Gunakan grup Microsoft Entra ini untuk mengautentikasi pengguna dan melindungi objek database. Mirip dengan pola data lake, Anda dapat menggunakan onboarding aplikasi data Anda untuk membuat grup ini.

Catatan

Aplikasi data dapat menyimpan produk data sensitif di Azure SQL Database, SQL Managed Instance, atau kumpulan Azure Synapse Analytics. Untuk informasi selengkapnya, lihat Data sensitif.

Keamanan Azure Data Lake dalam analitik skala cloud

Untuk mengontrol akses ke data di data lake, sebaiknya gunakan access control list (ACL) pada level file dan folder. Azure Data Lake juga mengadopsi model daftar kontrol akses yang menyerupai POSIX. POSIX (antarmuka sistem operasi portabel) adalah keluarga standar untuk sistem operasi. Satu standar mendefinisikan struktur izin yang sederhana tetapi kuat untuk mengakses file dan folder. POSIX telah diadopsi secara luas untuk berbagi file jaringan dan komputer Unix.

Mirip dengan praktik umum RBAC Azure, aturan berikut harus berlaku untuk ACL:

  • Mengelola akses menggunakan grup. Tetapkan akses ke grup Microsoft Entra dan kelola keanggotaan grup untuk manajemen akses yang sedang berlangsung. Lihat Kontrol akses dan konfigurasi data lake di Azure Data Lake Storage.

  • Hak istimewa minimal. Dalam kebanyakan kasus, pengguna seharusnya hanya memiliki izin baca ke folder dan file yang mereka butuhkan di data lake. Identitas terkelola atau perwakilan layanan, seperti yang digunakan oleh Azure Data Factory, memiliki izin baca, tulis, dan eksekusi. Pengguna data tidak seharusnya memiliki akses ke kontainer akun penyimpanan.

  • Menyelaraskan dengan skema partisi data. ACL dan desain partisi data harus selaras untuk memastikan kontrol akses data yang efektif. Untuk informasi selengkapnya, lihat [Pemartisian data lake].

Langkah berikutnya

Manajemen data dan kontrol akses berbasis peran untuk analitik skala cloud di Azure