계정 수정

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

필요 권한

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

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 키 유지
company_guidX문자열회사 GUID36자 GUID. 미지정 시 기존 회사 유지
titleX문자열직함최대 20자. 미지정 시 기존 값 삭제
deptX문자열부서최대 50자. 미지정 시 기존 값 삭제
phoneX문자열내선번호최대 50자. 미지정 시 기존 값 삭제
mobileX문자열휴대번호최대 50자. 미지정 시 기존 값 삭제
localeX문자열언어en 혹은 ko. 미지정 시 세션 로케일 적용
home_menu_idX32비트 정수첫페이지 메뉴 ID미지정 시 기존 값 삭제
ticket_reposX문자열 목록티켓 분류 GUID 목록쉼표(,)로 구분. 미지정 시 기존 값 삭제
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

역할 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": "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"
}
자기 자신의 역할을 변경 시도한 경우

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"
}