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

Access control lists for saved objects

원문 보기 위키 갱신

출처: 문서

본문

저장된 객체를 위한 액세스 제어 목록

2.18에 도입됨 {: .label .label-purple }

액세스 제어 목록(ACL)을 사용하면 저장된 객체의 권한을 관리할 수 있고, 백엔드 플러그인 통합 없이도 인가(AuthZ) 기능을 제공할 수 있어요.

ACL 유형 이해하기

ACL은 두 가지 수준에서 적용돼요:

  1. 워크스페이스 ACL: 워크스페이스 객체는 부모 워크스페이스로부터 권한을 상속받아요. 자세한 내용은 워크스페이스 ACL을 참고하세요.
  2. 객체 ACL: 각 개별 객체는 자체 ACL 정책을 가질 수 있어요. 이러한 객체에 대한 모든 작업은 ACL 정책 검증을 통과해야 해요.

ACL 기능 활성화하기

액세스 제어를 정의하려면 먼저 ACL 기능을 활성화해야 해요. 활성화하는 방법은 다음과 같아요:

  1. opensearch_dashboards.yml 파일을 열어요.
  2. 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 %}

더 알아보기 (Learn more)