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 엔드포인트를 비활성화하세요.