SaltStack - system kontroli dostępu

System kontroli dostępu zapewnia grupie opcje wykonywania zadania z uprawnieniami. System kontroli dostępu Salt służy do konfigurowania dostępu do nieadministracyjnych interfejsów kontrolnych. Możesz zastosować ten proces do wszystkich systemów. Ta kontrolka pomaga użytkownikom nieadministracyjnym w wykonywaniu poleceń Salt.

Interfejsy solne są trzech następujących typów -

  • System ACL wydawcy
  • Zewnętrzny system autoryzacji
  • System równorzędny

Rozumiemy, że szczegółowo omówimy każdy z tych interfejsów.

System ACL wydawcy

System ACL wydawcy umożliwia dostęp użytkownikom innym niż root do wykonywania poleceń Salt na sługach od mistrza. System ACL wydawcy jest konfigurowany w głównym pliku konfiguracyjnym za pośrednictwempublisher_aclopcja konfiguracji. Jest zdefiniowany w następujący sposób -

publisher_acl:
   user1:
      - .*

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

Tutaj,

  • user1 może wykonywać wszystko.

  • user2 może używać test i pkg, ale tylko w stworach „web *”.

Zewnętrzny system uwierzytelniania

Plik external auth system służy do zapewniania dostępu do wykonywania poleceń soli na określonych stworach za pośrednictwem zewnętrznego systemu autoryzacji, takiego jak PAM, LDAPitd. Ten plik konfiguracyjny jest zdefiniowany w pliku głównym, jak opisano poniżej.

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

Tutaj,

  • user1 może wykonywać funkcje w test i network modules na sługusach pasujących do web* cel.

  • user2 może wykonywać wszystkie funkcje.

Włącz zewnętrzny system uwierzytelniania w poleceniu

Serwer Salt udostępnia opcję „–a”, która umożliwia uwierzytelnianie zewnętrzne.

salt -a pam web\* test.ping

Tutaj -a pamopcja służy do włączania zewnętrznego uwierzytelniania PAM. Salt Server zapyta o szczegóły uwierzytelnienia za każdym razem, gdy wykonamy polecenie. Aby uniemożliwić serwerowi Salt Server pytanie o szczegóły uwierzytelniania tylko po raz pierwszy, możemy użyć opcji T. To-T option Buforuje szczegóły uwierzytelniania przez następne 12 godzin (ustawienie domyślne) i używa ich do uwierzytelniania użytkowników.

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

System równorzędny

Sługusy mogą wydawać polecenia za pomocą interfejsu rówieśników. Interfejs równorzędny jest konfigurowany za pomocą głównego pliku konfiguracyjnego, aby umożliwić sługom wysyłanie poleceń od mistrza za pomocąpeer konfiguracji lub aby umożliwić sługom wykonywanie runnerów z poziomu głównego przy użyciu peer_run konfiguracja.

Rozumiemy szczegółowo obie te konfiguracje.

Konfiguracja równorzędna

Prosta konfiguracja do zdefiniowania w pliku głównym jest następująca -

peer:
   .*:
      - .*

Tutaj umożliwia komunikację wszystkim stworom, ale jest zalecane tylko w bardzo bezpiecznych środowiskach.

Aby przypisać stronników do konkretnych identyfikatorów, konfigurację należy zdefiniować, jak pokazano poniżej: peer -

.*domain.com:
   - test.*

Konfiguracja peer_run

Ta konfiguracja umożliwia sługom wykonywanie programów uruchamiających z poziomu głównego za pomocą opcji peer_run w pliku głównym. Poniższy przykład przedstawia dostęp do wszystkich stronników i wszystkich biegaczy.

peer_run:
   .*:
      - .*

Aby przypisać stronników do konkretnego identyfikatora, konfigurację należy zdefiniować w sposób podany poniżej -

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

Jak wykonywać polecenia

Wykonać test.ping na wszystkich stworach użyj salt-call polecenie wraz z publish.publish moduł.

salt-call publish.publish \* test.ping

Wykonać runner, użyj polecenia salt-call wraz z publish.runner moduł.

salt-call publish.runner manage.up