Aracılığıyla paylaş


Öğretici – Active Directory bağlayıcısı sistem tarafından yönetilen anahtar sekmesi modunda dağıtma

Bu makalede, Active Directory bağlayıcısını sistem tarafından yönetilen anahtar sekmesi modunda dağıtma açıklanmaktadır. Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği Active Directory kimlik doğrulamasını etkinleştirmek için önemli bir bileşendir.

Sistem tarafından yönetilen anahtar sekmesi modunda Active Directory bağlayıcısı

Sistem Tarafından Yönetilen Anahtar sekmesi modunda, Active Directory bağlayıcısı yönetilen örnekten gelen DNS isteklerini iki yukarı akış DNS hizmetinden herhangi birine proxy'leyen bir DNS proxy hizmeti dağıtır:

  • Active Directory DNS Sunucuları
  • Kubernetes DNS Sunucuları

AD Bağlan or, DNS proxy hizmetine ek olarak AD hesaplarının, Hizmet Asıl Adlarının (SPN) ve anahtar sekmelerinin otomatik olarak oluşturulması ve yönetilmesi için AD etki alanıyla iletişimi kolaylaştıran bir Güvenlik Destek Hizmeti de dağıtır.

Aşağıdaki diyagramda, sistem tarafından yönetilen anahtar sekmesi modunda AD Bağlan or ve DNS Proxy hizmeti işlevselliği gösterilmektedir:

Active Directory connector

Önkoşullar

Devam etmeden önce şunlarınız olmalıdır:

  • Kubernetes'in desteklenen bir sürümünde dağıtılan Veri Denetleyicisi örneği
  • Active Directory etki alanı
  • Active Directory etki alanında önceden oluşturulmuş bir kuruluş birimi (OU)
  • Active Directory etki alanı hizmet hesabı

AD etki alanı hizmet hesabı, active directory'de sağlanan kuruluş birimi (OU) içinde kullanıcı hesaplarını otomatik olarak oluşturmak ve silmek için yeterli izinlere sahip olmalıdır.

Kuruluş Birimi (OU) kapsamındaki aşağıdaki izinleri etki alanı hizmet hesabına verin:

  • Tüm özellikleri okuma
  • Tüm özellikleri yazma
  • Kullanıcı nesneleri oluşturma
  • Kullanıcı nesnelerini silme
  • Descendant User nesneleri için Parolayı Sıfırla

OU ve AD hesabını ayarlama hakkında ayrıntılı bilgi için Azure Arc özellikli veri hizmetlerini Sistem tarafından yönetilen anahtar sekmesiyle Active Directory kimlik doğrulamasında dağıtma - önkoşullar bölümüne gidin

Active Directory bağlayıcısını sistem tarafından yönetilen anahtar sekmesi modunda dağıtmak için giriş

Active Directory bağlayıcısının bir örneğini dağıtmak için Active Directory etki alanı ortamından çeşitli girişler gerekir.

Bu girişler AD bağlayıcı örneği için bir yaml belirtiminde sağlanır.

AD bağlayıcısının bir örneğini dağıtmadan önce AD etki alanıyla ilgili aşağıdaki meta veriler kullanılabilir olmalıdır:

  • Active Directory etki alanının adı
  • Etki alanı denetleyicilerinin listesi (tam etki alanı adları)
  • DNS sunucusu IP adreslerinin listesi

