SaltStack - 訪問控制系統



訪問控制系統為使用者或組提供執行任務的許可權選項。Salt 訪問控制系統用於配置對非管理員控制介面的訪問。您可以將此過程應用於所有系統。此控制幫助非管理員使用者執行 Salt 命令。

Salt 介面有以下三種類型:

  • 釋出者 ACL 系統
  • 外部認證系統
  • 對等系統

讓我們詳細瞭解每個介面。

釋出者 ACL 系統

釋出者 ACL 系統允許除 root 使用者以外的使用者從主伺服器上執行 Minion 的 Salt 命令。釋出者 ACL 系統透過**publisher_acl**配置選項在主伺服器配置檔案中配置。其定義如下:

publisher_acl:
   user1:
      - .*

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

這裡:

  • **user1** 允許執行任何操作。

  • **user2** 允許使用**test**和**pkg**,但僅限於“web*” Minion。

外部認證系統

**外部認證系統**用於透過外部授權系統(如**PAM、LDAP**等)提供執行特定 Minion 上 Salt 命令的訪問許可權。此配置檔案在主檔案中定義,如下所示。

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

這裡:

  • **user1** 允許在與**web***目標匹配的 Minion 上執行**test**和**network模組**中的函式。

  • **user2** 允許執行所有函式。

在命令中啟用外部認證系統

Salt 伺服器提供一個“–a”選項來啟用外部身份驗證。

salt -a pam web\* test.ping

這裡,**-a pam**選項用於啟用 PAM 外部身份驗證。每次執行命令時,Salt 伺服器都會要求提供身份驗證詳細資訊。為了限制 Salt 伺服器僅在第一次詢問身份驗證詳細資訊,可以使用 T 選項。此**-T 選項**會快取接下來的 12 小時(預設設定)的身份驗證詳細資訊,並用其來驗證使用者身份。

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

對等系統

Salt Minion 可以使用對等介面傳遞命令。對等介面透過主配置檔案進行配置,允許 Minion 使用**peer**配置部分從主伺服器傳送命令,或允許 Minion 使用主伺服器上的**peer_run**配置執行執行程式。

讓我們詳細瞭解這兩種配置。

對等配置

在主檔案中定義的簡單配置如下:

peer:
   .*:
      - .*

這裡,它為所有 Minion 啟用了通訊,但這隻推薦用於非常安全的環境。

要將 Minion 分配給特定的 ID,需要按如下所示定義配置:peer:

.*domain.com:
   - test.*

peer_run 配置

此配置允許 Minion 使用主檔案上的 peer_run 選項從主伺服器執行執行程式。以下示例允許訪問所有 Minion 和所有執行程式。

peer_run:
   .*:
      - .*

要將 Minion 分配給特定 ID,需要按如下所示定義配置:

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

如何執行命令

要在所有 Minion 上執行**test.ping**,請使用**salt-call**命令以及**publish.publish**模組。

salt-call publish.publish \* test.ping

要執行**runner**,請使用**salt-call**命令以及**publish.runner**模組。

salt-call publish.runner manage.up
廣告
© . All rights reserved.