기능 필드의 ACL 통제

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 2분
  • 함수 필드에 대한 액세스를 평가할 때 시스템은 함수 필드 자체에 대한 액세스를 확인하는 것 외에도 함수의 기여 필드에 대한 액세스도 확인합니다. 기여 필드는 지정된 기능 정의에서 인수로 사용되는 필드입니다.

    함수 필드에 대한 자세한 내용은 함수 필드를 참조하십시오.

    이전 버전에서 Rome 시스템은 단순히 함수 필드 자체에 대한 액세스를 확인합니다(다른 필드와 마찬가지로). 해당 필드의 ACL이 액세스를 허용하는 경우, 사용자는 기여 필드에 대한 액세스 권한이 있는지 여부에 관계없이 결과 값을 받습니다.

    또한 Zurich 시스템 및 그 이후에는 함수 필드에 대한 액세스를 허용하기 위해 모든 기여 필드에 대한 액세스 권한이 필요합니다. 하나 이상의 기여 필드 ACL이 액세스를 거부하는 경우 함수 필드도 액세스를 거부합니다.

    새 요구 사항의 영향을 받는 유일한 작업은 읽기 및 report_view입니다. Report_view에는 자체 추가 요구 사항이 있습니다.

    운영 설명
    읽기 작업 사용자는 다음 두 가지 모두에 해당하는 경우에만 함수 필드에 대한 읽기 권한을 갖습니다.
    • 사용자에게 함수 필드에 대한 읽기 권한이 있습니다.
    • 사용자에게 기능에 사용되는 모든 기여 필드에 대한 읽기 권한이 있습니다.
    report_view 작업 사용자는 다음 report_view 모두 참일 경우에만 함수 필드에 액세스할 수 있습니다.
    • 사용자에게 함수 필드에 대한 report_view 액세스 권한이 있습니다.
    • 사용자는 각 기여 필드에 액세스할 report_view 있습니다.
    • 조건이나 스크립트가 없는 역할 전용 읽기 ACL이 있으며 사용자가 해당 역할을 갖습니다.
    • 사용자는 기여 필드에 대한 읽기 권한만 역할 수행하므로 조건 또는 스크립트가 없는 ACL만 허용할 수 있습니다.

    예제

    주어진:
    • 테이블: 급여
    • 열: base, bonus, total(이 예에서는 모두 정수임)
    • 함수 필드: 전체 열은 함수 정의 glidefunction:add(base, bonus)와 함께 함수 필드로 표시됩니다.
    • 기여 필드: 기본 및 보너스(함수 정의에 사용되기 때문)
    • 역할: salary_admin, bonus_admin
    표 1. 예시 1: 모든 필드에 접근이 허용됨
    ACL 결과
    합계, 기본, 보너스: 조건이나 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view salary_admin 역할이 있는 사용자에게는 필요한 역할이 있으므로 합계에 대한 읽기 및 report_view 권한이 부여됩니다.
    표 2. 예제 2: 기여 필드가 읽기 액세스를 거부함
    ACL 결과
    • 합계, 기본: 조건 또는 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view
    • 보너스: 조건이나 스크립트가 없는 역할 salary_admin에 대한 report_view
    • 보너스: 조건이나 스크립트 없이 역할 bonus_admin 읽기
    보너스가 해당 역할에 대한 읽기 권한을 거부하기 때문에 salary_admin 역할을 가진 사용자는 합계에 대한 읽기 및 report_view 액세스가 거부됩니다.
    표 3. 예시 3: 기여 필드 ACL에 스크립트가 있음
    ACL 결과
    • 합계, 기본: 조건 또는 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view
    • 보너스: 조건이나 스크립트가 없는 역할 bonus_admin 대한 report_view
    • 보너스: 스크립트와 함께 역할 salary_admin 읽기(스크립트에 무엇이 있는지는 중요하지 않으며 거기에 있다는 것만 유의하십시오)
    salary_admin 역할을 가진 사용자에게는 모든 필드에 필요한 역할이 있으므로 합계에 대한 읽기 권한이 부여됩니다.

    그러나 salary_admin 있는 동일한 사용자는 필요한 역할이 있더라도 이 경우 스크립트가 있는 읽기 ACL이 기본적으로 액세스를 거부하기 때문에 액세스가 거부됩니다report_view.