6.1. テナント作成

POST /1/_sysadm/_/tenants

テナントを作成する

Request Headers:
 
  • X-Developer-Token -- 管理者用セッショントークン(必須)
  • Content-Type -- application/json, application/yaml のいずれか
Status Codes:
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": ""
      //…
    }],
    //…
  }
}

注意事項

  • システム管理者権限が必要。
  • テナント名は必須フィールドである。
  • 必須フィールド以外のフィールド省略時は、デフォルト値を設定する。