본문 바로가기
WIKI 기술 지식 베이스

Patch Role Mappings API

원문 보기 위키 갱신

출처: 문서

본문

역할 매핑 패치 API

1.0에서 도입됨 {: .label .label-purple }

역할 매핑을 교체하지 않고 업데이트해요. 역할 이름을 지정하면 한 역할 매핑의 개별 속성을 업데이트하고, 역할 이름을 생략하면 한 번의 호출로 여러 역할 매핑을 생성, 업데이트 또는 삭제할 수 있어요.

엔드포인트

PATCH /_plugins/_security/api/rolesmapping
PATCH /_plugins/_security/api/rolesmapping/{role}

경로 파라미터

사용할 수 있는 경로 파라미터는 다음 표에 정리되어 있어요.

파라미터 데이터 타입 필수 여부 설명
role String 아니요 업데이트하려는 매핑을 가진 역할의 이름이에요. 생략하면 요청이 여러 역할 매핑을 수정할 수 있어요.

요청 본문 필드

요청 본문은 필수예요. JSON 객체의 배열 형태예요. 각 객체에는 다음 필드가 들어가요.

필드 데이터 타입 설명 필수 여부
op String 수행할 작업이에요. 유효한 값은 add, remove, replace, move, copy, test예요. 예
path String 수정할 경로예요. 역할 이름을 지정하면 경로는 해당 역할의 매핑을 기준으로 한 상대 경로가 돼요(예: /users). 역할 이름을 생략하면 경로가 역할 이름을 나타내요(예: /readall). 예
value Object 새 값이에요. add, replace, test 작업에는 필수예요. 아니요

요청 예제

다음 요청은 my-role 역할에 매핑된 사용자와 백엔드 역할을 교체해요:

PATCH _plugins/_security/api/rolesmapping/my-role
[
  {
    "op": "replace", "path": "/users", "value": ["myuser"]
  },
  {
    "op": "replace", "path": "/backend_roles", "value": ["mybackendrole"]
  }
]

{% include copy-curl.html security=true %}

다음 요청은 readall 역할에 대한 매핑을 추가하고 test-role-2 역할에 대한 매핑은 제거해요:

PATCH _plugins/_security/api/rolesmapping
[
  {
    "op": "add",
    "path": "/readall",
    "value": {
      "backend_roles": [
        "reporting"
      ]
    }
  },
  {
    "op": "remove",
    "path": "/test-role-2"
  }
]

{% include copy-curl.html security=true %}

응답 예제

역할 매핑 하나를 업데이트하는 요청은 응답에 역할 이름을 담아요:

{
  "status": "OK",
  "message": "'my-role' updated."
}

벌크 요청은 변경한 역할 매핑의 이름을 응답에 담지 않아요:

{
  "status": "OK",
  "message": "Resource updated."
}

더 알아보기 (Learn more)