本記事では、obshellを使用してテナントにユーザーを作成する方法について説明します。
説明
このAPIはobshell V4.2.6以降でサポートされています。
呼び出しの説明
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を実施します。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
POST /api/v1/tenant/{name}/user
リクエストパラメータ
| パラメータ | タイプ | 必須 | サンプル値 | 説明 |
|---|---|---|---|---|
| user_name | string | はい | proxyro | 作成するユーザー名。 |
| password | string | はい | ***** | 作成するユーザーのパスワード。 |
| root_password | string | いいえ | ***** | テナントのrootユーザーのパスワード。システムテナントユーザーを作成する場合、このパラメータは不要です。 |
| global_privileges | []string | いいえ | ["SELECT", "DELETE"] | すべてのデータベースに対する権限を指定します。 |
| db_privileges | []DbPrivilegeParam | いいえ | { "db_name": "oceanbase", "privileges": [ "DROP" ] } |
特定のデータベースに対する権限を指定します。詳細については、以下のDbPrivilegeParam情報のデータ構造を参照してください。 |
| host_name | string | いいえ | % | アクセスアローリストを設定します。 |
DbPrivilegeParam情報のデータ構造は以下のとおりです:
| パラメータ | タイプ | 必須 | サンプル値 | 説明 |
|---|---|---|---|---|
| db_name | string | はい | oceanbase | 指定されたデータベース名。 |
| privileges | []string | はい | ["SELECT","DELETE"] | ユーザーが持つことができる権限。 |
実行結果
| パラメータ | タイプ | 説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTP Status規格に準拠するエンコードです。 |
| traceId | string | リクエストのトレースIDです。 |
| error | ApiError | リクエストによって生成されたエラーで、以下の情報が含まれます:
|
例
リクエスト例
POST 10.10.10.1:2886/api/v1/tenant/sys/user
{
"user_name": "proxyro",
"password": "*****",
"global_privileges": [
"CREATE",
"DELETE"
],
"db_privileges": [
{
"db_name": "oceanbase",
"privileges": [
"DROP"
]
}
],
"host_name": "%"
}
実行結果例
{
"successful": true,
"timestamp": "2025-03-26T10:30:06.045600725+08:00",
"duration": 76,
"status": 200,
"traceId": "cdb313dd77a2f56a"
}
関連ドキュメント
コマンドラインからAPIを呼び出す以外に、SDKメソッドを使用してAPIを呼び出すこともできます。obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、ユーザーの作成を参照してください。