jumpserver/apps/accounts/demos/python/README.zh-hant.md

2.1 KiB

JumpServer PAM 客戶端

此套件提供了一個 Python 客戶端,用於與 JumpServer PAM API 互動,以檢索各種資產的秘密。它簡化了發送請求和處理響應的過程。

特性

  • 在發送請求之前驗證參數。
  • 支持基於資產和帳戶的秘密檢索。
  • 通過 HTTP 簽名輕鬆集成 JumpServer PAM API。

安裝

您可以通過 pip 安裝此套件:

pip install jms_pam-0.0.1-py3-none-any.whl

需求

  • Python 3.6+
  • requests
  • httpsig

使用方法

初始化

要使用 JumpServer PAM 客戶端,通過提供所需的 endpointkey_idkey_secret 創建一個實例。

from jms_pam import JumpServerPAM, SecretRequest

client = JumpServerPAM(
    endpoint='http://127.0.0.1',
    key_id='your-key-id',
    key_secret='your-key-secret'
)

創建秘密請求

您可以通過指定資產或帳戶信息來創建一個秘密請求。

request = SecretRequest(asset='Linux', account='root')

發送請求

使用客戶端的 send 方法發送請求。

secret_obj = client.send(request)

處理響應

檢查秘密是否成功檢索,並相應地處理響應。

if secret_obj.valid:
    print('秘密: %s' % secret_obj.secret)
else:
    print('獲取秘密失敗: %s' % secret_obj.desc)

完整示例

以下是如何使用該客戶端的完整示例:

from jumpserver_pam_client import JumpServerPAM, SecretRequest

client = JumpServerPAM(
    endpoint='http://127.0.0.1',
    key_id='your-key-id',
    key_secret='your-key-secret'
)

request = SecretRequest(asset='Linux', account='root')
secret_obj = client.send(request)

if secret_obj.valid:
    print('秘密: %s' % secret_obj.secret)
else:
    print('獲取秘密失敗: %s' % secret_obj.desc)

錯誤處理

如果提供的參數不符合驗證要求,該庫將引發 RequestParamsError。這包括對有效 UUID 的檢查和參數之間的相互依賴性檢查。

貢獻

歡迎貢獻!請打開一個問題或提交拉取請求,以進行任何增強或修復錯誤。