mirror of https://github.com/jumpserver/jumpserver
97 lines
2.8 KiB
Markdown
97 lines
2.8 KiB
Markdown
# JumpServer PAM クライアント
|
|
|
|
このパッケージは、JumpServer PAM API と対話し、さまざまなアセットのシークレットを取得するための Python クライアントを提供します。リクエストを送信し、レスポンスを処理するプロセスを簡素化します。
|
|
|
|
## 特徴
|
|
|
|
- リクエストを送信する前にパラメータを検証します。
|
|
- アセットおよびアカウントベースのシークレット取得をサポートします。
|
|
- HTTP 署名を使用して JumpServer PAM API と簡単に統合できます。
|
|
|
|
## インストール
|
|
|
|
以下のコマンドを使用して、パッケージを pip でインストールできます:
|
|
|
|
```bash
|
|
pip install jms_pam-0.0.1-py3-none-any.whl
|
|
```
|
|
|
|
## 要件
|
|
|
|
- `Python 3.6+`
|
|
- `requests`
|
|
- `httpsig`
|
|
|
|
## 使用方法
|
|
|
|
### 初期化
|
|
|
|
JumpServer PAM クライアントを使用するには、必要な `endpoint`、`key_id`、および `key_secret` を提供してインスタンスを作成します。
|
|
|
|
```python
|
|
from jms_pam import JumpServerPAM, SecretRequest
|
|
|
|
client = JumpServerPAM(
|
|
endpoint='http://127.0.0.1',
|
|
key_id='your-key-id',
|
|
key_secret='your-key-secret'
|
|
)
|
|
```
|
|
|
|
### シークレットリクエストの作成
|
|
|
|
アセットまたはアカウント情報を指定して、シークレットのリクエストを作成できます。
|
|
|
|
```python
|
|
request = SecretRequest(asset='Linux', account='root')
|
|
```
|
|
|
|
### リクエストの送信
|
|
|
|
クライアントの `send` メソッドを使用してリクエストを送信します。
|
|
|
|
```python
|
|
secret_obj = client.send(request)
|
|
```
|
|
|
|
### レスポンスの処理
|
|
|
|
シークレットが正常に取得されたかどうかを確認し、レスポンスを適切に処理します。
|
|
|
|
```python
|
|
if secret_obj.valid:
|
|
print('秘密: %s' % secret_obj.secret)
|
|
else:
|
|
print('シークレットの取得に失敗しました: %s' % secret_obj.desc)
|
|
```
|
|
|
|
### 完全な例
|
|
|
|
以下は、クライアントの使用方法の完全な例です:
|
|
|
|
```python
|
|
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 の確認やパラメータ間の相互依存性のチェックが含まれます。
|
|
|
|
## 貢献
|
|
|
|
貢献を歓迎します!改善やバグ修正のために、問題を開くかプルリクエストを送信してください。
|