Saltstack-access-control-system

提供:Dev Guides
移動先:案内検索

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

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

ソルトインターフェイスは、次の3つのタイプです-

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

これらの各インターフェースの詳細を理解してみましょう。

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

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

publisher_acl:
   user1:
      - .*

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

ここに、

  • user1 は何でも実行できます。
  • user2test および pkg を使用できますが、「web *」ミニオンでのみ使用できます。

外部認証システム

*external auth system* は、 *PAM、LDAP* などの外部認証システムを介して特定のミニオンでsaltコマンドを実行するアクセスを提供するために使用されます この構成ファイルは、以下で説明するようにマスターファイルで定義されます。
external_auth:
   pam:
      user1:
         - 'web*':
            - test.*
            - network.*
      user2:
         - .*

ここに、

  • user1 は、 web ターゲットに一致するミニオンで *test および* networkモジュール*の関数を実行できます。
  • user2 はすべての機能を実行できます。

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

ソルトサーバーは、外部認証を有効にするオプション「–a」を提供します。

salt -a pam web\* test.ping

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

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

ピアシステム

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

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

ピア構成

マスターファイルで定義される単純な構成は以下のとおりです-

peer:
   .*:
      - .*

ここでは、すべてのミニオンの通信を可能にしますが、非常に安全な環境にのみお勧めします。

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

.*domain.com:
   - test.*

peer_runの構成

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

peer_run:
   .*:
      - .*

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

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

コマンドの実行方法

すべての手先で test.ping を実行するには、 publish.publish モジュールとともに salt-call コマンドを使用します。

salt-call publish.publish \* test.ping
*runner* を実行するには、 *publish.runner* モジュールとともにsalt-callコマンドを使用します。
salt-call publish.runner manage.up