Aracılığıyla paylaş


Çoğaltma Aracısı Güvenlik Modeli

Şunlar için geçerlidir: SQL Server

Çoğaltma aracısı güvenlik modeli, çoğaltma aracılarının çalıştırıldığı ve bağlantı oluşturan hesaplar üzerinde ayrıntılı denetime olanak tanır: Her aracı için farklı bir hesap belirtilebilir. Hesapları belirtme hakkında daha fazla bilgi için bkz. Çoğaltma için kimlik ve erişim denetimi.

Aracıların altında çalıştırılacağı Windows hesabı olmadığından, çoğaltma aracısı güvenlik modeli Azure SQL Yönetilen Örneği için biraz farklıdır. Bunun yerine, her şey SQL Server kimlik doğrulaması aracılığıyla yapılmalıdır.

Önemli

Sysadmin sabit sunucu rolünün bir üyesi çoğaltmayı yapılandırdığında, çoğaltma aracıları SQL Server Agent hesabının kimliğine bürünecek şekilde yapılandırılabilir. Bu, bir çoğaltma aracısı için oturum açma ve parola belirtmeyerek yapılır; ancak bu yaklaşımı önermeyiz. Bunun yerine, en iyi güvenlik uygulaması olarak, bu konunun devamındaki "Aracılar tarafından Gerekli İzinler" bölümünde açıklanan en düşük izinlere sahip her aracı için bir hesap belirtmenizi öneririz.

Tüm yürütülebilir dosyalar gibi çoğaltma aracıları bir Windows hesabı bağlamında çalışır. Aracılar bu hesabı kullanarak Windows Tümleşik Güvenlik bağlantıları oluşturur. Ajansın çalıştırıldığı hesap, ajanın nasıl başlatıldığına bağlıdır.

  • Aracı bir SQL Server Aracısı işinden başlatılırken varsayılan değer: Çoğaltma aracısını başlatmak için bir SQL Server Aracısı işi kullanıldığında, aracı, çoğaltmayı yapılandırırken belirttiğiniz bir hesabın bağlamı altında çalışır. SQL Server Aracısı ve çoğaltma hakkında daha fazla bilgi için, bu konunun devamında yer alan "SQL Server Aracısı altında Aracı Güvenliği" bölümüne bakın. SQL Server Agent'ın çalıştığı hesap için gereken izinler hakkında bilgi için bkz. SQL Server Agent'ı yapılandırma.

  • Aracıyı doğrudan veya bir betik aracılığıyla MS-DOS komut satırından başlatma: Aracı, komut satırında aracıyı çalıştıran kullanıcının hesabının bağlamı altında çalışır.

  • Aracıyı Çoğaltma Yönetim Nesneleri (RMO) veya ActiveX denetimi kullanan bir uygulamadan başlatma: Aracı, RMO veya ActiveX denetimini çağıran uygulamanın bağlamı altında çalışır.

    Uyarı

    ActiveX denetimleri kullanım dışıdır.

Bağlantıların Windows Tümleşik Güvenlik bağlamında yapılmasını öneririz. Geriye dönük uyumluluk için SQL Server Güvenliği de kullanılabilir. En iyi yöntemler hakkında daha fazla bilgi için bkz . Çoğaltma Güvenliği En İyi Yöntemleri.

Ajanların Gerektirdiği İzinler

Ajanların çalıştırıldığı ve bağlantı kurduğu hesaplar, çeşitli izinler gerektirir. Bu izinler aşağıdaki tabloda açıklanmıştır. Her aracının farklı bir Windows hesabı altında çalıştırılmasını ve hesaba yalnızca gerekli izinlerin verilmesini öneririz. Bir dizi ajanın ilgili olduğu yayım erişim listesi (PAL) hakkında bilgi için bkz. Yayımcının Güvenliğini Sağlama.

Uyarı

Bazı Windows işletim sistemlerindeki Kullanıcı Hesabı Denetimi (UAC), anlık görüntü paylaşımına yönetici erişimini engelleyebilir. Bu nedenle, Anlık Görüntü Aracısı, Dağıtım Aracısı ve Birleştirme Aracısı tarafından kullanılan Windows hesaplarına açıkça anlık görüntü paylaşımı izinleri vermelisiniz. Windows hesapları Administrators grubunun üyesi olsa bile bunu yapmanız gerekir. Daha fazla bilgi için bkz. Anlık Görüntü Klasörünün Güvenliğini Sağlama.

Temsilci Permissions
Anlık Görüntü Aracısı Aracın çalıştığı Windows hesabı, Dağıtıcı ile bağlantı kurmak için kullanılır. Bu hesabın şu şekilde olması gerekir:

