Aracılığıyla paylaş


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

İ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

    Azure portalında rol ataması ekleme sayfası.

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

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 storage1ardından container1öğ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.

    Azure portalında rol ataması ekleme sayfası.

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

    Azure portalında rol ataması ekleme sayfası.

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ındanworkspace1_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:

  1. Kullanıcılara sunucusuz SQL havuzu, 'Yerleşik' ve veritabanlarına erişim vermek için.

  2. Kullanıcılara ayrılmış SQL havuzu veritabanlarına erişim vermek için. Örnek SQL betikleri bu makalenin devamında yer almaktadır.

  3. 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.

  4. Sunucusuz 'Yerleşik' SQL havuzuna erişim vermek için betikler grubun veya workspace1_SynapseAdministrators grubun herhangi bir üyesi workspace1_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-intü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:

  1. 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;
    
  2. 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];
    
  3. 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:

  1. 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
    
  2. 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