Access control lists for saved objects
출처: 문서
본문
저장된 객체를 위한 액세스 제어 목록
2.18에 도입됨 {: .label .label-purple }
액세스 제어 목록(ACL)을 사용하면 저장된 객체의 권한을 관리할 수 있고, 백엔드 플러그인 통합 없이도 인가(AuthZ) 기능을 제공할 수 있어요.
ACL 유형 이해하기
ACL은 두 가지 수준에서 적용돼요:
- 워크스페이스 ACL: 워크스페이스 객체는 부모 워크스페이스로부터 권한을 상속받아요. 자세한 내용은 워크스페이스 ACL을 참고하세요.
- 객체 ACL: 각 개별 객체는 자체 ACL 정책을 가질 수 있어요. 이러한 객체에 대한 모든 작업은 ACL 정책 검증을 통과해야 해요.
ACL 기능 활성화하기
액세스 제어를 정의하려면 먼저 ACL 기능을 활성화해야 해요. 활성화하는 방법은 다음과 같아요:
opensearch_dashboards.yml파일을 열어요.savedObjects.permission.enabled: true로 권한을 활성화해요.
ACL 권한 정의하기
ACL 권한은 다음 스키마를 사용해 정의해요:
{
"permissions": {
"<permission_type_1>": {
"users": ["<principal_1>", "<principal_2>"],
"groups": ["<principal_3>", "<principal_4>"]
}
}
}
{% include copy-curl.html %}
인증된 사용자에게 권한 부여하기
와일드카드 문자(*)는 모든 인증된 사용자에게 권한을 부여해요. 다음 예시에서 ACL은 finance_manager 그룹에 워크스페이스 관리 권한을, finance_analyst 그룹에 대시보드 생성 권한을 부여해요:
{
"permissions": {
"write": {
"groups": ["finance_manager"]
},
"library_write": {
"groups": ["finance_analyst"]
}
}
}
{% include copy-curl.html %}
혼합 수준 권한 구성하기
한 사용자(예: user-1)가 객체를 수정할 수 있게 하면서 다른 사용자에게는 읽기 전용 접근을 허용하려면, 다음과 같이 ACL 정책을 구성할 수 있어요:
{
"permissions": {
"read": {
"users": ["*"]
},
"write": {
"users": ["user-1"]
},
}
}
{% include copy-curl.html %}