All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):CreateTenantUser

Last Updated:Jun 26, 2026

Creates a database account under a specified tenant.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

oceanbase:CreateTenantUser

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

The ID of the OceanBase cluster.

ob317v4uif****

TenantId

string

Yes

The tenant ID.

t4pnum****

UserName

string

Yes

The name of the database account.
Certain reserved keywords such as SYS and root cannot be used.

pay_test

UserType

string

Yes

The type of the user. Valid values:

  • Normal: standard account.

  • Admin: superuser account.

  • ReadonlyAccount: read-only account. Only MySQL tenants support read-only accounts.

Normal

UserPassword

string

Yes

The password of the database account.

Note


The password must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The password must be 10 to 32 characters in length. Special characters include: !@#$%^*()_+-=.

!Aliyun4Oceanbase

Roles

string

No

The role information of the user.
For standard users, specify the account information as a JSON-formatted character string. The value is an array that contains Database (MySQL pattern) information and role information (Role). Roles include the following types:

  • Read and write permission (ReadWrite): ALL PRIVILEGES.

  • Read-only permission (ReadOnly): SELECT.

  • DDL permission (DDL): CREATE, DROP, ALTER, SHOW VIEW, CREATE VIEW.

  • DML permission: SELECT, INSERT, UPDATE, DELETE, SHOW VIEW.

  • DML permission (DML): SELECT, INSERT, UPDATE, DELETE, SHOW VIEW.

Note


  • Oracle pattern: leave this parameter empty.

  • MySQL pattern: the superuser account has ALL PRIVILEGES by default. Leave this parameter empty.

[{"Database":"oceanbase1","Role":"readwrite"},{"Database":"oceanbase2","Role":"readonly"}]

Description

string

No

The description of the database.

this is a test database

EncryptionType

string

No

The encryption method.

RAS

GlobalPermissions

string

No

The global permission information.

Encrypt,Decrypt

For a list of request endpoints, refer to API Reference > Calling Methods.

Response elements

Element

Type

Description

Example

object

The response parameters.

RequestId

string

The request ID.

EE205C00-30E4-****-****-87E3A8A2AA0C

TenantUser

object

The list of database accounts in the tenant.

UserType

string

The type of the user. Valid values:

  • Normal: standard account.

  • Admin: superuser account.

  • ReadonlyAccount: read-only account. Only MySQL tenants support read-only accounts.

Normal

Roles

array<object>

The role permission information of the account.

object

Database

string

The database name.

db_pay1

Role

string

The role assigned.

  • In Oracle mode, roles are at the schema level and can be categorized as follows:
    • ReadWrite: read-write permission, including CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SYNONYM, CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE, CREATE SESSION, EXECUTE ANY PROCEDURE, CREATE ANY OUTLINE, ALTER ANY OUTLINE, DROP ANY OUTLINE, CREATE ANY PROCEDURE, ALTER ANY PROCEDURE, DROP ANY PROCEDURE, CREATE ANY SEQUENCE, ALTER ANY SEQUENCE, DROP ANY SEQUENCE, CREATE ANY TYPE, ALTER ANY TYPE, DROP ANY TYPE, SYSKM, CREATE ANY TRIGGER, ALTER ANY TRIGGER, DROP ANY TRIGGER, CREATE PROFILE, ALTER PROFILE, DROP PROFILE;

    • ReadOnly: read-only permission, including SELECT.

  • In MySQL mode, roles are at the database level and include the following categories:
    • ReadWrite: read-write permission, including ALL PRIVILEGES;

    • ReadOnly: read-only permission, including SELECT;

    • DDL: DDL permission, including CREATE, DROP, ALTER, SHOW VIEW, CREATE VIEW;

    • DML: DML permission, including SELECT, INSERT, UPDATE, DELETE, SHOW VIEW.

Note

Oracle accounts have default read-write permissions on their own schemas, which are not listed here.

ReadOnly

UserStatus

string

The status of the database account. Valid values:

  • LOCKED: locked.

  • ONLINE: unlocked.

Note

The default status of a newly created account is ONLINE.

ONLINE

UserName

string

The name of the database account.

pay_test

GlobalPermissions

string

The global permissions.

Encrypt,Decrypt

Examples

Success response

JSON format

{
  "RequestId": "EE205C00-30E4-****-****-87E3A8A2AA0C",
  "TenantUser": {
    "UserType": "Normal",
    "Roles": [
      {
        "Database": "db_pay1",
        "Role": "ReadOnly"
      }
    ],
    "UserStatus": "ONLINE",
    "UserName": "pay_test",
    "GlobalPermissions": "Encrypt,Decrypt"
  }
}

Error codes

HTTP status code

Error code

Error message

Description

500 InternalError The request processing has failed due to some unknown error.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.