GRANT — 접근 권한 정의
권한 부여 선택 | 삽입 | 업데이트 | 삭제 | 자르기 | 참고자료 | 트리거 | 유지
[, ...] | 전체 [ 권한 ]
켜짐 [ 표 ]테이블_이름[, ...]
| 스키마의 모든 테이블schema_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 있음 ]
[ 부여자사설 토토_사양]
부여 선택 | 삽입 | 업데이트 | 참조 (열_이름[, ...] )
[, ...] | 모든 [ 권한 ] (컬럼_이름[, ...] )
사용 [표]테이블_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 선택 | 업데이트
[, ...] | 전체 [ 권한 ]
켜짐 순서시퀀스_이름[, ...]
| 스키마의 모든 시퀀스schema_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 생성 | 연결 | 임시 | 온도 [, ...] | 전체 [ 권한 ]
데이터베이스에서데이터베이스_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 전체 [ 권한 ]
도메인에서도메인_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 전체 [ 권한 ]
외부 데이터 래퍼에 대해fdw_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 전체 [ 권한 ]
외국 서버에서서버_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 실행 | 전체 [ 권한 ]
ON 기능 | 절차 | 루틴routine_name [ ( [ [ argmode ] [ arg_name ] arg_type[, ...] ] ) ] [, ...]
| 모든 기능 | 절차 | 루틴 스키마의schema_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 전체 [ 권한 ]
언어에 대해lang_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 선택 | 업데이트 [, ...] | 전체 [ 권한 ]
큰 물체에 대해로이드[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 세트 | ALTER SYSTEM [, ... ] | 전체 [ 권한 ]
매개변수에 대해configuration_parameter[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 생성 | 사용법 [, ...] | 전체 [ 권한 ]
스키마에서schema_name[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 생성 | 전체 [ 권한 ]
테이블스페이스에서테이블스페이스_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여 사용 | 전체 [ 권한 ]
유형에 따라유형_이름[, ...]
에사설 토토_사양[, ...] [ 부여 옵션 포함 ]
[ 부여자사설 토토_사양]
부여사설 토토_이름[, ...] TO사설 토토_사양[, ...]
[ 관리자와 함께 | 상속 | 설정 옵션 | 사실 | 거짓 ]
[ 부여자사설 토토_사양 ]
어디에서사설 토토_사양다음과 같을 수 있습니다:[ 그룹 ]사설 토토_이름| 공개
| CURRENT_ROLE
| CURRENT_USER
| SESSION_USER
그그랜트명령에는 두 가지 기본 변형이 있습니다. 하나는 데이터베이스 객체(테이블, 열, 뷰, 외부 테이블, 시퀀스, 데이터베이스, 외부 데이터 래퍼, 외부 서버, 함수, 프로시저, 절차 언어, 대형 객체, 구성 매개변수, 스키마, 테이블스페이스 또는 유형)에 대한 권한을 부여하는 것과 역할에 멤버십을 부여하는 것입니다. 이러한 변형은 여러 면에서 유사하지만 별도로 설명할 수 있을 만큼 다릅니다.
이 변형은그랜트명령은 하나 이상의 역할에 데이터베이스 개체에 대한 특정 권한을 부여합니다. 이러한 권한은 이미 부여된 권한에 추가됩니다(있는 경우).
핵심 단어공개나중에 생성될 수 있는 역할을 포함하여 모든 역할에 권한이 부여됨을 나타냅니다.공개항상 모든 역할을 포함하는 암시적으로 정의된 그룹으로 생각할 수 있습니다. 모든 특정 역할에는 직접 부여된 권한, 현재 구성원인 모든 역할에 부여된 권한, 부여된 권한의 합계가 있습니다.공개.
만약부여 옵션 있음이 지정되면 권한을 받는 사람이 이를 다른 사람에게 부여할 수 있습니다. 부여 옵션이 없으면 수신자는 그렇게 할 수 없습니다. 부여 옵션을 부여할 수 없습니다.공개.
만약승인자이 지정되면 지정된 부여자는 현재 사용자여야 합니다. 이 절은 현재 SQL 호환성을 위해서만 이 형식으로 제공됩니다.
소유자는 기본적으로 모든 권한을 가지므로 개체 소유자(일반적으로 개체를 생성한 사용자)에게 권한을 부여할 필요가 없습니다. (그러나 소유자는 안전을 위해 자신의 권한 중 일부를 취소할 수 있습니다.)
객체를 삭제하거나 어떤 방식으로든 객체의 정의를 변경할 수 있는 권리는 부여 가능한 특권으로 취급되지 않습니다. 이는 소유자에게 고유한 것이므로 부여하거나 취소할 수 없습니다. (그러나 객체를 소유한 역할의 멤버십을 부여하거나 취소함으로써 유사한 효과를 얻을 수 있습니다. 아래를 참조하십시오.) 소유자는 암시적으로 객체에 대한 모든 부여 옵션도 갖습니다.
가능한 권한은 다음과 같습니다:
선택삽입업데이트삭제잘라내기참조트리거생성연결임시실행사용SET시스템 변경유지다음에 정의된 특정 유형의 권한PostgreSQL : 문서 : 17 : 5.8. 젠 토토.
온도대체 철자법:임시.
모든 권한객체 유형에 사용 가능한 모든 권한을 부여합니다.특권키워드는 선택사항입니다.PostgreSQL, 엄격한 SQL에서는 필요하지만.
그기능구문은 일반 함수, 집계 함수 및 창 함수에 대해 작동하지만 프로시저에는 작동하지 않습니다. 사용절차그런 분들을 위해서요. 또는 다음을 사용하세요.루틴정확한 유형에 관계없이 함수, 집계 함수, 창 함수 또는 프로시저를 참조합니다.
하나 이상의 스키마 내에서 동일한 유형의 모든 개체에 대한 권한을 부여하는 옵션도 있습니다. 이 기능은 현재 테이블, 시퀀스, 함수 및 프로시저에 대해서만 지원됩니다.모든 테이블특정 객체와 마찬가지로 뷰와 외부 테이블에도 영향을 미칩니다.그랜트명령.모든 기능또한 특정 개체와 마찬가지로 집계 및 창 기능에 영향을 주지만 프로시저에는 영향을 미치지 않습니다.그랜트명령. 사용모든 루틴절차를 포함합니다.
이 변형은그랜트명령은 하나 이상의 다른 역할에 역할의 멤버십을 부여하고 멤버십 옵션을 수정합니다.SET, 상속및관리자; 참조PostgreSQL : 문서 : 17 : 21.3. 토토 베이 멤버십21443_21859
아래 설명된 각 옵션은 다음 중 하나로 설정할 수 있습니다.참또는거짓. 키워드옵션은의 동의어로 허용됩니다.참그러니까관리자 옵션 포함은의 동의어입니다관리자가 TRUE인 경우. 기존 멤버십을 변경할 때 옵션을 생략하면 현재 값이 유지됩니다.
그관리자옵션을 사용하면 구성원은 다른 사람에게 해당 역할의 멤버십을 부여하고 해당 역할의 멤버십도 취소할 수 있습니다. 관리자 옵션이 없으면 일반 사용자는 이를 수행할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다.관리자 옵션 포함그 자체에. 데이터베이스 슈퍼유저는 누구에게나 모든 역할의 멤버십을 부여하거나 취소할 수 있습니다. 이 옵션의 기본값은거짓.
그상속옵션은 새 멤버십의 상속 상태를 제어합니다. 참조PostgreSQL : 문서 : 17 : 21.3. 토토 베이 멤버십23012_23059참, 새 구성원이 부여된 역할을 상속하게 됩니다. 으로 설정된 경우거짓, 새 구성원은 상속되지 않습니다. 새 역할 멤버십을 생성할 때 지정하지 않으면 새 구성원의 상속 속성이 기본값으로 사용됩니다.
그SET옵션, 다음으로 설정된 경우참, 구성원이 다음을 사용하여 부여된 역할로 변경할 수 있도록 허용합니다.사설 토토 설정명령. 역할이 다른 역할의 간접 구성원인 경우 다음을 사용할 수 있습니다.사설 토토 설정각각의 부여 체인이 있는 경우에만 해당 역할로 변경참으로 설정. 이 옵션의 기본값은참.
다른 역할이 소유한 개체를 생성하거나 기존 개체의 소유권을 다른 역할에 부여하려면 다음과 같은 능력이 있어야 합니다.사설 토토 설정그 역할에; 그렇지 않으면 다음과 같은 명령을 사용합니다.변경 ... 소유자또는데이터베이스 생성 ... 소유자실패할 것입니다. 그러나 역할의 권한을 상속받았으나 다음과 같은 능력이 없는 사용자입니다.사설 토토 설정해당 역할이 소유한 기존 개체를 조작하여 해당 역할에 대한 전체 액세스 권한을 얻을 수 있습니다(예: 트로이 목마 역할을 하도록 기존 기능을 재정의할 수 있음). 따라서 역할의 권한을 상속해야 하지만 다음을 통해 액세스할 수 없는 경우사설 토토 설정, SQL 개체를 소유하면 안 됩니다.
만약승인자이 지정되면 지정된 역할에 의해 부여가 수행된 것으로 기록됩니다. 사용자는 해당 역할의 권한을 소유한 경우에만 다른 역할에 부여를 부여할 수 있습니다. 부여자로 기록된 역할은 다음과 같아야 합니다.관리자 옵션부트스트랩 수퍼유저가 아닌 경우 대상 역할에 적용됩니다. 부여가 부트스트랩 수퍼유저 이외의 부여자를 갖는 것으로 기록되면 계속 소유하는 부여자에 따라 달라집니다.관리자 옵션역할에 대해; 그렇다면 만약에관리자 옵션철회되면 종속 부여도 취소되어야 합니다.
권한이 있는 경우와 달리 역할에 대한 멤버십을 부여할 수 없습니다.공개. 또한 이 명령 형식은 의미 없는 단어를 허용하지 않습니다.그룹in사설 토토_사양.
그취소명령은 접근 권한을 취소하는 데 사용됩니다.
이후PostgreSQL8.1에서는 사용자와 그룹의 개념이 역할이라는 단일 종류의 개체로 통합되었습니다. 따라서 더 이상 키워드를 사용할 필요가 없습니다.그룹수혜자가 사용자인지 그룹인지 식별합니다.그룹명령에는 여전히 허용되지만 의미 없는 단어입니다.
사용자가 수행할 수 있음SELECT, 삽입26392_26667
객체의 소유자가 아닌 사람이 다음을 시도할 때부여개체에 대한 권한이 있는 경우 사용자에게 개체에 대한 권한이 전혀 없으면 명령이 완전히 실패합니다. 일부 권한을 사용할 수 있는 한 명령은 계속 진행되지만 사용자에게 부여 옵션이 있는 권한만 부여됩니다.모든 권한 부여양식은 부여 옵션이 없으면 경고 메시지를 발행하고, 다른 양식은 명령에 특별히 명명된 권한에 대한 부여 옵션이 보유되지 않은 경우 경고 메시지를 발행합니다. (원칙적으로 이러한 내용은 객체 소유자에게도 적용되지만 소유자는 항상 모든 부여 옵션을 보유하고 있는 것으로 간주되므로 이러한 경우는 절대 발생하지 않습니다.)
데이터베이스 수퍼유저는 개체 권한 설정에 관계없이 모든 개체에 접근할 수 있다는 점에 유의해야 합니다. 이는 다음의 권리와 유사합니다.루트Unix 시스템에서. 마찬가지로루트, 꼭 필요한 경우를 제외하고는 슈퍼유저로 작업하는 것은 현명하지 않습니다.
수퍼유저가 다음을 발행하기로 선택한 경우그랜트또는취소명령을 실행하면 해당 명령은 영향을 받은 개체의 소유자가 실행한 것처럼 수행됩니다. 특히, 그러한 명령을 통해 부여된 권한은 개체 소유자가 부여한 것으로 나타납니다. (역할 멤버십의 경우 부트스트랩 수퍼유저가 멤버십을 부여한 것으로 보입니다.)
그랜트그리고취소또한 영향을 받은 개체의 소유자가 아니지만 개체를 소유한 사설 토토의 구성원이거나 권한을 보유한 사설 토토의 구성원인 사설 토토에 의해 수행될 수도 있습니다.부여 옵션 있음객체에. 이 경우 권한은 실제로 객체를 소유하거나 권한을 보유한 역할에 의해 부여된 것으로 기록됩니다.부여 옵션 포함. 예를 들어 테이블t1사설 토토이 소유함g1, 그 중 사설 토토u1회원이라면u1다음에 대한 권한을 부여할 수 있습니다.t1에u2, 그러나 해당 권한은에 의해 직접 부여된 것으로 나타납니다.g1. 사설 토토의 다른 구성원g1나중에 취소할 수 있습니다.
역할이 실행 중인 경우그랜트두 개 이상의 역할 멤버십 경로를 통해 간접적으로 필요한 권한을 보유하고 있으며, 어떤 역할이 부여를 수행한 것으로 기록되는지는 지정되지 않습니다. 이러한 경우에는 다음을 사용하는 것이 가장 좋습니다.사설 토토 설정당신이 하고 싶은 특정 사설 토토이 되기 위해그랜트as.
테이블에 대한 권한 부여는 다음에 연결된 시퀀스를 포함하여 테이블에서 사용되는 모든 시퀀스에 대한 권한을 자동으로 확장하지 않습니다.연재열. 시퀀스에 대한 권한은 별도로 설정해야 합니다.
참조PostgreSQL : 문서 : 17 : 5.8. 젠 토토특정 권한 유형에 대한 자세한 내용과 개체의 권한을 검사하는 방법을 확인하세요.
테이블의 모든 사용자에게 삽입 권한 부여영화:
일반인에게 영화 삽입 권한 부여;
사용자에게 사용 가능한 모든 권한 부여마누엘보기 중종류:
마누엘에게 종류에 대한 모든 권한을 부여합니다.
수퍼유저나 소유자가 실행하는 경우 위의 내용은 실제로 모든 권한을 부여한다는 점에 유의하세요.종류, 다른 사람이 실행하면 다른 사람이 부여 옵션을 갖고 있는 권한만 부여됩니다.
역할에 멤버십 부여관리자사용자에게조:
Joe에게 관리자 권한 부여;
SQL 표준에 따르면,특권키워드모든 권한필수입니다. SQL 표준은 명령당 둘 이상의 객체에 대한 권한 설정을 지원하지 않습니다.
포스트그레SQL객체 소유자가 자신의 일반 권한을 취소할 수 있도록 허용합니다. 예를 들어 테이블 소유자는 자신의 권한을 취소하여 테이블을 읽기 전용으로 만들 수 있습니다.삽입, 업데이트, 삭제및잘라내기권한. 이는 SQL 표준에 따르면 불가능합니다. 그 이유는포스트그레SQL소유자의 특권을 소유자가 자신에게 부여한 것으로 간주합니다. 그러므로 그들은 그것을 취소할 수도 있습니다. SQL 표준에서 소유자의 권한은 가정된 엔터티에 의해 부여됩니다.“_시스템”. 존재하지 않음“_시스템”소유자는 이러한 권한을 철회할 수 없습니다.
SQL 표준에 따라 부여 옵션을 부여할 수 있습니다.공개; PostgreSQL은 역할에 대한 부여 옵션 부여만 지원합니다.
SQL 표준은 다음을 허용합니다.승인자만 지정하는 옵션CURRENT_USER또는CURRENT_ROLE. 다른 변형은 PostgreSQL 확장입니다.
SQL 표준은 다음을 제공합니다.사용다른 종류의 개체에 대한 권한: 문자 집합, 데이터 정렬, 번역.
SQL 표준에서 시퀀스에는 다음만 있습니다.사용법권한, 이는 다음의 사용을 제어합니다.다음 값함수와 동일한 표현식다음값PostgreSQL에서. 시퀀스 권한선택그리고업데이트PostgreSQL 확장입니다. 시퀀스의 적용사용에 대한 권한곡선함수는 또한 PostgreSQL 확장입니다(함수 자체도 마찬가지입니다).
데이터베이스, 테이블스페이스, 스키마, 언어 및 구성 매개변수에 대한 권한은 다음과 같습니다.PostgreSQL확장.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.