6.1. テナント作成¶
-
POST
/1/_sysadm/_/tenants
¶ テナントを作成する
Request Headers: - X-Developer-Token -- 管理者用セッショントークン(必須)
- Content-Type -- application/json, application/yaml のいずれか
Status Codes: - 200 OK -- 正常に作成した
- 400 Bad Request -- リクエストボディ不正
- 401 Unauthorized -- 認証エラー
- 403 Forbidden -- 権限エラー
- 409 Conflict -- 同名テナント、同一テナントIDが存在している
- 415 Unsupported Media Type -- Content-Type 不正
Response JSON Object: - tenant (object) -- 作成したテナント情報
リクエストボディ
JSONもしくはYAML形式で記述されたテナント設定を指定する。
以下に例を示す。
tenant: name: testtenant01 description: '' defaultExtfsSettingName: '' enabled: true pwPolicySetting: minLength: 8 maxLength: 100 minUpperCaseLength: 0 minLowerCaseLength: 0 minNumeralLength: 0 minSymbolLength: 0 maxLoginFailAttempts: 5 accountLockDuration: 10 corsEnabled: true corsAllowOrigins: '*' corsAllowCredentials: false sessionTokenValidPeriodInHours: 24 confirmationTokenValidPeriod: 24 deletedObjectsKeepDurationInHours: 0 authType: NORMAL mongoConnectionConfig: servers: '' username: '' sendUserConfirmationMailEnabled: false sendUserInformationMailEnabled: false rateLimitSetting: total: 0 specialBucket: - name: _ROOT ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: [] w: [] c: - 'g:authenticated' u: [] d: [] - name: _USERS ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: - 'g:authenticated' w: [] c: - 'g:anonymous' u: [] d: [] - name: _GROUPS ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: - 'g:authenticated' w: [] c: - 'g:authenticated' u: [] d: []
以下に設定可能なプロパティを示す。
プロパティ 名称 デフォルト値 レスポンス _id テナントID サーバ側で採番される 表示 name テナント名 必須 表示 description 説明文 空 表示 defaultExtfsSettingName デフォルト外部ストレージ設定名 空 表示 enabled テナント有効フラグ true 表示 pwPolicySetting パスワードポリシー 表示 ~.minLength パスワード最小文字数 8 表示 ~.maxLength パスワード最大文字数 100 表示 ~.minUpperCaseLength パスワードに含める大文字の最小文字数 0 表示 ~.minLowerCaseLength パスワードに含める数字の最小文字数 0 表示 ~.minNumeralLength パスワードに含める数字の最小文字数 0 表示 ~.minSymbolLength パスワードに含める記号の最小文字数 0 表示 maxLoginFailAttempts アカウントロックするログイン失敗回数 5 表示 accountLockDuration アカウントロック期間 10 表示 corsEnabled 有効フラグ true 表示 corsAllowOrigins 許可ドメイン "*" 表示 corsAllowCredentials CORS Access-Control-Allow-Credentials 有効フラグ false 表示 sessionTokenValidPeriodInHours セッショントークンの有効時間 24 表示 confirmationTokenValidPeriod 本人確認トークンの有効期間 24 表示 deletedObjectsKeepDurationInHours 論理削除オブジェクトの保持期間 0 表示 authType 認証方式 後述 表示 ldapSetting LDAPサーバ設定 authTypeがLDAPの場合は必須 authTypeがLDAP時のみ表示 ~.loginAttribute ログイン属性 ldapSettings指定時は必須 authTypeがLDAP時のみ表示 ~.hostName ホスト名 ldapSettings指定時は必須 authTypeがLDAP時のみ表示 ~.port ポート 0 authTypeがLDAP時のみ表示 ~.accountName アカウント 空 authTypeがLDAP時のみ表示 ~.password パスワード 空 非表示 ~.baseDn Base DN ldapSettings指定時は必須 authTypeがLDAP時のみ表示 mongoConnectionConfig MongoDB 個別接続設定 表示 ~.servers MongoDB サーバ定義 空 表示 ~.username 認証用ユーザ 空 表示 ~.password 認証用パスワード 空 非表示 sendUserConfirmationMailEnabled 本人確認メール送信フラグ false 表示 sendUserInformationMailEnabled 本人通知メール送信フラグ false 表示 rateLimitSetting レートリミット設定 表示 ~.total テナント全体のリミット値 空 表示 ~.customApi カスタムAPI毎のリミット値設定 空 空でなければ表示 specialBucket 特殊バケットの設定 後述 表示 authTypeには、以下のいずれか1つのみを指定可能とする。指定しない場合は、 デフォルト値(NORMAL)が設定される。
- NORMAL : 通常認証
- LDAP : 通常認証+LDAP認証
defaultExtfsSettingNameには、空文字(デフォルト値)または登録済み外部ストレージ設定のみ指定可能。テナント作成時はデフォルト値のみ指定可能。
specialBucketのACL設定において、指定を省略した権限については空配列が設定される。specialBucket自体未指定時は、以下が設定される。
specialBucket: - name: _ROOT ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: [] w: [] c: - 'g:authenticated' u: [] d: [] - name: _USERS ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: - 'g:authenticated' w: [] c: - 'g:anonymous' u: [] d: [] - name: _GROUPS ACL: r: - 'g:authenticated' w: [] c: [] u: [] d: [] admin: [] contentACL: r: - 'g:authenticated' w: [] c: - 'g:authenticated' u: [] d: []
レスポンスボディ
作成したテナント情報を含む JSON データが返却される。
以下に例を示す。
{ "tenant": { "_id": "5a963e1a5bd674726438b2db", "name": "testtenant01", //… "specialBucket": [{ "name": "_ROOT", "description": "" //… }], //… } }
注意事項
- システム管理者権限が必要。
- テナント名は必須フィールドである。
- 必須フィールド以外のフィールド省略時は、デフォルト値を設定する。