Security configuration version APIs
출처: 문서
본문
보안 구성 버전 API
Introduced 3.3 {: .label .label-purple }
이 기능은 실험적 기능이에요. 프로덕션 환경에서 사용하는 것은 권장하지 않아요. 기능 진행 상황에 대한 업데이트를 받거나 피드백을 남기고 싶다면 OpenSearch 포럼에서 토론에 참여해 주세요. {: .warning}
보안 구성 버전 API는 Security 플러그인 구성의 기록을 추적하고 이전 버전을 복원해요. 이 API를 사용하면 구성이 시간에 따라 어떻게 변경되었는지 검토하고, 의도하지 않은 변경 후 클러스터를 알려진 상태로 되돌릴 수 있어요.
OpenSearch는 다음과 같은 보안 구성 버전 API를 지원해요.
| API | 설명 |
|---|---|
| Get Security Configuration Versions API | 보안 구성 버전 기록 또는 ID로 특정 버전을 검색해요. |
| Roll Back Security Configuration API | 보안 구성의 이전 버전을 복원해요. |
버전 관리
OpenSearch는 보안 구성 변경이 가장 최근에 저장된 버전과 다를 때 버전을 생성해요. 동일한 변경 사항은 버전을 생성하지 않으므로 기록에는 의미 있는 항목만 포함돼요.
각 버전에는 다음 정보가 포함돼요.
v1또는v2와 같은 버전 ID- 버전이 생성된 시점의 전체 보안 구성 스냅샷
- 버전이 생성된 시간
- OpenSearch가 변경을 사용자에게 귀속시킬 수 있는 경우, 변경을 수행한 사용자
롤백 자체는 구성 변경이므로 새 버전을 생성해요.
버전 관리 활성화
버전 관리는 기본적으로 비활성화되어 있어요. 활성화하려면 opensearch.yml에 다음 설정을 추가하세요:
plugins.security.configurations_versions.enabled: true
{% include copy.html %}
보존할 버전 수를 변경하려면 opensearch.yml에 다음 설정을 추가하세요:
plugins.security.config_version.retention_count: 10
{% include copy.html %}
기본값은 10이에요. 클러스터가 보존 한도에 도달하면 OpenSearch는 가장 오래된 버전을 제거하여 새 버전을 위한 공간을 확보해요.
이 설정을 적용하려면 클러스터를 다시 시작하세요. 자세한 내용은 실험적 기능 플래그를 참조하세요.
필요한 권한
이 API는 다른 모든 Security API와 동일한 액세스 제어를 사용해요. 따라서 호출하는 사용자는 plugins.security.restapi.roles_enabled에 나열된 역할에 매핑되어야 해요. 해당 역할이 없는 사용자는 다음 권한 중 하나를 보유하지 않는 한 403 Forbidden을 받게 돼요. 자세한 내용은 API 액세스 제어를 참조하세요.
두 작업을 별도로 제어하려면 REST API 관리자 권한을 활성화하고 역할에 다음 클러스터 권한을 부여하세요. 각 권한은 독립적인 부여이므로, 해당 권한을 보유한 역할은 plugins.security.restapi.roles_enabled에 나열될 필요가 없어요. security_rest_api_full_access를 포함한 기본 제공 역할에는 이러한 권한이 포함되어 있지 않아요.
| 작업 | 필요한 권한 |
|---|---|
| 버전 가져오기 | restapi:admin/view_version |
| 구성 롤백 | restapi:admin/rollback_version |
역할이 두 작업 중 하나를 사용하지 못하게 하려면 plugins.security.restapi.endpoints_disabled를 사용하여 해당 역할에 대해 VIEW_VERSION 또는 ROLLBACK_VERSION 엔드포인트를 비활성화하세요.