Aşağıdaki giriş alanları, Active Directory bağlayıcı belirtimindeki kullanıcılara sunulur:

  • Gerekli

    • spec.activeDirectory.realm Active Directory etki alanının büyük harfle adı. Bu, bu AD Bağlan veya örneğinin ilişkilendirileceği AD etki alanıdır.

    • spec.activeDirectory.domainControllers.primaryDomainController.hostname AD etki alanındaki Birincil Etki Alanı Denetleyicisi'nin (PDC) tam etki alanı adı.

      Etki alanındaki hangi etki alanı denetleyicisinin birincil olduğunu bilmiyorsanız, BU komutu AD etki alanına katılmış herhangi bir Windows makinesinde çalıştırarak öğrenebilirsiniz: netdom query fsmo.

    • spec.activeDirectory.dns.nameserverIpAddresses Active Directory DNS sunucusu IP adreslerinin listesi. DNS proxy hizmeti, sağlanan etki alanı adındaki DNS sorgularını bu sunuculara iletir.

  • İsteğe bağlı

    • spec.activeDirectory.serviceAccountProvisioningBu, AD bağlayıcısı dağıtım modunuzu müşteri tarafından yönetilen anahtar sekmesi veya automatic sistem tarafından yönetilen anahtar sekmesi için olduğu gibi manual olası değerlerle tanımlayan isteğe bağlı bir alandır. Bu alan ayarlanmadığında, varsayılan değer olarak manualayarlanır. (sistem tarafından yönetilen anahtar sekmesi) olarak ayarlandığında automatic , sistem bu AD Bağlan ile ilişkili SQL Yönetilen Örneği için otomatik olarak AD hesapları ve Hizmet Asıl Adları (SPN) oluşturur ve bunlar için anahtar sekmesi dosyaları oluşturur. (müşteri tarafından yönetilen anahtar sekmesi) olarak ayarlandığında manual , sistem AD hesabının ve anahtar sekmesinin otomatik olarak oluşturulmasını sağlamaz. Kullanıcının bir anahtar sekmesi dosyası sağlaması beklenir.

    • spec.activeDirectory.ouDistinguishedName Bu isteğe bağlı bir alandır. değeri serviceAccountProvisioning olarak ayarlandığında automatickoşullu olarak zorunlu hale gelse de. Bu alan, AD Bağlan or'ı dağıtmadan önce kullanıcıların Active Directory etki alanında oluşturması gereken Kuruluş Biriminin (OU) Ayırt Edici Adını (DN) kabul eder. SQL Yönetilen Örneği için sistem tarafından oluşturulan AD hesaplarını Active Directory etki alanında depolamak için kullanılır. Değerin örneği şöyle görünür: OU=arcou,DC=contoso,DC=local.

    • spec.activeDirectory.domainServiceAccountSecret Bu isteğe bağlı bir alandır. değeri serviceAccountProvisioning olarak ayarlandığında automatickoşullu olarak zorunlu hale gelir. Bu alan, AD Bağlan or dağıtımından önce oluşturulan Etki Alanı Hizmet Hesabının kullanıcı adını ve parolasını içeren Kubernetes gizli dizisinin adını kabul eder. Sistem bu hesabı OU'da başka AD hesapları oluşturmak ve bu AD hesaplarında eylemler gerçekleştirmek için kullanır.

    • spec.activeDirectory.netbiosDomainName Active Directory etki alanının NetBIOS adı. Bu, Active Directory etki alanınızın kısa etki alanı adıdır (Windows 2000 öncesi adı). Bu genellikle AD etki alanındaki hesapları niteleme amacıyla kullanılır. Örneğin, etki alanındaki hesaplar CONTOSO\admin olarak adlandırılıyorsa, CONTOSO NETBIOS etki alanı adıdır.

      Bu alan isteğe bağlıdır. Sağlanmadığında, değeri alanın ilk etiketine varsayılan olarak eklenir spec.activeDirectory.realm .

      Çoğu etki alanı ortamlarında bu varsayılan değere ayarlanır, ancak bazı etki alanı ortamlarının varsayılan olmayan bir değeri olabilir. Bu alanı yalnızca etki alanınızın NetBIOS adı tam adının ilk etiketiyle eşleşmediğinde kullanmanız gerekir.

    • spec.activeDirectory.domainControllers.secondaryDomainControllers[*].hostname AD etki alanındaki ikincil etki alanı denetleyicilerinin tam etki alanı adlarının listesi.

      Etki alanınıza birden çok etki alanı denetleyicisi hizmet veriyorsa, bu listede tam etki alanı adlarından bazılarını sağlamak iyi bir uygulamadır. Bu, Kerberos işlemleri için yüksek kullanılabilirlik sağlar.

      Bu alan isteğe bağlıdır ve gerekli değildir. Sistem, bir değer sağlanmadığında ikincil etki alanı denetleyicilerini otomatik olarak algılar.

    • spec.activeDirectory.dns.domainName DNS aramalarının Active Directory DNS sunucularına iletilmesi gereken DNS etki alanı adı.

      Bu etki alanına veya alt etki alanlarına ait herhangi bir ad için DNS araması Active Directory'ye iletilir.

      Bu alan isteğe bağlıdır. Sağlanmadığında, varsayılan olarak küçük harfe dönüştürülmesi için spec.activeDirectory.realm sağlanan değeri kullanır.

    • spec.activeDirectory.dns.replicas DNS proxy hizmeti için çoğaltma sayısı. Bu alan isteğe bağlıdır ve sağlanmadığında varsayılan olarak 1'dir.

    • spec.activeDirectory.dns.preferK8sDnsForPtrLookups IP adresi aramaları için AD DNS sunucusu yanıtı yerine Kubernetes DNS sunucusu yanıtının tercih edilip edilmeyeceğini gösteren bayrak.

      DNS proxy hizmeti, IP adresi aramaları için tercih edilen DNS sunucularından oluşan yukarı akış grubunu belirlemek için bu alana dayanır.

      Bu alan isteğe bağlıdır. Sağlanmadığında varsayılan olarak true IP adreslerinin DNS aramaları kubernetes DNS sunucularına iletilir. Kubernetes DNS sunucuları aramayı yanıtlamazsa sorgu AD DNS sunucularına iletilir. olarak falseayarlandığında, bu DNS aramaları önce AD DNS sunucularına iletilir ve hata durumunda Kubernetes'e geri döner.

