Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
En az ayrıcalıklı bilgi güvenliği ilkesi, hesapların ve uygulamaların yalnızca ihtiyaç duydukları verilere ve işlemlere erişimi olduğunu onaylar. Azure Arc tarafından etkinleştirilen SQL Server ile aracı uzantısı hizmetini en az ayrıcalıkla çalıştırabilirsiniz. Bu makalede ajan uzantı hizmetinin en az ayrıcalıkla nasıl çalıştırılacağı açıklanmaktadır.
SQL Server için Azure Uzantısı için Windows hizmet hesaplarını ve izinlerini yapılandırma aracı uzantısı hizmeti için en düşük ayrıcalık izinlerini açıklar.
Varsayılan olarak en az ayrıcalık etkinleştirilmiş
En az ayrıcalık, Azure Extension for SQL Server'ın aşağıdaki sürümlerinde varsayılan olarak etkinleştirilmiştir:
- Version 1.1.3453.436
- Sürüm 1.1.3518.465 ve sonraki sürümler
En az ayrıcalık, 1.1.3453.436 sürümlerinden önceki versiyonlarda veya 1.1.3464.439, 1.1.3494.451 ve 1.1.3500.453 sürümlerinde varsayılan olarak etkinleştirilmiyor. Bu sürümler için, en az ayrıcalığı manuel olarak etkinleştirmek için bu makaledeki adımları izleyin.
Note
Mevcut veya 1.1.2859.223 daha sonraki sürümleri kullanan sunucular için, otomatik yükseltme etkinleştirildiğinde, en az ayrıcalıklı yapılandırma otomatik yükseltmelerin bir parçası olarak uygulanır. En az ayrıcalıklı yapılandırmanın otomatik uygulanmasını önlemek için, sonrasında 1.1.2859.223genişletme yükseltmelerini bloklayın.
En az ayrıcalık etkinleştirildiğinde, Azure Extension for SQL Server otomatik olarak yerel Windows servis hesabı ve SQL Server girişi olarak oluşturulur ve yönetilirNT SERVICE\SqlServerExtension:
- Bu uzantı hesaba yalnızca yapılandırma okuma ve depolama ile kayıt yazma için gereken Windows izinlerini verir.
- Bu uzantı, girişe etkinleştirilmiş özelliklerin gerektirdiği minimum SQL Server izinlerini verir.
- Uzantı, artık gerekli olmadıklarında, örneğin bir özelliği devre dışı bıraktığınızda izinleri geri alır.
- Azure Extension for SQL Server'ı kaldırdığınızda veya en az ayrıcalığı devre dışı bıraktığınızda bu uzantı, hesabı kaldırıyor.
Önkoşullar
Bu bölüm, en az ayrıcalığı etkinleştirmek veya devre dışı bırakmak için gereken sistem gereksinimlerini ve araçları tanımlar.
Sistem gereksinimleri
En az ayrıcalık yapılandırması için gerekenler şunlardır:
- Windows Server 2016 veya daha sonraki sürümler.
- SQL Server 2014 (12.x) veya daha sonraki sürümler.
- SQL Server hizmet hesabının sysadmin sabit sunucu rolünün üyesi olması gerekir.
- Tüm veritabanları çevrimiçi ve güncellenebilir olmalıdır.
En az ayrıcalık şu anda Linux'ta desteklenmiyor.
Araçları
Bu makaledeki adımları tamamlamak için aşağıdaki araçlara ihtiyacınız vardır:
- Azure CLI
-
arcdataAzure CLI uzantısı sürüm1.5.9veya daha yenisi - Asgari ayrıcalığı manuel olarak etkinleştirmek için SQL Server için Azure Uzantısı'nın
1.1.2859.223veya sonraki sürümlerini kullanın.
En az ayrıcalığı etkinleştir veya devre dışı bırak
Azure CLI ile oturum açın.
az loginarcdatauzantısı sürümünü doğrulayın.az extension list -o tableSonuçlarda desteklenen bir
arcdatasürümü varsa, sonraki adıma geçin.Gerekirse
arcdataAzure CLI uzantısını yükleyin veya güncelleştirin.Uzantıyı yüklemek için:
az extension add --name arcdataUzantıyı güncelleştirmek için:
az extension update --name arcdataAzure CLI ile en az ayrıcalığı etkinleştirin.
En az ayrıcalığı etkinleştirmek için
LeastPrivilegeözellik bayrağınıtrueolarak ayarlayın. Devre dışı bırakmak için özellik bayrağını ayarlayınfalse. Bu görevi tamamlamak için,<resource-group>ve<machine-name>için kendi değerlerinizi kullanarak aşağıdaki komutu çalıştırın.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>Örneğin, aşağıdaki komut
myserveradlı kaynak grubundakimyrgadlı bir sunucu için en az ayrıcalığı etkinleştirir:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
En az ayrıcalık yapılandırmasını doğrulama
Azure Arc tarafından etkinleştirilen SQL Server'ınızın en az ayrıcalıkla çalışacak şekilde yapılandırıldığını doğrulamak için:
Hizmetler bölümünde Microsoft SQL Server Extension Service'i bulun. Hizmetin
NT SERVICE\SqlServerExtensionservis hesabı altında çalıştığını doğrulayın.Sunucuda Görev Zamanlayıcı'yı açın.
SqlServerExtensionPermissionProvideradlı olay güdümlü bir görevinMicrosoft\SqlServerExtensionaltında bulunduğunu doğrulayın.SQL Server Management Studio'yu açın ve
NT SERVICE\SqlServerExtensionadlı oturum açmayı denetleyin. Hesaba şu temel izinlerin atandığını doğrulayın:CONNECT SQLVIEW DATABASE STATEVIEW SERVER STATE
İzinleri aşağıdaki sorgularla doğrulayın:
Sunucu düzeyinde izinleri doğrulamak için aşağıdaki sorguyu çalıştırın:
EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; SELECT * FROM fn_my_permissions(NULL, 'SERVER'); REVERT;Veritabanı düzeyinde izinleri doğrulamak için değerini veritabanlarınızdan birinin adıyla değiştirin
<database-name>ve aşağıdaki sorguyu çalıştırın:EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; USE [<database-name>]; SELECT * FROM fn_my_permissions(NULL, 'database'); REVERT;
İsteğe bağlı: SQL Server veritabanı motoru servis hesabını yönetin
Çoğu ortam için varsayılan hizmet hesabı yapılandırmasını kullanın. Yalnızca SQL Server veritabanı motoru hizmet hesabını sistem yöneticisi sabit sunucu rolünden uzantı işlemleri arasında kaldırmanız gerekiyorsa aşağıdaki prosedürü kullanın.
En az ayrıcalık modunu kullanmak için, SQL Server veritabanı motoru hizmet hesabı her SQL Server örneğinde sistem yöneticisi sabit sunucu rolünün bir üyesi olmalıdır. Bu üyelik, sistemin otomatik olarak izinleri vermesini veya iptal etmesini sağlar. Varsayılan olarak, SQL Server veritabanı motoru hizmet hesabı sistem yöneticisi sabit sunucu rolünün bir üyesidir.
SQL Server için Azure Uzantısı, şu durumlarda Deployer.exe adlı geçici bir işlemi NT AUTHORITY\SYSTEM olarak çalıştırır:
- Özellikleri etkinleştiriyor veya devre dışı bırakıyorsunuz
- SQL Server örnekleri ekler veya çıkarırsınız
- Uzantını kurar veya yükseltirsiniz
Deployer.exe, SQL Server bağlandığında SQL Server hizmet hesabının kimliğine bürüner. Bağlandıktan sonra, hangi özelliklerin etkinleştirildiğine veya devre dışı bırakıldığına bağlı olarak sunucu ve veritabanı rollerindeki izinleri ekler veya kaldırır. Bu işlem, SQL Server için Azure Uzantısının gereken en düşük ayrıcalıkları kullanmasını sağlar.
SQL Server hizmet hesabının sysadmin sabit sunucu rolünün üyesi olmadığı şekilde bu işlemi daha fazla denetimle yönetmek istiyorsanız şu adımları izleyin:
- Uzantı yüklemeden veya yükseltmeden önce, bir özelliği etkinleştirip devre dışı bırakmadan veya SQL Server örneği eklemeden veya kaldırmadan önce, geçici olarak sistem yöneticisi sabit sunucu rolüne SQL Server veritabanı motoru hizmet hesabını ekleyin.
- İzinlerin ayarlanması için
Deployer.exeen az bir kez çalışmasına izin verin. - SQL Server hizmet hesabını sysadmin sabit sunucu rolünden kaldırın.
Uzantı kurduğunuzda veya yükselttiğinizde, bir özelliği etkinleştirdiğinizde veya devre dışı bıraktığınızda, SQL Server örneğini eklediğinizde veya kaldırdığınızda bu prosedürü tekrarlayın. Bu prosedür, gereken en az ayrıcalıkların verilmesini sağlar Deployer.exe .
Her uzatma yükseltmesi için bu işlemi tekrarlamanız gerektiği için, otomatik yükseltmeleri devre dışı bırakmayı düşünün. Sonra bu adımları gerçekleştiren ve uzantıyı yükselten bir betik kullanabilirsiniz.
Important
SQL Server Deployer.exe için Azure Uzantısı, hem NT AUTHORITY\SYSTEM hem de CONNECT SQL modlarında standard izniyle SQL Server bağlanabilmesi için least privilege gerektirir. Bu gereksinim, uzantının sağlama işleminden sonra hangi hizmet hesabını kullandığından bağımsız olarak, her zaman Deployer.exe hesabı altında çalışması nedeniyle vardır.
NT AUTHORITY\SYSTEM SQL Server bağlanamıyorsa, Deployer.exeNT SERVICE\SqlServerExtension oturum açamaz veya gerekli izinleri veremez. En az ayrıcalık modunu etkinleştirmeden önce, NT AUTHORITY\SYSTEMCONNECT SQL iznine sahip etkin bir SQL Server oturum açma iznine sahip olduğunu doğrulayın. Doğrulamak için Ön Koşullar'a bakınız.
SQL Server veritabanı motoru servis hesabı sistem yöneticisi sabit sunucu rolüne sahip değilse, tam zamanında izinler verilemez.
Bu izinlerin ne zaman kullanıldığına dair detaylar için Configure Windows service accounts and permissions for Azure Extension for SQL Server bkz.
İlgili içerik
- Cloud için Microsoft Defender ile SQL Server'ın Korunması
- Azure Arc tarafından etkinleştirilen SQL Server için en iyi yöntemler değerlendirmesini yapılandırma
- Bilinen sorunlar: Azure Arc tarafından etkinleştirilen SQL Server