Cara menyiapkan kontrol akses untuk ruang kerja Azure Synapse Anda
Artikel ini mengajarkan Anda cara mengontrol akses ke ruang kerja Microsoft Azure Synapse. Kita akan menggunakan kombinasi peran Azure, peran Azure Synapse, izin SQL, dan izin Git untuk melakukannya.
Dalam panduan ini, Anda akan menyiapkan ruang kerja dan mengonfigurasi sistem kontrol akses dasar. Anda dapat menggunakan informasi ini untuk berbagai jenis proyek Synapse. Anda juga akan menemukan opsi tingkat lanjut untuk kontrol yang lebih baik jika Anda membutuhkannya.
Kontrol akses Synapse dapat disederhanakan dengan menyelaraskan peran dan persona di organisasi Anda dengan kelompok keamanan. Ini memungkinkan Anda mengelola akses ke kelompok keamanan hanya dengan menambahkan dan menghapus pengguna.
Sebelum Anda memulai panduan ini, baca gambaran umum kontrol akses Azure Synapse untuk membiasakan diri dengan mekanisme kontrol akses yang digunakan oleh Synapse Analytics.
Mekanisme kontrol akses
Catatan
Tujuan dari panduan ini adalah untuk membuat kelompok keamanan. Saat menetapkan peran ke kelompok keamanan, Anda hanya perlu mengelola keanggotaan dalam grup tersebut untuk mengontrol akses ke ruang kerja.
Untuk mengamankan ruang kerja Synapse, Anda perlu mengonfigurasi item berikut:
- Kelompok Keamanan, untuk mengelompokkan pengguna dengan persyaratan akses serupa.
- Peran Azure, untuk mengontrol siapa yang dapat membuat dan mengelola kumpulan SQL, kumpulan Apache Spark, dan waktu proses Integrasi, serta mengakses penyimpanan ADLS Gen2.
- Peran Synapse untuk mengontrol akses ke artefak kode yang diterbitkan, penggunaan sumber daya komputasi Apache Spark, dan runtime integrasi.
- Izin SQL, untuk mengontrol akses bidang administratif dan data ke kumpulan SQL.
- Izin Git, untuk mengontrol siapa yang dapat mengakses artefak kode di kontrol sumber jika Anda mengonfigurasi dukungan Git untuk ruang kerja.
Langkah-langkah untuk mengamankan ruang kerja Synapse
Dokumen ini menggunakan nama standar untuk menyederhanakan instruksi. Ganti dengan nama pilihan Anda.
Pengaturan | Nama standar | Deskripsi |
---|---|---|
Ruang kerja Synapse | workspace1 |
Nama yang akan dimiliki ruang kerja Azure Synapse. |
Akun ADLSGEN2 | storage1 |
Akun ADLS untuk digunakan dengan ruang kerja Anda. |
Kontainer | container1 |
Kontainer di STG1 yang akan digunakan ruang kerja secara default. |
Penyewa direktori aktif | contoso |
nama penyewa direktori aktif. |
Langkah 1: Menyiapkan grup keamanan
Catatan
Selama pratinjau, disarankan untuk membuat kelompok keamanan dan memetakannya ke peran Azure Synapse Admin Synapse SQL dan Admin Synapse Apache Spark. Dengan diperkenalkannya peran dan cakupan RBAC Synapse baru yang lebih halus, sekarang Anda disarankan untuk menggunakan opsi terbaru ini untuk mengontrol akses ke ruang kerja Anda. Mereka memberi Anda fleksibilitas konfigurasi yang lebih besar dan mereka mengakui bahwa pengembang sering menggunakan campuran SQL dan Spark untuk membuat aplikasi analitik. Jadi pengembang mungkin memerlukan akses ke sumber daya individual daripada seluruh ruang kerja. Pelajari selengkapnya tentang RBAC Synapse.
Buat kelompok keamanan berikut ini untuk ruang kerja Anda:
workspace1_SynapseAdministrators
, untuk pengguna yang membutuhkan kontrol penuh atas ruang kerja. Tambahkan diri Anda ke kelompok keamanan ini, setidaknya pada awalnya.workspace1_SynapseContributors
, untuk pengembang yang perlu mengembangkan, mendebug, dan menerbitkan kode ke layanan.workspace1_SynapseComputeOperators
, untuk pengguna yang perlu mengelola dan memantau kumpulan Apache Spark dan Runtime integrasi.workspace1_SynapseCredentialUsers
, bagi pengguna yang perlu mendebug dan menjalankan alur orkestrasi menggunakan info masuk (identitas layanan terkelola) ruang kerja MSI dan membatalkan alur yang berjalan.
Anda akan segera menetapkan peran Synapse ke grup ini di cakupan ruang kerja.
Buat juga kelompok keamanan ini:
workspace1_SQLAdmins
, grup untuk pengguna yang membutuhkan otoritas Admin Active Directory SQL, dalam kumpulan SQL di ruang kerja.
Grup workspace1_SQLAdmins
untuk mengonfigurasikan izin SQL saat Anda membuat kumpulan SQL.
Lima grup ini cukup untuk konfigurasi dasar. Nantinya, Anda dapat menambahkan kelompok keamanan untuk menangani pengguna yang membutuhkan lebih banyak akses khusus atau membatasi akses ke sumber daya individu saja.
Catatan
- Pelajari cara membuat grup keamanan di Membuat grup dasar dan menambahkan anggota menggunakan ID Microsoft Entra.
- Pelajari cara menambahkan grup keamanan dari grup keamanan lain di Menambahkan atau menghapus grup dari grup lain menggunakan ID Microsoft Entra.
- Saat membuat grup keamanan, pastikan bahwa Jenis Grup adalah Keamanan. Grup Microsoft 365 tidak didukung untuk Azure SQL.
Tip
Pengguna Synapse individual dapat menggunakan ID Microsoft Entra di portal Azure untuk melihat keanggotaan grup mereka. Ini memungkinkan mereka untuk mengetahui peran mana yang telah diberikan kepada mereka.
Langkah 2: Siapkan akun penyimpanan ADLS Gen2 Anda
Ruang kerja Synapse menggunakan kontainer penyimpanan default untuk:
- Penyimpanan file data pendukung untuk tabel Spark
- Log eksekusi untuk pekerjaan Spark
- Pengelolaan pustaka yang Anda putuskan untuk dipasang
Mengidentifikasi informasi berikut tentang penyimpanan Anda:
Akun ADLS Gen2 yang akan digunakan untuk ruang kerja Anda. Dokumen ini memanggilnya
storage1
.storage1
dianggap sebagai akun penyimpanan "utama" untuk ruang kerja Anda.Kontainer di dalam
storage1
yang akan digunakan oleh ruang kerja Synapse Anda secara default. Dokumen ini memanggilnyacontainer1
.Pilih Kontrol akses (IAM).
Pilih Tambahkan>Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.
Tetapkan peran berikut. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.
Pengaturan Nilai Peran Data blob penyimpanan kontributor Tetapkan akses ke SERVICEPRINCIPAL Anggota workspace1_SynapseAdministrators, workspace1_SynapseContributors, dan workspace1_SynapseComputeOperators
Langkah 3: Membuat dan mengonfigurasi ruang kerja Synapse Anda
Di portal Azure, buat ruang kerja Synapse:
Pilih langganan Anda
Pilih atau buat grup sumber daya yang memiliki peran Pemilik Azure.
Beri nama ruang kerja
workspace1
Pilih
storage1
untuk akun PenyimpananPilih
container1
untuk kontainer yang sedang digunakan sebagai "filesystem".Buka WS1 di Studio Synapse
Di Synapse Studio, buka Kelola>Kontrol Akses. Dalam cakupan ruang kerja, tetapkan peran Synapse ke kelompok keamanan sebagai berikut:
- Tetapkan peran Administrator Synapse ke
workspace1_SynapseAdministrators
- Tetapkan peran Kontributor Synapse ke
workspace1_SynapseContributors
- Tetapkan peran Operator Komputasi Synapse ke
workspace1_SynapseComputeOperators
- Tetapkan peran Administrator Synapse ke
Langkah 4: Berikan akses MSI ruang kerja ke kontainer penyimpanan default
Untuk menjalankan alur dan melakukan tugas sistem, Azure Synapse mengharuskan identitas layanan terkelola agar memiliki akses ke container1
di akun default ADLS Gen2, untuk ruang kerja. Untuk informasi selengkapnya, lihat identitas terkelola ruang kerja Azure Synapse.
Buka portal Azure
Temukan akun penyimpanan,
storage1
, lalucontainer1
.Pilih Kontrol Akses (IAM) .
Untuk membuka halaman Menambahkan penetapan peran, pilih Tambahkan>Tambahkan penetapan peran.
Tetapkan peran berikut. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.
Pengaturan Nilai Peran Data blob penyimpanan kontributor Tetapkan akses ke MANAGEDIDENTITY Anggota nama identitas terkelola Catatan
Nama identitas terkelola juga merupakan nama ruang kerja.
Langkah 5: Memberi administrator Synapse peran Kontributor Azure untuk ruang kerja
Untuk membuat kumpulan SQL, kumpulan Apache Spark dan runtime integrasi, pengguna setidaknya membutuhkan peran Kontributor Azure untuk ruang kerja. Peran kontributor juga memungkinkan pengguna untuk mengelola sumber daya, termasuk menjeda dan menskalakan. Jika Anda menggunakan portal Azure atau Synapse Studio untuk membuat kumpulan SQL, kumpulan Apache Spark dan runtime integrasi, Anda memerlukan peran Kontributor Azure di tingkat grup sumber daya.
Buka portal Azure
Temukan ruang kerja,
workspace1
Pilih Kontrol Akses (IAM) .
Untuk membuka halaman Menambahkan penetapan peran, pilih Tambahkan>Tambahkan penetapan peran.
Tetapkan peran berikut. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.
Pengaturan Nilai Peran Kontributor Tetapkan akses ke SERVICEPRINCIPAL Anggota workspace1_SynapseAdministrators
Langkah 6: Menetapkan peran Admin Direktori Aktif SQL
pembuat ruang kerja ditetapkan secara otomatis sebagai Admin Active Directory SQL untuk ruang kerja. Hanya satu pengguna atau grup yang dapat diberikan peran ini. Pada langkah ini, Anda menetapkan Admin Active Directory SQL untuk ruang kerja ke kelompok keamanan workspace1_SQLAdmins
. Hal ini memberi grup ini akses admin dengan hak istimewa yang tinggi ke semua kumpulan SQL dan database di ruang kerja.
- Buka portal Azure
- Navigasikan ke
workspace1
- Di bawah Pengaturan, pilih ID Microsoft Entra
- Pilih Atur admin dan pilih
workspace1_SQLAdmins
Catatan
Langkah 6 bersifat opsional. Anda dapat memilih untuk memberikan workspace1_SQLAdmins
peran yang kurang istimewa kepada grup. Untuk menetapkan db_owner
atau peran SQL lainnya, Anda harus menjalankan skrip di setiap database SQL.
Langkah 7: Memberikan akses ke kumpulan SQL
Administrator Synapse secara default diberikan peran SQL db_owner
untuk kumpulan SQL tanpa server di ruang kerja juga.
Akses ke kumpulan SQL untuk pengguna lain dikontrol dengan izin SQL. Menetapkan izin SQL mengharuskan skrip SQL dijalankan pada setiap database SQL setelah pembuatan. Berikut ini adalah contoh yang mengharuskan Anda menjalankan skrip ini:
Memberikan pengguna lain akses ke kumpulan SQL tanpa server, 'Bawaan', dan databasenya.
Memberikan pengguna akses ke database kumpulan SQL khusus. Contoh skrip SQL disertakan nanti dalam artikel ini.
Untuk memberikan akses ke database kumpulan SQL khusus, skrip dapat dijalankan oleh pembuat ruang kerja atau anggota grup
workspace1_SynapseAdministrators
mana pun.Untuk memberikan akses ke kumpulan SQL tanpa server, 'Bawaan', skrip dapat dijalankan oleh anggota grup
workspace1_SQLAdmins
atau grupworkspace1_SynapseAdministrators
mana pun.
Tip
Anda dapat memberikan akses ke semua database SQL dengan mengambil langkah-langkah berikut untuk setiap kumpulan SQL. Bagian Izin cakupan-Konfigurasi-Ruang Kerja adalah pengecualian dari aturan dan memungkinkan Anda menetapkan peran sysadmin kepada pengguna di tingkat ruang kerja.
Langkah 7a: Kumpulan SQL Tanpa Server, Bawaan
Anda dapat menggunakan contoh skrip di bagian ini untuk memberi pengguna izin untuk mengakses database individu atau semua database di kumpulan SQL tanpa server, Built-in
.
Catatan
Dalam contoh skrip, ganti alias dengan alias pengguna atau grup yang diberikan akses. Ganti domain dengan domain perusahaan yang Anda gunakan.
Mengonfigurasi izin cakupan-Database
Anda dapat memberikan pengguna akses ke database SQL tanpa server tunggal dengan langkah-langkah yang diuraikan dalam contoh ini:
Buat data masuk. Ubah ke
master
konteks database.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
Buat pengguna di database Anda. Ubah konteks ke database Anda.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];
Tambahkan pengguna sebagai anggota peran yang ditentukan dalam database Anda (dalam hal ini, peran db_owner).
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
Mengonfigurasi izin cakupan-Database
Anda dapat memberikan akses penuh ke semua kumpulan SQL tanpa server di ruang kerja. Jalankan skrip dalam contoh ini di database master
:
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];
Langkah 7b: konfigurasikan kumpulan SQL Khusus
Anda dapat memberikan akses ke database kumpulan SQL tunggal khusus. Gunakan langkah-langkah ini di editor skrip SQL Azure Synapse:
Buat pengguna di database dengan menjalankan perintah berikut. Pilih database target di Sambungkan ke menurun:
--Create user in the database CREATE USER [<alias@domain.com>] FROM EXTERNAL PROVIDER; -- For Service Principals you would need just the display name and @domain.com is not required
Beri pengguna peran untuk mengakses database:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
Penting
db_datareader dan db_datawriter peran database dapat memberikan izin baca/tulis saat Anda tidak ingin memberikan izin db_owner. Namun, izin db_owner diperlukan oleh pengguna Spark untuk membaca dan menulis langsung dari Spark ke atau dari kumpulan SQL.
Anda dapat menjalankan kueri untuk mengonfirmasi bahwa kumpulan SQL tanpa server dapat mengkueri akun penyimpanan, setelah Anda membuat akun pengguna.
Langkah 8: Menambahkan pengguna ke grup keamanan
Konfigurasi awal untuk sistem kontrol akses Anda sudah selesai.
Untuk mengelola akses, Anda dapat menambahkan dan menghapus pengguna ke kelompok keamanan yang telah disiapkan. Anda dapat menetapkan pengguna secara manual ke peran Azure Synapse, tetapi cara ini menetapkan izin dengan tidak konsisten. Sebaiknya, tambahkan atau hapus pengguna ke kelompok keamanan Anda saja.
Langkah 9: Keamanan jaringan
Sebagai langkah terakhir untuk mengamankan ruang kerja, Anda harus mengamankan akses jaringan, menggunakan firewall ruang kerja.
- Dengan dan tanpa jaringan virtual terkelola, Anda dapat terhubung ke ruang kerja Anda dari jaringan publik. Untuk informasi selengkapnya, lihat Pengaturan Konektivitas.
- Akses dari jaringan publik dapat dikontrol dengan mengaktifkan fitur akses jaringan publik atau firewall ruang kerja.
- Atau, Anda dapat terhubung ke ruang kerja Anda menggunakan titik akhir privat terkelola dan Tautan provat. Ruang kerja Azure Synapse tanpa Jaringan Virtual Terkelola Azure Synapse Analytics tidak memiliki kemampuan untuk terhubung melalui titik akhir privat terkelola.
Langkah 10: Penyelesaian
Ruang kerja Anda sekarang sepenuhnya dikonfigurasi dan diamankan.
Mendukung skenario yang lebih canggih
Panduan ini telah berfokus pada pengaturan sistem kontrol akses dasar. Anda dapat mendukung skenario yang lebih canggih dengan membuat kelompok keamanan tambahan dan menetapkan grup ini dengan peran granular pada cakupan yang lebih spesifik. Pertimbangkan kasus berikut:
Aktifkan dukungan Git untuk ruang kerja untuk skenario pengembangan yang lebih lanjut termasuk CI/CD. Sementara dalam mode Git, izin Git dan Synapse RBAC akan menentukan apakah pengguna dapat melakukan perubahan pada cabang kerja mereka. Penerbitan ke layanan hanya berlangsung dari cabang kolaborasi. Pertimbangkan membuat kelompok keamanan untuk pengembang yang perlu mengembangkan dan melakukan debug pembaruan di cabang yang berfungsi tetapi tidak perlu menerbitkan perubahan pada layanan langsung.
Membatasi akses pengembang ke sumber daya tertentu. Buat grup keamanan tambahan yang lebih halus untuk pengembang yang hanya memerlukan akses ke sumber daya tertentu. Tetapkan grup ini peran Azure Synapse yang sesuai yang tercakup ke kumpulan Spark, Runtime integrasi, atau info masuk tertentu.
Batasi operator dari mengakses artefak kode. Buat grup keamanan untuk operator yang perlu memantau status operasional sumber daya komputasi Synapse dan melihat log tetapi tidak memerlukan akses ke kode atau menerbitkan pembaruan ke layanan. Tetapkan grup ini peran Operator Komputasi yang tercakup ke kumpulan Spark dan Runtime integrasi tertentu.
Nonaktifkan autentikasi lokal. Dengan hanya mengizinkan autentikasi Microsoft Entra, Anda dapat mengelola akses ke sumber daya Azure Synapse secara terpusat, seperti kumpulan SQL. Autentikasi lokal untuk semua sumber daya dalam ruang kerja dapat dinonaktifkan selama atau setelah pembuatan ruang kerja. Untuk informasi selengkapnya tentang autentikasi khusus Microsoft Entra, lihat Menonaktifkan autentikasi lokal di Azure Synapse Analytics.
Langkah berikutnya
- Pelajari cara mengelola penetapan peran RBAC Azure Synapse
- Membuat Ruang Kerja Synapse