@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix knobit: <https://knobit.org/id/knobit/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix register: <https://knobit.org/id/register/> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

knobit:S-305 a edu:Knobit ;
    rdfs:label "Recognises row security on an updatable column"@en ;
    dcterms:identifier "S-305" ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source "Review checklist 03-access-control, row 5 (27002 8.3)"@en ;
    skos:altLabel "Row security on an updatable column"@en ;
    skos:definition "The row filter reads a column the restricted user can change."@en ;
    skos:prefLabel "Recognises row security on an updatable column"@en ;
    edu:actionVerb "Recognises"@en ;
    edu:appliesKnowledge knobit:S-355 ;
    edu:assessmentCriterion "Flags the deficient case and passes the acceptable one. Deficient: RS-001 teller sees rows where `account.branch_code = user.branch`; tellers can update `account.branch_code` Acceptable: Branch from the HR directory; branch_code read-only to tellers"@en ;
    edu:assessmentMethod "skill-tests task: Bank role and entitlement design (dsec-access-control)"@en ;
    edu:contextFunction <https://knobit.org/def/contextFunction/resultEvaluation> ;
    edu:creationMethod <https://knobit.org/def/creationMethod/aiGenerated> ;
    edu:expectedResult "The filter and an attribute the user cannot change"@en ;
    edu:graphRelevance <https://knobit.org/def/graphRelevance/learnerState>,
        <https://knobit.org/def/graphRelevance/taskSelection> ;
    edu:knobitType <https://knobit.org/def/knobitType/skill> ;
    edu:targetObject "row filter on a column the restricted user can change"@en ;
    schema:creativeWorkStatus "accepted" ;
    schema:isPartOf register:data-security .

edu:Knobit rdfs:label "Knobit"@en,
        "Knobit"@et .

knobit:S-355 rdfs:label "Explains row-level security"@en .

