계정 생성

새 계정을 생성합니다.

HTTP 요청

POST /api/sonar/users
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d login=jsmith \
     -d role_id=2 \
     -d name="John Smith" \
     -d email="john.smith@example.com" \
     -d password="PASSWORD" \
     -X POST \
     https://HOSTNAME/api/sonar/users
요청 매개변수
필수타입설명비고
loginO문자열로그인 계정 이름최대 255자
role_idO32비트 정수역할 ID1, 2, 3 중 하나. 하단 참조
nameO문자열사용자 성명최소 1자, 최대 50자
emailO문자열이메일 주소최소 1자, 최대 255자
passwordX문자열암호최소 9자, 암호 규칙 준수
api_keyX문자열API 키36자 GUID
company_guidX문자열회사 GUID36자 GUID
titleX문자열직함최대 20자
deptX문자열부서최대 50자
phoneX문자열내선번호최대 50자
mobileX문자열휴대번호최대 50자
localeX문자열언어en 혹은 ko
home_menu_idX32비트 정수첫페이지 메뉴 ID
ticket_reposX문자열 목록티켓 분류 GUID 목록여러 개의 티켓 분류 GUID는 쉼표(,)로 구분
readable_tablesX문자열 목록읽기 허용 테이블 목록여러 개의 테이블 이름은 쉼표(,)로 구분
user_group_guidsX문자열 목록계정 그룹 GUID 목록여러 개의 GUID는 쉼표(,)로 구분
trust_hostsX문자열 목록접속 허용 IP여러 개의 IP 주소는 쉼표(,)로 구분
idle_behaviorX문자열세션 유휴 동작lock 또는 logout
idle_timeoutX32비트 정수세션 유휴 기준 시간 (초)최소 60, 최대 604800. 기본값 600
password_expirationX32비트 정수암호 만료 기준 일자시스템 기본값 -1, 무제한 0, 최소 7, 최대 3650
login_lock_countX32비트 정수로그인 잠금 기준 횟수최소 0, 최대 5. 기본값 5
login_lock_intervalX32비트 정수로그인 잠금 유지 시간 (분)최소 1, 최대 100000000, 기본값 10
auth_modeX32비트 정수인증 모드모든 인증 방식 시도 0, 외부 인증 전용 1. 기본값 0
mfa_enabledX불리언MFA 활성화 여부true 또는 false
mfa_typeX문자열MFA 유형otp 또는 email
old_passwd_countX32비트 정수이전 비밀번호 재사용 제한 수최소 0

역할 ID

  • (1) 클러스터 관리자: 클러스터 설정을 포함한 모든 관리 권한 부여
  • (2) 회사 관리자: 테넌트에 한정된 관리 권한 부여
  • (3) 사용자: 대시보드, 위젯, 데이터셋, 티켓과 같은 사용자 객체 편집과 조회성 작업 권한

암호 규칙

  • 최소 9자 이상
  • 영문, 숫자, 특수문자 혼합
  • 3자 이상 연속되는 동일 문자는 허용하지 않음

정상 응답

{
  "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

오류 응답

필수 매개변수가 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "login should be not null"
}
매개변수 값의 길이가 잘못된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'login' must be shorter than or equal to 255 characters."
}
회사 식별자가 GUID 형식이 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-param-type",
  "error_msg": "company_guid should be guid type."
}
로그인 계정 이름이 중복된 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "duplicate-login"
}
이메일 형식이 잘못된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'email' parameter is not a valid email address: foo"
}
암호 인증 모드에서 암호가 누락된 경우

HTTP 상태 코드 400 응답. auth_mode를 지정하지 않았거나 0인 경우 암호를 지정해야 합니다.

{
  "error_code": "null-argument",
  "error_msg": "password should be not null"
}
암호 복잡도가 충분하지 않은 경우

HTTP 상태 코드 400 응답. 암호에 로그인 계정 이름을 포함

{
  "error_code": "invalid-argument",
  "error_msg": "password contains login name"
}

HTTP 상태 코드 400 응답. 암호가 영문자, 숫자, 특수문자의 조합으로 구성되지 않음

{
  "error_code": "invalid-argument",
  "error_msg": "password should contain digits, alphabets, and special characters"
}

HTTP 상태 코드 400 응답. 암호에 동일 문자가 3회 이상 연속됨

{
  "error_code": "invalid-argument",
  "error_msg": "password should not repeat same characters"
}
지원하지 않는 언어를 지정한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "unsupported locale: ru"
}
존재하지 않는 역할 ID를 지정한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "unknown role id: 5"
}
존재하지 않는 메뉴 ID를 지정한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "unknown menu id: 0"
}
정의되지 않은 인증 모드를 지정한 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "auth_mode should be 0 or 1. input is 2."
}
상위 권한의 계정 생성을 시도한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no permission: cannot create cluster admin by user"
}
존재하지 않거나 접근 불가 그룹을 지정한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "user group not found: 28c1251b-2f7c-4c58-95a1-fc4a1ead877e"
}