SaltStack - Erişim Kontrol Sistemi

Bir Erişim Kontrol Sistemi, bir grubun izinlere sahip bir görevi yürütmesi için bir kullanıcıya seçenekler sağlar. Yönetici olmayan kontrol arayüzlerine erişimi yapılandırmak için bir Salt erişim kontrol sistemi kullanılır. Bu işlemi tüm sistemlere uygulayabilirsiniz. Bu kontrol, yönetici olmayan kullanıcıların Salt komutlarını yürütmesine yardımcı olur.

Tuz arayüzleri aşağıdaki üç türdendir -

  • Yayıncı EKL sistemi
  • Harici Yetkilendirme sistemi
  • Akran sistemi

Bu arayüzlerin her birini ayrıntılı olarak inceleyelim.

Yayıncı ACL Sistemi

Bir Publisher ACL sistemi, ana bilgisayardan minyonlar üzerinde Salt komutlarını yürütmek için kök dışındaki kullanıcılara erişim sağlar. Yayıncı EKL sistemi, ana yapılandırma dosyasında şu şekilde yapılandırılır:publisher_aclyapılandırma seçeneği. Aşağıdaki gibi tanımlanır -

publisher_acl:
   user1:
      - .*

   user2:
      - web*:
         - test.*
         - pkg.*

Buraya,

  • user1 herhangi bir şeyi yürütmesine izin verilir.

  • user2 kullanımına izin verilir test ve pkg, ancak yalnızca "web *" kölelerinde.

Dış Kimlik Doğrulama Sistemi

external auth system harici yetkilendirme sistemi aracılığıyla belirli minyonlarda salt komutları yürütmek için erişim sağlamak için kullanılır. PAM, LDAP, vb. Bu konfigürasyon dosyası, aşağıda açıklandığı gibi ana dosyada tanımlanır.

external_auth:
   pam:
      user1:
         - 'web*':
            - test.*
            - network.*
      user2:
         - .*

Buraya,

  • user1 içindeki işlevleri yürütmesine izin verilir test ve network modules eşleşen minyonlarda web* hedef.

  • user2 tüm işlevleri yürütmesine izin verilir.

Komutta Harici Kimlik Doğrulama Sistemini etkinleştirin

Salt sunucusu, harici kimlik doğrulamayı etkinleştirmek için bir '–a' seçeneği sunar.

salt -a pam web\* test.ping

Burada -a pamseçeneği, PAM harici kimlik doğrulamasını etkinleştirmek için kullanılır. Salt Server, komutu her çalıştırdığımızda kimlik doğrulama ayrıntılarını soracaktır. Salt Server'ın kimlik doğrulama ayrıntılarını yalnızca ilk kez sormasını kısıtlamak için T seçeneğini kullanabiliriz. Bu-T option sonraki 12 saat için kimlik doğrulama ayrıntılarını önbelleğe alır (varsayılan ayar) ve bunu kullanıcıların kimliğini doğrulamak için kullanır.

salt -T -a pam web\* test.ping

Eş Sistem

Salt minyonlar, eş arayüzü kullanarak komutları geçebilir. Eş arabirim, ya minyonların ana bilgisayardan komutları kullanarak komut göndermesine izin vermek için ana yapılandırma dosyası aracılığıyla yapılandırılır.peer yapılandırma bölümü veya minyonların ustadan koşucuları kullanarak yürütmesine izin vermek için peer_run yapılandırma.

Bu iki konfigürasyonu da ayrıntılı olarak anlayalım.

Eş yapılandırması

Ana dosyada tanımlanacak basit konfigürasyon aşağıdaki gibidir -

peer:
   .*:
      - .*

Burada, tüm minyonlar için iletişimi sağlar, ancak yalnızca çok güvenli ortamlar için önerilir.

Minyonları belirli kimliklere atamak için yapılandırmanın aşağıda gösterildiği gibi tanımlanması gerekir: eş -

.*domain.com:
   - test.*

peer_run Yapılandırması

Bu yapılandırma, minyonların ana dosyadaki peer_run seçeneğini kullanarak ana bilgisayardan koşucuları yürütmesine izin vermek içindir. Aşağıdaki örnek, tüm minyonlara ve tüm koşuculara erişim sağlamaktır.

peer_run:
   .*:
      - .*

Minyonları belirli bir kimliğe atamak için, yapılandırmanın aşağıda belirtildiği gibi tanımlanması gerekir -

peer_run:
   .*domain.com:
      - test.*

Komutlar Nasıl Yürütülür

Yürütmek test.ping tüm minyonlarda, salt-call ile birlikte komut publish.publish modül.

salt-call publish.publish \* test.ping

Yürütmek runnertuz çağrısı komutunu, publish.runner modül.

salt-call publish.runner manage.up