CREATE POLICY — 테이블에 대한 새로운 행 수준 보안 스포츠 토토 결과 정의
스포츠 토토 결과 생성이름켜짐테이블_이름[ AS 허용 | 제한적 ] [ 전체에 대해 | 선택 | 삽입 | 업데이트 | 삭제 ] [ 에역할_이름| 공개 | 현재_역할 | CURRENT_USER | 세션_사용자 [, ...] ] [ 사용 중 (using_expression) ] [ 체크 포함 (체크_표현) ]
그스포츠 토토 결과 생성명령은 테이블에 대한 새로운 행 수준 보안 스포츠 토토 결과을 정의합니다. 테이블에서 행 수준 보안을 활성화해야 합니다( 사용).테이블 변경 ... 행 수준 보안 활성화) 생성된 스포츠 토토 결과이 적용되도록 합니다.
스포츠 토토 결과은 관련 스포츠 토토 결과 표현과 일치하는 행을 선택, 삽입, 업데이트 또는 삭제할 수 있는 권한을 부여합니다. 기존 테이블 행은 다음에 지정된 표현식과 비교하여 확인됩니다.사용 중, 다음을 통해 생성되는 새 행은삽입또는업데이트에 지정된 표현식과 비교하여 확인됩니다.수표 포함. 때사용 중표현식은 특정 행에 대해 true를 반환하면 해당 행이 사용자에게 표시되고, false 또는 null이 반환되면 행이 표시되지 않습니다. 때수표 포함표현식은 행에 대해 true를 반환한 다음 해당 행이 삽입되거나 업데이트되고, false 또는 null이 반환되면 오류가 발생합니다.
용삽입, 업데이트및병합문장,수표 포함다음 이후에 표현식이 시행됩니다.이전트리거가 실행되고 실제 데이터 수정이 이루어지기 전에 발생합니다. 따라서 a행 앞트리거가 삽입될 데이터를 수정하여 보안 스포츠 토토 결과 확인 결과에 영향을 미칠 수 있습니다.확인 포함표현식은 다른 제약조건보다 먼저 시행됩니다.
스포츠 토토 결과 이름은 테이블별로 지정됩니다. 따라서 하나의 스포츠 토토 결과 이름을 다양한 테이블에 사용할 수 있으며 해당 테이블에 적합한 각 테이블에 대한 정의를 가질 수 있습니다.
스포츠 토토 결과은 특정 명령이나 특정 역할에 적용될 수 있습니다. 새로 생성된 스포츠 토토 결과의 기본값은 별도로 지정하지 않는 한 모든 명령과 역할에 적용된다는 것입니다. 단일 명령에 여러 스포츠 토토 결과이 적용될 수 있습니다. 자세한 내용은 아래를 참조하세요.테이블 300특정 명령에 다양한 유형의 스포츠 토토 결과이 적용되는 방식을 요약합니다.
두 가지를 모두 가질 수 있는 스포츠 토토 결과의 경우사용 중그리고확인 포함표현식(전체그리고업데이트), 그렇지 않은 경우확인 포함표현식이 정의된 경우사용 중표현식은 어떤 행이 표시되는지 결정하는 데 모두 사용됩니다(일반사용 중case) 및 추가가 허용되는 새 행(확인 포함사례).
테이블에 대해 행 수준 보안이 활성화되어 있지만 적용 가능한 스포츠 토토 결과이 없는 경우, a“기본 거부”스포츠 토토 결과이 가정되므로 행이 표시되거나 업데이트될 수 없습니다.
이름생성될 스포츠 토토 결과의 이름. 이는 테이블의 다른 스포츠 토토 결과 이름과 구별되어야 합니다.
테이블_이름스포츠 토토 결과이 적용되는 테이블의 이름(선택적으로 스키마 한정).
허용스포츠 토토 결과이 허용 스포츠 토토 결과으로 생성되도록 지정하십시오. 특정 쿼리에 적용할 수 있는 모든 허용 스포츠 토토 결과은 부울을 사용하여 함께 결합됩니다.“또는”연산자. 허용 스포츠 토토 결과을 생성하여 관리자는 액세스할 수 있는 레코드 집합에 추가할 수 있습니다. 스포츠 토토 결과은 기본적으로 허용됩니다.
제한적스포츠 토토 결과이 제한적인 스포츠 토토 결과으로 생성되도록 지정하십시오. 특정 쿼리에 적용할 수 있는 모든 제한 스포츠 토토 결과은 부울을 사용하여 함께 결합됩니다.“그리고”연산자. 제한적인 스포츠 토토 결과을 생성하면 모든 제한적인 스포츠 토토 결과이 각 기록에 대해 전달되어야 하므로 관리자는 액세스할 수 있는 기록 집합을 줄일 수 있습니다.
제한적인 스포츠 토토 결과을 유용하게 사용하여 액세스를 줄이기 전에 기록에 대한 액세스를 허용하려면 최소한 하나의 허용 스포츠 토토 결과이 있어야 한다는 점에 유의하세요. 제한적인 스포츠 토토 결과만 존재하는 경우 기록에 액세스할 수 없습니다. 허용 스포츠 토토 결과과 제한 스포츠 토토 결과이 혼합되어 있는 경우 모든 제한 스포츠 토토 결과 외에도 허용 스포츠 토토 결과 중 하나 이상이 통과되는 경우에만 기록에 액세스할 수 있습니다.
명령스포츠 토토 결과이 적용되는 명령입니다. 유효한 옵션은 다음과 같습니다.전체, 선택, 삽입, 업데이트및삭제. 전체기본값입니다. 적용 방법에 대한 자세한 내용은 아래를 참조하세요.
역할_이름스포츠 토토 결과이 적용될 역할. 기본값은공개, 모든 역할에 스포츠 토토 결과을 적용합니다.
using_expression모두SQL조건식(반환부울). 조건식에는 집계 또는 창 함수가 포함될 수 없습니다. 이 식은 행 수준 보안이 활성화된 경우 테이블을 참조하는 쿼리에 추가됩니다. 표현식이 true를 반환하는 행이 표시됩니다. 표현식이 false 또는 null을 반환하는 행은 사용자에게 표시되지 않습니다(선택), 수정할 수 없습니다(업데이트또는삭제). 이러한 행은 자동으로 억제됩니다. 오류는 보고되지 않습니다.
check_expression모두SQL조건식(반환부울). 조건식에는 집계 또는 창 함수가 포함될 수 없습니다. 이 표현은 다음에서 사용됩니다.삽입그리고업데이트행 수준 보안이 활성화된 경우 테이블에 대해 쿼리합니다. 표현식이 true로 평가되는 행만 허용됩니다. 삽입된 레코드나 업데이트로 인해 생성된 레코드에 대해 표현식이 false 또는 null로 평가되면 오류가 발생합니다. 참고하세요check_expression원본 내용이 아닌 행의 제안된 새 내용에 대해 평가됩니다.
전체 #사용 중전체스포츠 토토 결과은 명령 유형에 관계없이 모든 명령에 적용된다는 의미입니다. 만약전체스포츠 토토 결과이 존재하고 더 구체적인 스포츠 토토 결과이 존재하는 경우, 둘 다전체스포츠 토토 결과과 보다 구체적인 스포츠 토토 결과(또는 스포츠 토토 결과)이 적용됩니다. 추가적으로,전체스포츠 토토 결과은 다음을 사용하여 쿼리의 선택 측면과 수정 측면 모두에 적용됩니다.사용 중단지 a인 경우 두 경우 모두에 대한 표현식사용 중식이 정의되었습니다.
예를 들어, 만약업데이트발행된 다음전체스포츠 토토 결과은 다음 두 가지 모두에 적용됩니다.업데이트업데이트할 행을 선택할 수 있습니다(적용사용 중표현식) 및 업데이트된 결과 행에 테이블에 추가할 수 있는지 확인합니다(수표 포함표현식(정의된 경우) 및사용 중그렇지 않은 경우 표현). 만약삽입또는업데이트명령은 테이블에 통과하지 못한 행을 추가하려고 시도합니다.전체스포츠 토토 결과의수표 포함표현식, 전체 명령이 중단됩니다.
선택 #사용 중선택스포츠 토토 결과은 다음에 적용된다는 의미입니다.선택쿼리 및 언제든지선택스포츠 토토 결과이 정의된 관계에 대한 권한이 필요합니다. 결과는 다음을 통과하는 관계의 레코드만 됩니다.선택스포츠 토토 결과은 다음 동안 반환됩니다.선택쿼리 및 다음이 필요한 쿼리선택권한, 예:업데이트, 또한 다음에서 허용하는 레코드만 볼 수 있습니다.선택스포츠 토토 결과. 갑선택스포츠 토토 결과은 다음을 가질 수 없습니다.확인 포함표현식, 관계에서 레코드를 검색하는 경우에만 적용됩니다.
삽입 #사용 중삽입스포츠 토토 결과은 다음에 적용된다는 의미입니다.삽입명령 및병합다음을 포함하는 명령삽입작업. 이 스포츠 토토 결과을 통과하지 못한 행을 삽입하면 스포츠 토토 결과 위반 오류가 발생하고 전체삽입명령이 중단됩니다. 안삽입스포츠 토토 결과은 다음을 가질 수 없습니다.사용 중표현식, 레코드가 관계에 추가되는 경우에만 적용됩니다.
참고삽입함께ON CONFLICT DO 업데이트확인삽입스포츠 토토 결과'확인 포함다음에 의해 관계에 추가된 행에 대한 표현식만삽입경로.
업데이트 #사용 중업데이트스포츠 토토 결과은 다음에 적용된다는 의미입니다.업데이트, 업데이트를 위해 선택그리고공유 선택명령 및 보조충돌 시 업데이트를 하세요절삽입명령.병합다음을 포함하는 명령업데이트작업도 영향을 받습니다. 이후업데이트기존 레코드를 가져와 수정된 새 레코드로 바꾸는 작업이 포함됩니다.업데이트스포츠 토토 결과은 둘 다 허용합니다.사용 중표현식 및 a수표 포함식.사용 중표현식은 어떤 레코드를 결정하는지 결정업데이트명령은 다음과 같이 작동하는 것으로 확인됩니다.수표 포함표현식은 수정된 행을 관계에 다시 저장할 수 있도록 정의합니다.
업데이트된 값이 다음을 통과하지 못한 모든 행수표 포함표현식은 오류를 일으키고 전체 명령이 중단됩니다. 만약에 a사용 중절이 지정되면 해당 절이 두 가지 모두에 사용됩니다.사용 중그리고수표 포함건.
일반적으로업데이트명령은 또한 업데이트되는 관계의 열에서 데이터를 읽어야 합니다(예:어디에서절 또는 a돌아오는 중절 또는 오른쪽 표현식에서SET절). 이 경우,선택업데이트되는 관계에 대한 권한도 필요하며 적절한선택또는전체스포츠 토토 결과이 다음에 추가로 적용될 것입니다.업데이트스포츠 토토 결과. 따라서 사용자는 다음을 통해 업데이트되는 행에 액세스할 수 있어야 합니다.선택또는전체스포츠 토토 결과을 통해 행을 업데이트할 수 있는 권한을 부여받는 것 외에도업데이트또는전체스포츠 토토 결과.
때삽입명령에 보조가 있습니다충돌 시 업데이트를 하세요절, if the업데이트경로가 선택되면 업데이트할 행이 먼저 확인됩니다.사용 중모든 표현업데이트스포츠 토토 결과을 적용한 다음 새로 업데이트된 행을 다음과 비교하여 확인합니다.수표 포함식. 그러나 독립형과 달리업데이트명령, 기존 행이 다음을 통과하지 못한 경우사용 중표현식을 사용하면 오류가 발생합니다(업데이트경로가 됩니다절대로조용히 피하세요).
삭제 #사용 중삭제스포츠 토토 결과은 다음에 적용된다는 의미입니다.삭제명령. 이 스포츠 토토 결과을 통과하는 행만 다음에서 볼 수 있습니다.삭제명령. a를 통해 표시되는 행이 있을 수 있습니다.선택다음을 통과하지 못하면 삭제할 수 없습니다.사용 중에 대한 표현식삭제스포츠 토토 결과.
대부분의 경우 a삭제명령은 또한 삭제하려는 관계의 열에서 데이터를 읽어야 합니다(예: a어디절 또는 a돌아오는 중절). 이 경우,SELECT관계에 대한 권리도 필요하며 적절한선택또는전체스포츠 토토 결과이 다음에 추가로 적용될 것입니다.삭제스포츠 토토 결과. 따라서 사용자는 다음을 통해 삭제되는 행에 액세스할 수 있어야 합니다.선택또는전체스포츠 토토 결과을 통해 행을 삭제할 수 있는 권한을 부여받는 것 외에도삭제또는전체스포츠 토토 결과.
A 삭제스포츠 토토 결과은 다음을 가질 수 없습니다.수표 포함표현식, 레코드가 관계에서 삭제되는 경우에만 적용되므로 확인할 새 행이 없습니다.
표 300. 명령 유형별로 적용되는 스포츠 토토 결과
| 명령 | SELECT/ALL 스포츠 토토 결과 |
INSERT/ALL 스포츠 토토 결과 |
업데이트/전체 스포츠 토토 결과 |
삭제/전체 스포츠 토토 결과 |
|
|---|---|---|---|---|---|
표현 사용 중 |
WITH CHECK 표현식 |
표현식 사용 중 |
WITH CHECK 표현식 |
표현식 사용 중 |
|
선택 |
기존 행 | — | — | — | — |
업데이트/공유 선택 |
기존 행 | — | 기존 행 | — | — |
삽입 / 병합... 후 삽입 |
— | 새 행 | — | — | — |
삽입...반환 중 |
새 행[a] | 새 행 | — | — | — |
업데이트 / 병합... 후 업데이트 |
기존 및 새 행[a] | — | 기존 행 | 새 행 | — |
삭제 |
기존 행[a] | — | — | — | 기존 행 |
충돌 시 업데이트를 하세요 |
기존 및 새 행 | — | 기존 행 | 새 행 | — |
|
[a]기존 또는 새 행에 읽기 액세스가 필요한 경우(예: a |
|||||
다른 명령 유형의 여러 스포츠 토토 결과이 동일한 명령에 적용되는 경우(예:선택그리고업데이트스포츠 토토 결과이 다음에 적용됨업데이트명령), 사용자는 두 가지 유형의 권한(예: 관계에서 행을 선택할 수 있는 권한과 업데이트할 수 있는 권한)을 모두 가지고 있어야 합니다. 따라서 한 가지 유형의 스포츠 토토 결과에 대한 표현식은 다음을 사용하여 다른 유형의 스포츠 토토 결과에 대한 표현식과 결합됩니다.그리고연산자.
동일한 명령 유형의 여러 스포츠 토토 결과이 동일한 명령에 적용되는 경우 최소한 하나는 있어야 합니다.허용관계 및 모든 항목에 대한 액세스 권한을 부여하는 스포츠 토토 결과제한적스포츠 토토 결과이 통과되어야 합니다. 따라서 모든허용스포츠 토토 결과 표현식은 다음을 사용하여 결합됩니다.또는, 모두제한적스포츠 토토 결과 표현식은 다음을 사용하여 결합됩니다.그리고, 결과는 다음을 사용하여 결합됩니다.그리고. 없는 경우허용스포츠 토토 결과, 그러면 접근이 거부됩니다.
여러 스포츠 토토 결과을 결합할 목적으로,전체스포츠 토토 결과은 적용되는 다른 유형의 스포츠 토토 결과과 동일한 유형을 갖는 것으로 간주됩니다.
예를 들어,업데이트둘 다 필요한 명령선택그리고업데이트권한, 각 유형에 적용 가능한 스포츠 토토 결과이 여러 개 있는 경우 다음과 같이 결합됩니다.
표현RESTRICTIVE SELECT/ALL 스포츠 토토 결과 1에서 그리고표현RESTRICTIVE SELECT/ALL 스포츠 토토 결과 2에서 그리고 ... 그리고 (표현PERMISSIVE SELECT/ALL 스포츠 토토 결과 1에서 또는표현PERMISSIVE SELECT/ALL 스포츠 토토 결과 2에서 또는 ... ) 그리고표현RESTRICTIVE UPDATE/ALL 스포츠 토토 결과 1에서 그리고표현RESTRICTIVE UPDATE/ALL 스포츠 토토 결과 2에서 그리고 ... 그리고 (표현PERMISSIVE UPDATE/ALL 스포츠 토토 결과 1에서 또는표현PERMISSIVE UPDATE/ALL 스포츠 토토 결과 2에서 또는 ... )
테이블에 대한 스포츠 토토 결과을 생성하거나 변경하려면 테이블의 소유자여야 합니다.
스포츠 토토 결과은 데이터베이스의 테이블에 대한 명시적 쿼리에 적용되지만 시스템이 내부 참조 무결성 검사를 수행하거나 제약 조건을 확인할 때는 적용되지 않습니다. 이는 주어진 값이 존재하는지 확인하는 간접적인 방법이 있음을 의미합니다. 이에 대한 예는 기본 키이거나 고유 제약 조건이 있는 열에 중복 값을 삽입하려고 시도하는 것입니다. 삽입이 실패하면 사용자는 값이 이미 존재한다고 추론할 수 있습니다. (이 예에서는 사용자가 볼 수 없는 레코드를 삽입하는 것이 스포츠 토토 결과에 의해 허용된다고 가정합니다.) 또 다른 예는 사용자가 다른 테이블을 참조하는 테이블에 삽입하도록 허용되는 경우입니다. 그렇지 않으면 숨겨진 테이블입니다. 존재 여부는 사용자가 참조 테이블에 값을 삽입하여 확인할 수 있습니다. 여기서 성공하면 해당 값이 참조 테이블에 존재함을 나타냅니다. 이러한 문제는 사용자가 다른 방법으로는 볼 수 없는 값을 나타낼 수 있는 레코드를 삽입, 삭제 또는 업데이트하지 못하도록 스포츠 토토 결과을 신중하게 작성하거나 외부 의미가 있는 키 대신 생성된 값(예: 대리 키)을 사용하여 해결할 수 있습니다.
일반적으로 시스템은 신뢰할 수 없는 사용자 정의 기능에 보호된 데이터가 부주의하게 노출되는 것을 방지하기 위해 사용자 쿼리에 나타나는 제한 이전에 보안 스포츠 토토 결과을 사용하여 부과된 필터 조건을 시행합니다. 다만, 시스템(또는 시스템 관리자)이 다음과 같이 표시한 기능 및 연산자는 다음과 같습니다.누출방지신뢰할 수 있는 것으로 간주되므로 스포츠 토토 결과 표현식보다 먼저 평가될 수 있습니다.
스포츠 토토 결과 표현식은 사용자의 쿼리에 직접 추가되므로 전체 쿼리를 실행하는 사용자의 권한으로 실행됩니다. 따라서 특정 스포츠 토토 결과을 사용하는 사용자는 표현식에서 참조되는 모든 테이블이나 함수에 액세스할 수 있어야 합니다. 그렇지 않으면 행 수준 보안이 활성화된 테이블을 쿼리하려고 할 때 권한 거부 오류가 표시됩니다. 그러나 뷰 작동 방식은 변경되지 않습니다. 일반 쿼리 및 뷰와 마찬가지로 뷰에서 참조하는 테이블에 대한 권한 확인 및 스포츠 토토 결과은 뷰 소유자의 권한과 뷰 소유자에게 적용되는 모든 스포츠 토토 결과을 사용합니다. 단, 뷰가 다음을 사용하여 정의된 경우는 제외됩니다.security_invoker옵션(참조보기 만들기).
에 대한 별도의 스포츠 토토 결과은 존재하지 않습니다.병합. 대신에 대해 정의된 스포츠 토토 결과은선택, 삽입, 업데이트및삭제실행하는 동안 적용됩니다병합, 수행되는 작업에 따라 다름.
추가 토론 및 실제 예는 다음에서 찾을 수 있습니다.PostgreSQL : 문서 : 18 : 5.9. 보안 무지개 토토 행.
스포츠 토토 결과 작성은포스트그레SQL확장.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.