부여

GRANT — 접근 권한 정의

시놉시스

권한 부여   선택 | 삽입 | 업데이트 | 삭제 | 자르기 | 참고자료 | 트리거 
    [, ...] | 전체 [ 권한 ] 
    켜짐  [ 표 ]테이블_이름[, ...]
         | 스키마의 모든 테이블schema_name[, ...] 
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여   선택 | 삽입 | 업데이트 | 참조  (열_이름[, ...] )
    [, ...] | 모든 [ 권한 ] (컬럼_이름[, ...] ) 
    사용 [표]테이블_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여   사용 | 선택 | 업데이트 
    [, ...] | 전체 [ 권한 ] 
    켜짐  순서시퀀스_이름[, ...]
         | 스키마의 모든 시퀀스schema_name[, ...] 
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여   생성 | 연결 | 임시 | 온도  [, ...] | 전체 [ 권한 ] 
    데이터베이스에서데이터베이스_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  사용 | 전체 [ 권한 ] 
    도메인에서도메인_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  사용 | 전체 [ 권한 ] 
    외부 데이터 래퍼에 대해fdw_name[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  사용 | 전체 [ 권한 ] 
    외국 서버에서서버_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  실행 | 전체 [ 권한 ] 
    ON   기능 | 절차 | 루틴routine_name [ ( [ [ argmode ] [ arg_name ] arg_type[, ...] ] ) ] [, ...]
         | 모든  기능 | 절차 | 루틴  스키마의schema_name[, ...] 
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  사용 | 전체 [ 권한 ] 
    언어에 대하여lang_name[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여   선택 | 업데이트  [, ...] | 전체 [ 권한 ] 
    큰 물체에 대해로이드[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여   생성 | 사용법  [, ...] | 전체 [ 권한 ] 
    스키마에서schema_name[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  생성 | 전체 [ 권한 ] 
    테이블스페이스에서테이블스페이스_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여  사용 | 전체 [ 권한 ] 
    유형에 따라유형_이름[, ...]
    에토토 꽁 머니_사양[, ...] [ 부여 옵션 포함 ]
    [ 부여자토토 꽁 머니_사양]

부여토토 꽁 머니_이름[, ...] 받는 사람토토 꽁 머니_사양[, ...]
    [ 관리자 옵션 사용 ]
    [ 부여자토토 꽁 머니_사양 ]

어디에서토토 꽁 머니_사양다음과 같을 수 있습니다:[ 그룹 ]토토 꽁 머니_이름| 공개
  | CURRENT_ROLE
  | CURRENT_USER
  | SESSION_USER

설명

그랜트명령에는 두 가지 기본 변형이 있습니다. 하나는 데이터베이스 개체(테이블, 열, 뷰, 외부 테이블, 시퀀스, 데이터베이스, 외부 데이터 래퍼, 외부 서버, 함수, 프로시저, 절차 언어, 스키마 또는 테이블스페이스)에 대한 권한을 부여하는 것과 역할에 멤버십을 부여하는 것입니다. 이러한 변형은 여러 면에서 유사하지만 별도로 설명할 수 있을 만큼 다릅니다.

데이터베이스 개체에 대한 GRANT

이 변형은그랜트명령은 하나 이상의 역할에 데이터베이스 개체에 대한 특정 권한을 부여합니다. 이러한 권한은 이미 부여된 권한에 추가됩니다(있는 경우).

핵심 단어공개나중에 생성될 수 있는 역할을 포함하여 모든 역할에 권한이 부여됨을 나타냅니다.공개항상 모든 역할을 포함하는 암시적으로 정의된 그룹으로 생각할 수 있습니다. 모든 특정 역할에는 직접 부여된 권한, 현재 구성원인 모든 역할에 부여된 권한, 부여된 권한의 합계가 있습니다.공개.

만약부여 옵션 포함이 지정되면 권한을 받는 사람이 이를 다른 사람에게 부여할 수 있습니다. 부여 옵션이 없으면 수신자는 그렇게 할 수 없습니다. 부여 옵션을 부여할 수 없습니다.공개.

만약승인자이 지정되면 지정된 부여자는 현재 사용자여야 합니다. 이 절은 현재 SQL 호환성을 위해서만 이 형식으로 제공됩니다.

소유자는 기본적으로 모든 권한을 가지므로 개체 소유자(일반적으로 개체를 생성한 사용자)에게 권한을 부여할 필요가 없습니다. (그러나 소유자는 안전을 위해 자신의 권한 중 일부를 취소할 수 있습니다.)

개체를 삭제하거나 어떤 방식으로든 그 정의를 변경할 수 있는 권리는 부여 가능한 특권으로 취급되지 않습니다. 이는 소유자에게 고유한 것이므로 부여하거나 취소할 수 없습니다. (그러나 객체를 소유한 역할의 멤버십을 부여하거나 취소함으로써 유사한 효과를 얻을 수 있습니다. 아래를 참조하십시오.) 소유자는 암시적으로 객체에 대한 모든 부여 옵션도 갖습니다.

가능한 권한은 다음과 같습니다:

선택
삽입
업데이트
삭제
잘라내기
참조
트리거
생성
연결
임시
실행
사용

다음에 정의된 특정 권한 유형PostgreSQL : 문서 : 14 : 5.7. 범퍼카 토토.

온도

대체 철자법:임시.

모든 권한

객체 유형에 사용 가능한 모든 권한을 부여합니다.특권키워드는 선택사항입니다.포스트그레SQL, 엄격한 SQL에서는 필요하지만.

기능구문은 일반 함수, 집계 함수 및 창 함수에 대해 작동하지만 프로시저에는 작동하지 않습니다. 사용절차그것들을 위해서요. 또는 다음을 사용하세요.루틴정확한 유형에 관계없이 함수, 집계 함수, 창 함수 또는 프로시저를 참조합니다.

하나 이상의 스키마 내에서 동일한 유형의 모든 개체에 대한 권한을 부여하는 옵션도 있습니다. 이 기능은 현재 테이블, 시퀀스, 함수 및 프로시저에 대해서만 지원됩니다.모든 테이블특정 개체와 마찬가지로 뷰 및 외부 테이블에도 영향을 미칩니다.그랜트명령.모든 기능또한 특정 개체와 마찬가지로 집계 및 창 기능에 영향을 주지만 프로시저에는 영향을 주지 않습니다.그랜트명령. 사용모든 루틴절차를 포함합니다.

역할 부여

이 변형은그랜트명령은 하나 이상의 다른 역할에 역할의 멤버십을 부여합니다. 역할의 멤버십은 역할에 부여된 권한을 각 구성원에게 전달하기 때문에 중요합니다.

만약관리자 옵션 있음이 지정되면 구성원은 해당 역할의 멤버십을 다른 사람에게 부여할 수 있으며 해당 역할의 멤버십도 취소할 수 있습니다. 관리자 옵션이 없으면 일반 사용자는 이를 수행할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다.관리자 옵션 있음자체이지만 세션 사용자가 역할과 일치하는 데이터베이스 세션에서 자체적으로 멤버십을 부여하거나 취소할 수 있습니다. 데이터베이스 슈퍼유저는 누구에게나 모든 역할의 멤버십을 부여하거나 취소할 수 있습니다. 역할을 갖고 있음크리에이터롤권한은 수퍼유저가 아닌 모든 역할의 멤버십을 부여하거나 취소할 수 있습니다.

만약승인자가 지정되면 지정된 역할에 의해 부여가 수행된 것으로 기록됩니다. 명령을 실행하는 동일한 역할의 이름을 지정하는 경우를 제외하고 데이터베이스 수퍼유저만 이 옵션을 사용할 수 있습니다.

권한이 있는 경우와 달리 역할에 대한 멤버십을 부여할 수 없습니다.공개. 또한 이 명령 형식은 의미 없는 단어를 허용하지 않습니다.그룹토토 꽁 머니_사양.

참고

취소접근권한을 철회하는 명령입니다.

이후포스트그레SQL8.1에서는 사용자와 그룹의 개념이 역할이라는 단일 종류의 개체로 통합되었습니다. 따라서 더 이상 키워드를 사용할 필요가 없습니다.그룹수혜자가 사용자인지 그룹인지 식별합니다.그룹명령에서는 여전히 허용되지만 의미 없는 단어입니다.

사용자가 수행할 수 있음선택, 삽입22602_22877

객체의 소유자가 아닌 사람이 다음을 시도할 때그랜트개체에 대한 권한이 있는 경우, 사용자에게 개체에 대한 권한이 전혀 없으면 명령이 완전히 실패합니다. 일부 권한을 사용할 수 있는 한 명령은 계속 진행되지만 사용자에게 부여 옵션이 있는 권한만 부여됩니다.모든 권한 부여양식은 부여 옵션이 없으면 경고 메시지를 발행하고, 다른 양식은 명령에 특별히 명명된 권한에 대한 부여 옵션이 보유되지 않은 경우 경고 메시지를 발행합니다. (원칙적으로 이러한 내용은 객체 소유자에게도 적용되지만 소유자는 항상 모든 부여 옵션을 보유하고 있는 것으로 간주되므로 이러한 경우는 절대 발생하지 않습니다.)

데이터베이스 수퍼유저는 개체 권한 설정에 관계없이 모든 개체에 접근할 수 있다는 점에 유의해야 합니다. 이는 다음의 권리와 유사합니다.루트Unix 시스템에서. 마찬가지로루트, 꼭 필요한 경우를 제외하고는 슈퍼유저로 작업하는 것은 현명하지 않습니다.

수퍼유저가 발행을 선택하는 경우그랜트또는취소명령을 실행하면 해당 명령은 영향을 받은 개체의 소유자가 실행한 것처럼 수행됩니다. 특히, 그러한 명령을 통해 부여된 권한은 개체 소유자가 부여한 것으로 나타납니다. (역할 멤버십의 경우 해당 역할 자체에 의해 멤버십이 부여된 것으로 보입니다.)

그랜트그리고취소또한 영향을 받은 개체의 소유자가 아니지만 개체를 소유한 토토 꽁 머니의 구성원이거나 권한을 보유한 토토 꽁 머니의 구성원인 토토 꽁 머니에 의해 수행될 수도 있습니다.부여 옵션 포함객체에. 이 경우 권한은 실제로 객체를 소유하거나 권한을 보유한 역할에 의해 부여된 것으로 기록됩니다.부여 옵션 포함. 예를 들어 테이블t1토토 꽁 머니이 소유함g1, 그 중 토토 꽁 머니u1회원이라면u1다음에 대한 권한을 부여할 수 있습니다.t1u2, 그러나 해당 권한은에 의해 직접 부여된 것으로 나타납니다.g1. 토토 꽁 머니의 다른 구성원g1나중에 취소할 수 있습니다.

역할이 실행 중인 경우그랜트두 개 이상의 역할 멤버십 경로를 통해 간접적으로 필요한 권한을 보유하며, 어떤 역할이 부여를 수행한 것으로 기록되는지는 지정되지 않습니다. 이러한 경우에는 다음을 사용하는 것이 가장 좋습니다.토토 꽁 머니 설정당신이 하고 싶은 특정 토토 꽁 머니이 되기 위해부여as.

테이블에 대한 권한 부여는 다음에 연결된 시퀀스를 포함하여 테이블에서 사용되는 모든 시퀀스에 대한 권한을 자동으로 확장하지 않습니다.연속열. 시퀀스에 대한 권한은 별도로 설정해야 합니다.

참조PostgreSQL : 문서 : 14 : 5.7. 범퍼카 토토특정 권한 유형에 대한 자세한 내용과 개체의 권한을 검사하는 방법을 확인하세요.

테이블의 모든 사용자에게 삽입 권한 부여영화:

일반인에게 영화 삽입 권한 부여;

사용자에게 사용 가능한 모든 권한 부여마누엘보기 중종류:

마누엘에게 종류에 대한 모든 권한을 부여합니다.

수퍼유저나 소유자가 실행하는 경우 위의 내용은 실제로 모든 권한을 부여한다는 점에 유의하세요.종류, 다른 사람이 실행하면 다른 사람이 부여 옵션을 갖고 있는 권한만 부여됩니다.

역할에 멤버십 부여관리자사용자에게:

Joe에게 관리자 권한 부여;

호환성

SQL 표준에 따르면,특권핵심 단어모든 권한필수입니다. SQL 표준은 명령당 둘 이상의 객체에 대한 권한 설정을 지원하지 않습니다.

PostgreSQL객체 소유자가 자신의 일반 권한을 취소할 수 있도록 허용합니다. 예를 들어 테이블 소유자는 자신의 권한을 취소하여 테이블을 읽기 전용으로 만들 수 있습니다.삽입, 업데이트, 삭제그리고잘라내기권한. 이는 SQL 표준에 따르면 불가능합니다. 그 이유는PostgreSQL소유자의 특권을 소유자가 자신에게 부여한 것으로 간주합니다. 그러므로 그들은 그것을 취소할 수도 있습니다. SQL 표준에서 소유자의 권한은 가정된 엔터티에 의해 부여됩니다._시스템. 존재하지 않음_시스템소유자는 이러한 권한을 철회할 수 없습니다.

SQL 표준에 따라 부여 옵션을 부여할 수 있습니다.공개; PostgreSQL은 역할에 대한 부여 옵션 부여만 지원합니다.

SQL 표준은 다음을 허용합니다.승인자만 지정하는 옵션CURRENT_USER또는CURRENT_ROLE. 다른 변형은 PostgreSQL 확장입니다.

SQL 표준은 다음을 제공합니다.사용법다른 종류의 개체에 대한 권한: 문자 집합, 데이터 정렬, 번역.

SQL 표준에서 시퀀스에는사용권한, 이는 다음의 사용을 제어합니다.다음 값함수와 동일한 표현식다음값PostgreSQL에서. 시퀀스 권한선택그리고업데이트는 PostgreSQL 확장입니다. 시퀀스의 적용사용에 대한 특권곡선함수는 또한 PostgreSQL 확장입니다(함수 자체도 마찬가지입니다).

데이터베이스, 테이블스페이스, 스키마 및 언어에 대한 권한은 다음과 같습니다.PostgreSQL확장.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.