기능 필드의 ACL 제어
함수 필드에 대한 액세스를 평가할 때 시스템은 함수 필드 자체에 대한 액세스를 확인하는 것 외에도 기능의 기여 필드에 대한 액세스도 확인합니다. 기여 필드는 주어진 기능 정의에서 인수로 사용되는 필드입니다.
함수 필드에 대한 자세한 내용은 함수 필드를 참조하십시오.
이전 버전에서는 Rome 시스템이 함수 필드 자체에 대한 액세스를 확인하기만 하면 됩니다(다른 필드와 마찬가지로). 해당 필드의 ACL이 액세스를 허용하면 사용자는 기여 필드에 대한 액세스 권한이 있는지 여부에 관계없이 결과 값을 받습니다.
또한 이후에서는 Washington DC 기능 필드에 대한 액세스를 허용하기 위해 시스템에서 모든 기여 필드에 액세스해야 합니다. 하나 이상의 기여 필드 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 역할을 가진 사용자에게는 필요한 역할이 있기 때문에 total에 대한 읽기 및 report_view 액세스 권한이 부여됩니다. |
| ACL | 결과 |
|---|---|
|
보너스가 해당 역할에 대한 읽기 권한을 거부하기 때문에 salary_admin 역할이 있는 사용자의 읽기와 총계에 대한 report_view 액세스가 거부됩니다. |
| ACL | 결과 |
|---|---|
|
salary_admin 역할을 가진 사용자에게는 모든 필드에 필요한 역할이 있으므로 total에 대한 읽기 권한이 부여됩니다. 그러나 이 경우 필요한 역할을 가지고 있더라도 스크립트가 있는 읽기 ACL이 기본적으로 액세스를 거부하기 때문에 salary_admin 있는 동일한 사용자는 액세스report_view 거부됩니다. |