기능 필드의 ACL 통제
함수 필드에 대한 액세스를 평가할 때 시스템은 함수 필드 자체에 대한 액세스를 확인하는 것 외에도 함수의 기여 필드에 대한 액세스도 확인합니다. 기여 필드는 지정된 기능 정의에서 인수로 사용되는 필드입니다.
함수 필드에 대한 자세한 내용은 함수 필드를 참조하십시오.
이전 버전에서 Rome 시스템은 단순히 함수 필드 자체에 대한 액세스를 확인합니다(다른 필드와 마찬가지로). 해당 필드의 ACL이 액세스를 허용하는 경우, 사용자는 기여 필드에 대한 액세스 권한이 있는지 여부에 관계없이 결과 값을 받습니다.
또한 Zurich 시스템 및 그 이후에는 함수 필드에 대한 액세스를 허용하기 위해 모든 기여 필드에 대한 액세스 권한이 필요합니다. 하나 이상의 기여 필드 ACL이 액세스를 거부하는 경우 함수 필드도 액세스를 거부합니다.
새 요구 사항의 영향을 받는 유일한 작업은 읽기 및 report_view입니다. Report_view에는 자체 추가 요구 사항이 있습니다.
| 운영 | 설명 |
|---|---|
| 읽기 작업 | 사용자는 다음 두 가지 모두에 해당하는 경우에만 함수 필드에 대한 읽기 권한을 갖습니다.
|
| report_view 작업 | 사용자는 다음 report_view 모두 참일 경우에만 함수 필드에 액세스할 수 있습니다.
|
예제
주어진:
- 테이블: 급여
- 열: base, bonus, total(이 예에서는 모두 정수임)
- 함수 필드: 전체 열은
함수 정의 glidefunction:add(base, bonus)와 함께 함수 필드로 표시됩니다. - 기여 필드: 기본 및 보너스(함수 정의에 사용되기 때문)
- 역할: salary_admin, bonus_admin
| ACL | 결과 |
|---|---|
| 합계, 기본, 보너스: 조건이나 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view | salary_admin 역할이 있는 사용자에게는 필요한 역할이 있으므로 합계에 대한 읽기 및 report_view 권한이 부여됩니다. |
| ACL | 결과 |
|---|---|
|
보너스가 해당 역할에 대한 읽기 권한을 거부하기 때문에 salary_admin 역할을 가진 사용자는 합계에 대한 읽기 및 report_view 액세스가 거부됩니다. |
| ACL | 결과 |
|---|---|
|
salary_admin 역할을 가진 사용자에게는 모든 필드에 필요한 역할이 있으므로 합계에 대한 읽기 권한이 부여됩니다. 그러나 salary_admin 있는 동일한 사용자는 필요한 역할이 있더라도 이 경우 스크립트가 있는 읽기 ACL이 기본적으로 액세스를 거부하기 때문에 액세스가 거부됩니다report_view. |