Active Directory bağlayıcısı sistem tarafından yönetilen anahtar sekmesi modunda dağıtma

AD bağlayıcısı dağıtmak için adlı active-directory-connector.yamlbir YAML belirtim dosyası oluşturun.

Aşağıda, ad etki alanı kullanan sistem tarafından yönetilen anahtar sekmesi AD bağlayıcısının bir örneği verilmiştir CONTOSO.LOCAL. Değerleri AD etki alanınızın değerleriyle değiştirdiğinden emin olun. , adarc-dsa-secret AD dağıtımından önce oluşturulan AD etki alanı hizmet hesabını içerir.

Dekont

Sağlanan etki alanı hizmeti AD hesabının parolasının özel karakterler içermediğinden ! emin olun.

apiVersion: v1 
kind: Secret 
type: Opaque 
metadata: 
  name: adarc-dsa-secret
  namespace: <namespace>
data: 
  password: <your base64 encoded password>
  username: <your base64 encoded username>
---
apiVersion: arcdata.microsoft.com/v1beta2
kind: ActiveDirectoryConnector
metadata:
  name: adarc
  namespace: <namespace>
spec:
  activeDirectory:
    realm: CONTOSO.LOCAL
    serviceAccountProvisioning: automatic
    ouDistinguishedName: "OU=arcou,DC=contoso,DC=local"
    domainServiceAccountSecret: adarc-dsa-secret
    domainControllers:
      primaryDomainController:
        hostname: dc1.contoso.local
      secondaryDomainControllers:
      - hostname: dc2.contoso.local
      - hostname: dc3.contoso.local
  dns:
    preferK8sDnsForPtrLookups: false
    nameserverIPAddresses:
      - <DNS Server 1 IP address>
      - <DNS Server 2 IP address>

Aşağıdaki komut AD bağlayıcı örneğini dağıtır. Şu anda yalnızca kube-native dağıtım yaklaşımı desteklenmektedir.

kubectl apply –f active-directory-connector.yaml

AD bağlayıcı örneği için dağıtımı gönderdikten sonra, aşağıdaki komutu kullanarak dağıtımın durumunu de kontrol edebilirsiniz.

kubectl get adc -n <namespace>