-En azından, dağıtım veritabanındaki db_owner sabit veritabanı rolünün üyesi olun.

-Anlık görüntü paylaşımında okuma, yazma ve değiştirme izinlerine sahip olun.



Publisher'a bağlanmak için kullanılan hesabın en azından yayın veritabanındaki db_owner sabit veritabanı rolünün üyesi olması gerektiğini unutmayın.
Kayıt Okuyucu Aracısı Aracın çalıştığı Windows hesabı, Dağıtıcı ile bağlantı kurmak için kullanılır. Bu hesap en azından dağıtım veritabanındaki db_owner sabit veritabanı rolünün bir üyesi olmalıdır.

Publisher'a bağlanmak için kullanılan hesabın en azından yayın veritabanındaki db_owner sabit veritabanı rolünün üyesi olması gerekir.

Yalnızca sync_type seçenekleri çoğaltma desteği, yedekleme ile başlatma veya lsn'den başlatma seçeneklerini belirlerken, kurulum betiklerinin dağıtım veritabanına yazılması için günlük okuyucu aracısının sp_addsubscription yürüttükten sonra çalışması gerekir. Günlük okuyucu aracısı sysadmin sabit sunucu rolünün üyesi olan bir hesap altında çalışıyor olmalıdır. sync_type seçeneği Otomatik olarak ayarlandığında, özel bir günlük okuyucu aracısı eylemi gerekmez.
Anında iletme aboneliği için Dağıtım Aracısı Aracın çalıştığı Windows hesabı, Dağıtıcı ile bağlantı kurmak için kullanılır. Bu hesabın şu şekilde olması gerekir:

-En azından dağıtım veritabanındaki db_owner sabit veritabanı rolünün üyesi olun.

-PAL üyesi olun.

-Anlık görüntü paylaşımında okuma izinlerine sahip olun.

-Abonelik SQL Server abonesi olmayan bir aboneye aitse Abone için OLE DB sağlayıcısının yükleme dizininde okuma izinlerine sahip olun.

-LOB verilerini çoğaltırken dağıtım aracısının, XX'in instanceID'yi temsil ettiği C:\Program Files\Microsoft SQL Server\XX\COM klasöründe yazma izinleri olmalıdır.



Aboneye bağlanmak için kullanılan hesabın en azından abonelik veritabanındaki db_owner sabit veritabanı rolünün üyesi olması veya abonelik SQL Server abonesi olmayan bir abone içinse eşdeğer izinlere sahip olması gerektiğini unutmayın.

Ayrıca dağıtım aracısını kullanırken -subscriptionstreams >= 2 abonelere kilitlenmeleri algılamaları için Sunucu Durumunu Görüntüle izni de vermelisiniz.
Çekme aboneliği için Dağıtım Aracısı Aracının çalıştırıldığı Windows hesabı, Abone ile bağlantı kurarken kullanılır. Bu hesabın şu şekilde olması gerekir:

-En azından abonelik veritabanındaki db_owner sabit veritabanı rolünün üyesi olun.

Dağıtımcıya bağlanmak için kullanılan hesabın:

-En azından dağıtım veritabanındaki db_owner sabit veritabanı rolünün üyesi olun.

-PAL üyesi olun.

-Anlık görüntü paylaşımında okuma izinlerine sahip olun.

-LOB verilerini çoğaltırken dağıtım aracısının, XX'in instanceID'yi temsil ettiği C:\Program Files\Microsoft SQL Server\XX\COM klasöründe yazma izinleri olmalıdır.



Not: Dağıtım ajanı üzerinde -subscriptionstreams >= 2 kullanırken, kilitlenmeleri algılamak için abonelere Sunucu Durumunu Görüntüle iznini de vermelisiniz.
İtme aboneliği için Birleştirme Aracısı Aracının çalıştırıldığı Windows hesabı, Yayımcı ve Dağıtımcı ile bağlantı kurarken kullanılır. Bu hesabın şu şekilde olması gerekir:

-En azından dağıtım veritabanındaki db_owner sabit veritabanı rolünün üyesi olun.

-PAL üyesi olun.

-Yayın veritabanında okuma/yazma izinlerine sahip bir kullanıcıyla ilişkilendirilmiş bir oturum açma bilgisi sağlanmalıdır.

-Anlık görüntü paylaşımında okuma izinlerine sahip olun.



Aboneye bağlanmak için kullanılan hesabın en azından abonelik veritabanındaki db_owner sabit veritabanı rolünün üyesi olması gerektiğini unutmayın.
Çekme aboneliği için Birleştirme Aracısı Aracının çalıştırıldığı Windows hesabı, Abone ile bağlantı kurarken kullanılır. Bu hesap en azından abonelik veritabanındaki db_owner sabit veritabanı rolünün bir üyesi olmalıdır. Yayımcı ve Dağıtımcıya bağlanmak için kullanılan hesabın:

