Azure Synapse çalışma alanınız için erişim denetimini ayarlama
Bu makalede, Microsoft Azure Synapse çalışma alanına erişimi denetleme hakkında bilgi verilmektedir. Bunu başarmak için Azure rollerinin, Azure Synapse rollerinin, SQL izinlerinin ve Git izinlerinin bir bileşimini kullanacağız.
Bu kılavuzda bir çalışma alanı ayarlayıp temel erişim denetim sistemini yapılandıracaksınız. Bu bilgileri birçok Synapse projesi türünde kullanabilirsiniz. Ayrıca ihtiyacınız olduğunda daha ayrıntılı denetim için gelişmiş seçenekler bulacaksınız.
Synapse erişim denetimi, kuruluşunuzdaki rolleri ve kişilikleri güvenlik gruplarıyla hizalayarak basitleştirilebilir. Bu, yalnızca kullanıcı ekleyerek ve kaldırarak güvenlik gruplarına erişimi yönetmenizi sağlar.
Bu kılavuza başlamadan önce Synapse Analytics tarafından kullanılan erişim denetimi mekanizmaları hakkında bilgi edinmek için Azure Synapse erişim denetimine genel bakış makalesini okuyun.
Erişim denetimi mekanizmaları
Not
Bu kılavuzdaki yaklaşım, güvenlik grupları oluşturmaktır. Bu güvenlik gruplarına roller atadığınızda, çalışma alanlarına erişimi denetlemek için yalnızca bu gruplardaki üyelikleri yönetmeniz gerekir.
Synapse çalışma alanının güvenliğini sağlamak için aşağıdaki ögeleri yapılandıracaksınız:
- Güvenlik Grupları: Benzer erişim gereksinimlerine sahip kullanıcıları gruplandırmak için.
- Azure rolleri: SQL havuzları, Apache Spark havuzları ve tümleştirme çalışma zamanlarını kimlerin oluşturup yönetebileceğini ve kimlerin ADLS 2. Nesil depolama alanına erişebileceğini denetlemek için.
- Synapse rolleri, yayımlanan kod yapıtlarına erişimin yanı sıra Apache Spark işlem kaynaklarının ve tümleştirme çalışma zamanlarının kullanımını denetlemek için.
- SQL izinleri: SQL havuzlarına yönetim ve veri düzlemi erişimini denetlemek için.
- Çalışma alanları için Git desteğini yapılandırdığınızda kaynak denetiminde kod yapıtlarına kimlerin erişebileceğini denetlemek için Git izinleri.
Synapse çalışma alanının güvenliğini sağlama adımları
Bu belgede yönergeleri basitleştirmek için standart adlar kullanılır. Bunları kendi seçtiğiniz adlarla değiştirin.
Ayar | Standart ad | Tarif |
---|---|---|
Synapse çalışma alanı | workspace1 |
Azure Synapse çalışma alanının sahip olacağı ad. |
ADLSGEN2 hesabı | storage1 |
Çalışma alanınızla birlikte kullanılacak ADLS hesabı. |
Kapsayıcı | container1 |
Çalışma alanının varsayılan olarak kullanacağı STG1 kapsayıcısı. |
Active Directory kiracısı | contoso |
active directory kiracı adı. |
1. Adım: Güvenlik gruplarını ayarlama
Not
Önizleme sırasında güvenlik grupları oluşturmanız ve bunları Azure Synapse Synapse SQL Yöneticisi ve Synapse Apache Spark Yöneticisi rolleriyle eşlemeniz istendi. Daha ayrıntılı yeni Synapse RBAC rollerinin ve kapsamlarının kullanıma sunulmasıyla birlikte, artık çalışma alanınıza erişimi denetlemek için daha yeni seçenekleri kullanmanız teşvik edilir. Bunlar size daha fazla yapılandırma esnekliği sağlar ve geliştiricilerin analiz uygulamaları oluşturmak için genellikle SQL ve Spark karışımı kullandığını kabul ederler. Bu nedenle geliştiricilerin çalışma alanının tamamı yerine tek tek kaynaklara erişmesi gerekebilir. Synapse RBAC hakkında daha fazla bilgi edinin.
Çalışma alanınız için aşağıdaki güvenlik gruplarını oluşturun:
workspace1_SynapseAdministrators
, çalışma alanı üzerinde tam denetime ihtiyacı olan kullanıcılar için. En azından başlangıçta kendinizi bu güvenlik grubuna ekleyin.workspace1_SynapseContributors
, bir hizmette kod geliştirmesi, hatalarını ayıklaması ve yayımlaması gereken geliştiriciler için.workspace1_SynapseComputeOperators
, Apache Spark havuzlarını ve Tümleştirme çalışma zamanlarını yönetmesi ve izlemesi gereken kullanıcılar için.workspace1_SynapseCredentialUsers
, çalışma alanı MSI (yönetilen hizmet kimliği) kimlik bilgilerini kullanarak düzenleme işlem hatlarında hata ayıklaması ve çalıştırması gereken ve işlem hattı çalıştırmalarını iptal eden kullanıcılar için.
Kısa süre içinde çalışma alanı kapsamında bu gruplara Synapse rolleri atayacaksınız.
Ayrıca şu güvenlik grubunu da oluşturun:
workspace1_SQLAdmins
, çalışma alanında SQL havuzları içinde SQL Active Directory Yönetici yetkilisine ihtiyacı olan kullanıcılar için grubu.
workspace1_SQLAdmins
SQL havuzları oluştururken SQL izinlerini yapılandıracak grup.
Bu beş grup temel bir kurulum için yeterlidir. Daha sonra, daha özel erişime ihtiyacı olan veya erişimi yalnızca tek tek kaynaklara kısıtlayan kullanıcıları işlemek için güvenlik grupları ekleyebilirsiniz.
Not
- Microsoft Entra Id kullanarak temel grup oluşturma ve üye ekleme bölümünde güvenlik grubu oluşturmayı öğrenin.
- Microsoft Entra Id kullanarak başka bir güvenlik grubundan güvenlik grubu ekleme veya başka bir gruptan grup kaldırma hakkında bilgi edinin.
- Güvenlik grubu oluştururken Grup Türünün Güvenlik olduğundan emin olun. Microsoft 365 grupları Azure SQL için desteklenmez.
İpucu
Tek tek Synapse kullanıcıları, grup üyeliklerini görüntülemek için Azure portalında Microsoft Entra Id kullanabilir. Bu, kendilerine hangi rollerin verildiğini belirlemelerine olanak tanır.
2. Adım: ADLS 2. Nesil depolama hesabınızı hazırlama
Synapse çalışma alanları aşağıdakiler için varsayılan depolama kapsayıcılarını kullanır:
- Spark tabloları için yedekleme veri dosyalarının depolanması
- Spark işleri için yürütme günlükleri
- Yüklemeyi seçtiğiniz kitaplıkların yönetimi
Depolama alanınız hakkında aşağıdaki bilgileri belirleyin:
Çalışma alanınız için kullanılacak ADLS 2. Nesil hesabı. Bu belge onu olarak adlandırmış.
storage1
storage1
çalışma alanınız için "birincil" depolama hesabı olarak kabul edilir.Synapse çalışma alanınızın içindeki
storage1
kapsayıcı varsayılan olarak kullanılır. Bu belge onu olarak adlandırmış.container1
Erişim denetimi (IAM) öğesini seçin.
Ekle>Rol ataması ekle seçeneğini belirleyerek Rol ataması ekle sayfasını açın.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role Depolama Blobu Veri Katılımcısı Şu kişiye erişim ata: SERVICEPRINCIPAL Üyeler workspace1_SynapseAdministrators, workspace1_SynapseContributors ve workspace1_SynapseComputeOperators
3. Adım: Synapse çalışma alanınızı oluşturma ve yapılandırma
Azure portalında bir Synapse çalışma alanı oluşturun:
Aboneliğinizi seçin
Azure Sahibi rolünüz olan bir kaynak grubu seçin veya oluşturun.
Çalışma alanını adlandırma
workspace1
Depolama hesabı için seçin
storage1
"dosya sistemi" olarak kullanılan kapsayıcıyı seçin
container1
.Synapse Studio'da WS1'i açma
Synapse Studio'da Erişim Denetimini Yönet'e >gidin. Çalışma alanı kapsamında Synapse rollerini güvenlik gruplarına aşağıdaki gibi atayın:
- Synapse Yönetici rolünü
workspace1_SynapseAdministrators
- Synapse Katkıda Bulunanı rolünü
workspace1_SynapseContributors
- Synapse İşlem İşleci rolünü
workspace1_SynapseComputeOperators
- Synapse Yönetici rolünü
4. Adım: Çalışma alanına varsayılan depolama kapsayıcısına MSI erişimi verme
İşlem hatlarını çalıştırmak ve sistem görevlerini gerçekleştirmek için Azure Synapse, yönetilen hizmet kimliğinin (MSI) çalışma alanı için varsayılan ADLS 2. Nesil hesabında erişimi container1
olmasını gerektirir. Daha fazla bilgi için bkz . Azure Synapse çalışma alanı yönetilen kimliği.
Azure portalı açın
depolama hesabını ve
storage1
ardındancontainer1
öğesini bulun.Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Rol ataması ekle 'yi>seçin.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role Depolama Blobu Veri Katılımcısı Şu kişiye erişim ata: MANAGEDIDENTITY Üyeler yönetilen kimlik adı Not
Yönetilen kimlik adı aynı zamanda çalışma alanı adıdır.
5. Adım: Synapse yöneticilerine çalışma alanı için Azure Katkıda Bulunanı rolü verme
SQL havuzları, Apache Spark havuzları ve Tümleştirme çalışma zamanları oluşturmak için kullanıcıların en azından çalışma alanı için Azure Katkıda Bulunanı rolüne sahip olması gerekir. Katkıda Bulunan rolü, kullanıcıların duraklatma ve ölçeklendirme dahil olmak üzere kaynakları yönetmesine de olanak tanır. AZURE portalını veya Synapse Studio'yu kullanarak SQL havuzları, Apache Spark havuzları ve Tümleştirme çalışma zamanları oluşturmak için kaynak grubu düzeyinde katkıda bulunan rolüne sahip olmanız gerekir.
Azure portalı açın
Çalışma alanını bulun,
workspace1
Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Rol ataması ekle'yi>seçin.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role Katılımcı Şu kişiye erişim ata: SERVICEPRINCIPAL Üyeler workspace1_SynapseAdministrators
6. Adım: SQL Active Directory Yönetici rolü atama
Çalışma alanı oluşturucusu otomatik olarak çalışma alanı için SQL Active Directory Yöneticisi olarak atanır. Bu rol yalnızca tek bir kullanıcıya veya gruba verilebilir. Bu adımda, çalışma alanı için SQL Active Directory Yöneticisi'ni güvenlik grubuna workspace1_SQLAdmins
atarsınız. Bu, gruba çalışma alanı içindeki tüm SQL havuzlarına ve veritabanlarına yüksek ayrıcalıklı yönetici erişimi verir.
- Azure portalı açın
workspace1
sayfasına gidin- Ayarlar'ın altında Microsoft Entra ID'yi seçin
- Yönetici ayarla'yı ve ardından
workspace1_SQLAdmins
Not
6. adım isteğe bağlıdır. Gruba daha az ayrıcalıklı bir rol vermeyi workspace1_SQLAdmins
seçebilirsiniz. Veya diğer SQL rollerini atamak db_owner
için her SQL veritabanında betik çalıştırmanız gerekir.
7. Adım: SQL havuzlarına erişim izni verme
Synapse Yöneticisi varsayılan olarak çalışma alanında sunucusuz SQL db_owner
havuzları için SQL rolü de verilir.
Diğer kullanıcılar için SQL havuzlarına erişim, SQL izinleri tarafından denetlenmektedir. SQL izinleri atamak, oluşturma sonrasında her SQL veritabanında SQL betiklerinin çalıştırılmasını gerektirir. Aşağıda, bu betikleri çalıştırmanızı gerektiren örnekler verilmiştir:
Kullanıcılara sunucusuz SQL havuzu, 'Yerleşik' ve veritabanlarına erişim vermek için.
Kullanıcılara ayrılmış SQL havuzu veritabanlarına erişim vermek için. Örnek SQL betikleri bu makalenin devamında yer almaktadır.
Ayrılmış bir SQL havuzu veritabanına erişim vermek için, betikler çalışma alanı oluşturucusu veya grubun herhangi bir üyesi
workspace1_SynapseAdministrators
tarafından çalıştırılabilir.Sunucusuz 'Yerleşik' SQL havuzuna erişim vermek için betikler grubun veya
workspace1_SynapseAdministrators
grubun herhangi bir üyesiworkspace1_SQLAdmins
tarafından çalıştırılabilir.
İpucu
Her SQL havuzu için aşağıdaki adımları uygulayarak tüm SQL veritabanlarına erişim vekleyebilirsiniz. Çalışma Alanı Kapsamlı İzinleri Yapılandır bölümü kural için bir özel durumdur ve kullanıcıya çalışma alanı düzeyinde bir sysadmin rolü atamanızı sağlar.
Adım 7a: Sunucusuz SQL havuzu, Yerleşik
Kullanıcılara tek bir veritabanına veya sunucusuz SQL havuzundaki Built-in
tüm veritabanlarına erişim izni vermek için bu bölümdeki betik örneklerini kullanabilirsiniz.
Not
Betik örneklerinde diğer adı erişim verilen kullanıcı veya grubun diğer adıyla değiştirin. etki alanını kullandığınız şirket etki alanıyla değiştirin.
Veritabanı kapsamlı izinleri yapılandırma
Kullanıcılara tek bir sunucusuz SQL veritabanına erişim izni vermek için şu örnekte açıklanan adımları uygulayabilirsiniz:
Oturum açma bilgileri oluşturun. Veritabanı bağlamı olarak
master
değiştirin.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
Veritabanınızda kullanıcı oluşturun. Bağlamı veritabanınızla değiştirin.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];
Kullanıcıyı veritabanınızda belirtilen rolün üyesi olarak ekleyin (bu örnekte db_owner rolü).
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
Çalışma alanı kapsamlı izinleri yapılandırma
Çalışma alanında tüm sunucusuz SQL havuzlarına tam erişim verilmektedir. Betiği veritabanında şu örnekte master
çalıştırın:
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];
7b. Adım: Ayrılmış SQL havuzlarını yapılandırma
Tek, ayrılmış bir SQL havuzu veritabanına erişim vekleyebilirsiniz. Azure Synapse SQL betik düzenleyicisinde şu adımları kullanın:
Aşağıdaki komutları çalıştırarak veritabanında bir kullanıcı oluşturun. Bağlan açılan listesinden hedef veritabanını seçin:
--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
Kullanıcıya veritabanına erişmesi için bir rol verin:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
Önemli
db_datareader ve db_datawriter veritabanı rolleri, db_owner izin vermek istemediğinizde okuma/yazma izni sağlayabilir. Ancak Spark kullanıcılarının doğrudan Spark'tan SQL havuzuna veya bir SQL havuzundan okuması ve yazması için db_owner izni gereklidir.
Kullanıcılarınızı oluşturduktan sonra sunucusuz SQL havuzlarının depolama hesaplarını sorguladığını onaylamak için sorgular çalıştırabilirsiniz.
8. Adım: Güvenlik gruplarına kullanıcı ekleme
Erişim denetimi sisteminizin ilk yapılandırması tamamlandı.
Artık ayarladığınız güvenlik gruplarına erişimi yönetmek için kullanıcıları ekleyebilir ve kaldırabilirsiniz. Kullanıcıları Azure Synapse rollerine el ile atayabilirsiniz, ancak bu, izinleri tutarsız olarak ayarlar. Bunun yerine, yalnızca güvenlik gruplarınıza kullanıcı ekleyin veya kaldırın.
9. Adım: Ağ güvenliği
Çalışma alanınızın güvenliğini sağlamak için son adım olarak, çalışma alanı güvenlik duvarını kullanarak ağ erişiminin güvenliğini sağlamalısınız.
- Yönetilen bir sanal ağ ile ve olmadan, genel ağlardan çalışma alanınıza bağlanabilirsiniz. Daha fazla bilgi için bkz . Bağlantı Ayarları.
- Genel ağlardan erişim, genel ağ erişim özelliği veya çalışma alanı güvenlik duvarı etkinleştirilerek denetlenebilir.
- Alternatif olarak, yönetilen bir özel uç nokta ve özel Bağlantı kullanarak çalışma alanınıza bağlanabilirsiniz. Azure Synapse Analytics Yönetilen Sanal Ağ olmayan Azure Synapse çalışma alanları, yönetilen özel uç noktalar aracılığıyla bağlanma olanağına sahip değildir.
10. Adım: Tamamlama
Çalışma alanınız artık tamamen yapılandırılmış ve güvenli hale getiriliyor.
Daha gelişmiş senaryoları destekleme
Bu kılavuz, temel erişim denetim sistemi ayarlamaya odaklanmıştır. Ek güvenlik grupları oluşturup bu grupları daha ayrıntılı rollere daha belirli kapsamlarda atayarak daha gelişmiş senaryoları destekleyebilirsiniz. Aşağıdaki durumları göz önünde bulundurun:
CI/CD gibi daha gelişmiş geliştirme senaryoları için çalışma alanı için Git desteğini etkinleştirin. Git modundayken, Git izinleri ve Synapse RBAC bir kullanıcının çalışma dalında değişiklikleri işleyip işleyemeyeceğini belirler. Hizmette yayımlama yalnızca işbirliği dalından gerçekleştirilir. Çalışma dalında güncelleştirme geliştirmesi ve hatalarını ayıklaması gereken ancak değişiklikleri canlı hizmette yayımlaması gerekmeyen geliştiriciler için bir güvenlik grubu oluşturmayı göz önünde bulundurun.
Geliştirici erişimini belirli kaynaklara kısıtlayın . Yalnızca belirli kaynaklara erişmesi gereken geliştiriciler için daha ayrıntılı ek güvenlik grupları oluşturun. Belirli Spark havuzları, Tümleştirme çalışma zamanları veya kimlik bilgileri kapsamındaki uygun Azure Synapse rollerini bu gruplara atayın.
İşleçlerin kod yapıtlarına erişmesini kısıtlayın. Synapse işlem kaynaklarının çalışma durumunu izlemesi ve günlükleri görüntülemesi gereken ancak koda erişmesi veya hizmette güncelleştirme yayımlaması gerekmeyen operatörler için güvenlik grupları oluşturun. Bu gruplara kapsamı belirli Spark havuzlarına ve Tümleştirme çalışma zamanlarına göre belirlenmiş İşlem Operatörü rolünü atayın.
Yerel kimlik doğrulamayı devre dışı bırakın. Yalnızca Microsoft Entra kimlik doğrulamasına izin vererek SQL havuzları gibi Azure Synapse kaynaklarına erişimi merkezi olarak yönetebilirsiniz. Çalışma alanı oluşturma sırasında veya sonrasında çalışma alanı içindeki tüm kaynaklar için yerel kimlik doğrulaması devre dışı bırakılabilir. Microsoft Entra-only kimlik doğrulaması hakkında daha fazla bilgi için bkz . Azure Synapse Analytics'te yerel kimlik doğrulamasını devre dışı bırakma.
Sonraki adımlar
- Azure Synapse RBAC rol atamalarını yönetmeyi öğrenin
- Synapse Çalışma Alanı Oluşturma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin