기능 필드의 ACL 제어

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • 함수 필드에 대한 액세스를 평가할 때 시스템은 함수 필드 자체에 대한 액세스를 확인하는 것 외에도 기능의 기여 필드에 대한 액세스도 확인합니다. 기여 필드는 주어진 기능 정의에서 인수로 사용되는 필드입니다.

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

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

    또한 이후에서는 Washington DC 기능 필드에 대한 액세스를 허용하기 위해 시스템에서 모든 기여 필드에 액세스해야 합니다. 하나 이상의 기여 필드 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 역할을 가진 사용자에게는 필요한 역할이 있기 때문에 total에 대한 읽기 및 report_view 액세스 권한이 부여됩니다.
    표 2. 예제 2: 기여 필드가 읽기 액세스를 거부함
    ACL 결과
    • 전체, 기본: 조건 또는 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view
    • bonus: 조건 또는 스크립트 없이 역할 salary_admin에 대한 report_view
    • 보너스: 조건 또는 스크립트 없이 역할 bonus_admin에 대해 읽기
    보너스가 해당 역할에 대한 읽기 권한을 거부하기 때문에 salary_admin 역할이 있는 사용자의 읽기와 총계에 대한 report_view 액세스가 거부됩니다.
    표 3. 예 3: 기여 필드 ACL에 스크립트 있음
    ACL 결과
    • 전체, 기본: 조건 또는 스크립트 없이 역할 salary_admin에 대한 읽기 및 report_view
    • bonus: 조건 또는 스크립트 없이 역할 bonus_admin에 대한 report_view
    • 보너스: 스크립트와 함께 역할 salary_admin에 대해 읽기(스크립트에 무엇이 있는지는 중요하지 않으며 거기에 있다는 것만 있음)
    salary_admin 역할을 가진 사용자에게는 모든 필드에 필요한 역할이 있으므로 total에 대한 읽기 권한이 부여됩니다.

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