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

Distinguished name APIs

원문 보기 위키 갱신

출처: 문서

본문

Distinguished name API

Distinguished name API는 클러스터나 노드 간의 통신을 가능하게 하기 위해, 슈퍼 관리자(또는 이 API에 접근할 수 있는 충분한 권한을 가진 사용자)가 허용 목록에서 distinguished name을 추가, 조회, 업데이트 또는 삭제할 수 있게 해 줘요.

이 API로 허용 목록을 구성하기 전에 먼저 opensearch.yml에 다음 줄을 추가해야 해요:

plugins.security.nodes_dn_dynamic_config_enabled: true

{% include copy.html %}

OpenSearch는 다음과 같은 distinguished name API를 지원해요.

API 설명
Distinguished Name 생성 또는 업데이트 API 지정한 클러스터나 노드의 허용 목록에 distinguished name을 추가하거나 업데이트해요.
Distinguished Names 패치 API 한 클러스터의 distinguished name을 업데이트하거나 여러 클러스터에 걸쳐 벌크 업데이트를 수행해요.
Distinguished Names 조회 API 한 클러스터나 노드 또는 모든 클러스터와 노드에 대해 허용 목록의 distinguished name을 조회해요.
Distinguished Name 삭제 API 지정한 클러스터나 노드의 허용 목록에서 모든 distinguished name을 삭제해요.

필수 권한

Distinguished name API는 슈퍼 관리자만 사용할 수 있어요. plugins.security.restapi.roles_enabled에 나열된 역할에 매핑되어 있다고 해서 그것만으로 충분하지는 않아요. all_access 역할을 가진 사용자도 403 Forbidden을 받게 돼요. 이 API를 호출하려면 다음 방법 중 하나를 사용하세요:

  • 관리자 인증서로 인증하세요. 자세한 내용은 관리자 인증서 구성을 참고하세요.
  • 역할에 restapi:admin/nodesdn 클러스터 권한을 부여하고 opensearch.yml에서 plugins.security.restapi.admin.enabled를 true로 설정하세요. 이 권한은 독립적인 부여 권한이므로, 해당 역할이 plugins.security.restapi.roles_enabled에 나열될 필요는 없어요.

예약된 security_rest_api_full_access 역할에는 restapi:admin/nodesdn이 포함되어 있어요. restapi:admin 권한을 하나라도 포함하는 역할은 역할 API를 통해 생성하거나 수정할 수 없으므로, 이런 역할은 roles.yml에 직접 정의하고 securityadmin.sh로 적용하세요. 자세한 내용은 구성 파일에 변경 사항 적용을 참고하세요.

역할이 이 API를 사용하지 못하게 하려면, plugins.security.restapi.endpoints_disabled를 사용해 해당 역할의 NODESDN 엔드포인트를 비활성화하세요.

더 알아보기 (Learn more)