계정 수정

지정한 계정의 정보를 수정합니다.

필요 권한

관리자 이상의 계정으로 이용할 수 있습니다. 단, 본인 계정의 정보는 역할을 제외하고 본인이 직접 수정할 수 있습니다.

HTTP 요청

PUT /api/sonar/users/:guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d login=jsmith \
     -d role_id=2 \
     -d name="John Smith" \
     -d idle_behavior=lock \
     -d idle_timeout=600 \
     -d email="john.smith@example.com" \
     -X PUT \
     https://HOSTNAME/api/sonar/users/bfd00bb0-be99-4fd5-8380-166f544975fa
요청 매개변수
필수타입설명비고
guidO문자열계정 식별자36자
loginO문자열로그인 계정 이름최대 255자
role_idO32비트 정수역할 ID1, 2, 3 중 하나. 하단 참조
nameO문자열사용자 성명최소 1자, 최대 50자
emailO문자열이메일 주소최소 1자, 최대 255자
passwordX문자열암호최소 9자, 암호 규칙 준수. 미지정 시 기존 암호 유지
api_keyX문자열API 키36자 GUID. 미지정 시 기존 API 키 유지
titleX문자열직함최대 20자. 미지정 시 기존 값 삭제
deptX문자열부서최대 50자. 미지정 시 기존 값 삭제
phoneX문자열내선번호최대 50자. 미지정 시 기존 값 삭제
mobileX문자열휴대번호최대 50자. 미지정 시 기존 값 삭제
localeX문자열언어en, ko, ja 중 하나. 미지정 시 세션 로케일 적용
home_menu_idX32비트 정수첫페이지 메뉴 ID미지정 시 기존 값 삭제
readable_tablesX문자열 목록읽기 허용 테이블 이름 목록쉼표(,)로 구분. 미지정 시 기존 값 유지
user_group_guidsX문자열 목록계정 그룹 식별자 목록쉼표(,)로 구분. 미지정 시 기존 값 삭제
trust_hostsX문자열 목록접속 허용 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 또는 MAIL(대문자). mfa_enabled가 true이면 필수. MAIL은 SMTP 설정 필요
old_passwd_countX32비트 정수이전 비밀번호 재사용 제한 수최소 0. 미지정 시 기존 값 유지
max_concurrent_queriesX32비트 정수동시 쿼리 검색 수미지정 시 무제한
max_query_row_limitX32비트 정수최대 결과 건수10000, 100000, 1000000 중 하나. 미지정 시 무제한

역할 ID

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

암호 규칙

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

정상 응답

{}

오류 응답

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

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": "guid should be guid type."
}
대상 계정이 존재하지 않는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "user not found: bfd00bb0-be99-4fd5-8380-166f544975fa"
}
로그인 계정 이름이 중복된 경우

HTTP 상태 코드 500 응답

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

HTTP 상태 코드 400 응답

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

HTTP 상태 코드 500 응답. 암호 인증 모드(auth_mode 0)로 설정하면서 암호가 지정되지 않은 경우 발생합니다.

{
  "error_code": "illegal-state",
  "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 include: alphabet, digit, special"
}

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

{
  "error_code": "invalid-argument",
  "error_msg": "password should not repeat same 3 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"
}
자기 자신의 역할을 변경 시도한 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "cannot update role by yourself."
}
존재하지 않거나 접근 불가 그룹을 지정한 경우

HTTP 상태 코드 500 응답

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