-PAL üyesi olun.

-Yayın veritabanında okuma/yazma izinlerine sahip bir kullanıcıyla ilişkilendirilmiş bir oturum açma bilgisine sahip olun.

-Dağıtım veritabanındaki bir kullanıcıyla ilişkilendirilmiş bir oturum açma bilgisi olun. Kullanıcı Konuk kullanıcı olabilir.

-Anlık görüntü paylaşımında okuma izinlerine sahip olun.
Kuyruk Okuyucu Ajanı Aracın çalıştığı Windows hesabı, Dağıtıcı ile bağlantı kurmak için kullanılır. Bu hesap en azından dağıtım veritabanındaki db_owner sabit veritabanı rolünün bir üyesi olmalıdır.

Publisher'a bağlanmak için kullanılan hesabın en azından yayın veritabanındaki db_owner sabit veritabanı rolünün üyesi olması gerekir.

Aboneye bağlanmak için kullanılan hesabın en azından abonelik veritabanındaki db_owner sabit veritabanı rolünün üyesi olması gerekir.

SQL Server Aracısı Altında Aracı Güvenliği

ÇOĞALTMAyı SQL Server Management Studio, Transact-SQL yordamları veya RMO kullanarak yapılandırdığınızda, her aracı için varsayılan olarak bir SQL Server Aracısı işi oluşturulur. Aracılar daha sonra sürekli, zamanlamaya göre veya isteğe bağlı olarak çalışıp çalışmadıklarına bakılmaksızın bir iş adımı bağlamında çalışır. Bu işleri SQL Server Management Studio'daki İşler klasörünün altında görüntüleyebilirsiniz. Aşağıdaki tabloda iş adları listelenir.

Temsilci İş adı
Anlık Görüntü Aracısı <Yayımcı-YayınVeritabanı-Yayın-TamSayı><><><>
Birleştirme yayını bölümü için Anlık Görüntü Aracısı <
Kayıt Okuyucu Aracısı <Publisher-PublicationDatabase-tamsayı><><>
Çekme abonelikleri için Birleştirme Aracısı <Yayımcı-YayınVeritabanı-Yayın-Abone-AbonelikVeritabanı-tam sayı><><><><><>
Anında iletme abonelikleri için Birleştirme Aracısı <Publisher-PublicationDatabase-Publication-Subscriber-integer><><><><>
Anında iletme abonelikleri için Dağıtım Aracısı <Publisher-PublicationDatabase-Publication-Subscriber-integer><><><><>
Çekme abonelikleri için Dağıtım Aracısı <Publisher-PublicationDatabase-Publication-Subscriber-SubscriptionDatabase-GUID><><><><><>
SQL Server olmayan Abonelere gönderme abonelikleri için Dağıtım Aracısı <Publisher-PublicationDatabase-Publication-Subscriber-integer><><><><>
Kuyruk Okuyucu Ajanı [<Dağıtımcı>].<tam sayı>

*Oracle yayınlarının gönderme abonelikleri için, iş adı <Publisher>-<Publisher> olarak <Publisher>-<PublicationDatabase> yerine kullanılır.

Oracle yayınlarına yönelik çekme abonelikleri için iş adı, Publisher-DistributionDatabase yerine Publisher-PublicationDatabase şeklindedir.

Çoğaltmayı yapılandırırken, aracıların altında çalıştırılması gereken hesapları belirtirsiniz. Ancak, tüm iş adımları bir ara sunucu güvenlik bağlamı altında çalıştırılır; bu nedenle çoğaltma, belirttiğiniz aracı hesapları için dahili olarak aşağıdaki eşlemeleri gerçekleştirir:

  • Hesap ilk olarak Transact-SQL CREATE CREDENTIAL deyimi kullanılarak bir kimlik bilgilerine eşlenir. SQL Server Aracısı proxy'leri, Windows kullanıcı hesapları hakkındaki bilgileri depolamak için kimlik bilgilerini kullanır.

  • sp_add_proxy saklı yordamı çağrılır ve kimlik bilgisi bir proxy oluşturmak için kullanılır.

Uyarı

Bu bilgiler, aracıları uygun güvenlik bağlamıyla çalıştırmaya nelerin dahil olduğunu anlamanıza yardımcı olmak için sağlanır. Oluşturulan kimlik bilgileri veya proxy'lerle doğrudan etkileşim kurmanız gerekmez.