Patch Users API
출처: 문서
본문
Patch Users API
1.0에서 도입 {: .label .label-purple }
내부 사용자를 교체하지 않고 업데이트해요. 사용자 이름을 지정하면 한 사용자의 개별 속성을 업데이트하고, 사용자 이름을 생략하면 한 번의 호출로 여러 사용자를 생성, 업데이트, 삭제할 수 있어요.
엔드포인트
PATCH /_plugins/_security/api/internalusers
PATCH /_plugins/_security/api/internalusers/{username}
경로 파라미터
사용할 수 있는 경로 파라미터는 다음 표와 같아요.
| 파라미터 | 데이터 타입 | 필수 | 설명 |
|---|---|---|---|
username |
String | 아니요 | 업데이트할 사용자의 이름이에요. 생략하면 요청 하나로 여러 사용자를 수정할 수 있어요. |
요청 본문 필드
요청 본문은 필수예요. JSON 객체의 배열이에요. 각 객체에는 다음 필드가 들어 있어요.
| 필드 | 데이터 타입 | 설명 | 필수 |
|---|---|---|---|
op |
String | 수행할 작업이에요. 유효한 값은 add, remove, replace, move, copy, test예요. |
예 |
path |
String | 수정할 경로예요. 사용자 이름을 지정하면 경로는 해당 사용자 기준의 상대 경로가 돼요(예: /backend_roles). 사용자 이름을 생략하면 경로가 사용자를 가리켜요(예: /spock). |
예 |
value |
Object | 새 값이에요. add, replace, test 작업에서는 필수예요. |
아니요 |
요청 예제
다음 요청은 kirk 사용자의 백엔드 역할을 업데이트해요:
PATCH _plugins/_security/api/internalusers/kirk
[
{
"op": "replace",
"path": "/backend_roles",
"value": [
"commander"
]
}
]
{% include copy-curl.html security=true %}
다음 요청은 spock과 worf 사용자를 추가하고 riker 사용자를 제거해요:
PATCH _plugins/_security/api/internalusers
[
{
"op": "add",
"path": "/spock",
"value": {
"password": "Str0ngPassw0rd_7741!",
"backend_roles": [
"science"
]
}
},
{
"op": "add",
"path": "/worf",
"value": {
"password": "Str0ngPassw0rd_3390!",
"backend_roles": [
"security"
]
}
},
{
"op": "remove",
"path": "/riker"
}
]
{% include copy-curl.html security=true %}
응답 예제
사용자 한 명을 업데이트하면 응답에 사용자 이름이 담겨요:
{
"status": "OK",
"message": "'kirk' updated."
}
여러 사용자를 업데이트하면 응답은 다음과 같아요:
{
"status": "OK",
"message": "Resource updated."
}