SaltStack-アクセス制御システム

アクセス制御システムは、グループのユーザーが権限を持つタスクを実行するためのオプションを提供します。ソルトアクセス制御システムは、非管理制御インターフェイスへのアクセスを構成するために使用されます。このプロセスは、すべてのシステムに適用できます。このコントロールは、管理者以外のユーザーがSaltコマンドを実行するのに役立ちます。

ソルトインターフェースには次の3つのタイプがあります-

  • パブリッシャーACLシステム
  • 外部認証システム
  • ピアシステム

これらの各インターフェースについて詳しく説明します。

パブリッシャーACLシステム

パブリッシャーACLシステムでは、root以外のユーザーがアクセスして、マスターからミニオンに対してSaltコマンドを実行できます。パブリッシャーACLシステムは、マスター構成ファイルでpublisher_acl構成オプション。それは次のように定義されます-

publisher_acl:
   user1:
      - .*

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

ここに、

  • user1 何でも実行できます。

  • user2 使用が許可されています test そして pkg、ただし「web *」ミニオンのみ。

外部認証システム

ザ・ external auth system のような外部認証システムを介して特定のミニオンでソルトコマンドを実行するためのアクセスを提供するために使用されます PAM, LDAP、など。この構成ファイルは、以下に説明するようにマスターファイルで定義されます。

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

ここに、

  • user1 で関数を実行することが許可されています test そして network modules 一致する手先に web* 目標。

  • user2 すべての機能を実行できます。

コマンドで外部認証システムを有効にする

Saltサーバーには、外部認証を有効にするためのオプション「–a」が用意されています。

salt -a pam web\* test.ping

ここでは、 -a pamオプションは、PAM外部認証を有効にするために使用されます。Salt Serverは、コマンドを実行するたびに認証の詳細を要求します。Salt Serverが初めて認証の詳細を尋ねるのを制限するために、Tオプションを使用できます。この-T option 次の12時間(デフォルト設定)の認証の詳細をキャッシュし、それを使用してユーザーを認証します。

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

ピアシステム

ソルトミニオンは、ピアインターフェイスを使用してコマンドを渡すことができます。ピアインターフェイスは、ミニオンがマスターからコマンドを送信できるように、マスター構成ファイルを介して構成されます。peer 構成セクション、またはミニオンがマスターからランナーを実行できるようにするには、 peer_run 構成。

これら両方の構成を詳しく理解しましょう。

ピア構成

マスターファイルで定義する簡単な設定は以下のとおりです。

peer:
   .*:
      - .*

ここでは、すべてのミニオンの通信が可能になりますが、非常に安全な環境でのみ推奨されます。

ミニオンを特定のIDに割り当てるには、次のように構成を定義する必要があります。

.*domain.com:
   - test.*

peer_run構成

この構成は、ミニオンがマスターファイルのpeer_runオプションを使用してマスターからランナーを実行できるようにするためのものです。次の例は、すべてのミニオンとすべてのランナーへのアクセスを許可することです。

peer_run:
   .*:
      - .*

ミニオンを特定のIDに割り当てるには、構成を次のように定義する必要があります。

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

コマンドの実行方法

実行するには test.ping すべてのミニオンで、 salt-call と一緒にコマンド publish.publish モジュール。

salt-call publish.publish \* test.ping

実行するには runner、salt-callコマンドを publish.runner モジュール。

salt-call publish.runner manage.up