그랜트 - 액세스 권한 정의
grant select | 삽입 | 업데이트 | 삭제 | 잘린 | 참조 | 트리거 | 유지하다 [, ...] | 모든 [권한] on [테이블]table_name
[, ...] | 스키마의 모든 테이블schema_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 select | 삽입 | 업데이트 | 참조 (column_name
[, ...]) [, ...] | 모든 [권한] (column_name
[, ...]) [테이블]table_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 선택 | 업데이트 [, ...] | 모든 [권한] on 시퀀스Sequence_name
[, ...] | 스키마의 모든 시퀀스Schema_Name
[, ...] 에게사설 토토 _specification
[, ...] [그랜트 옵션 포함] [부여사설 토토 _specification
] 그랜트 create | 연결 | 임시 | 온도 [, ...] | 모든 [권한] 데이터베이스database_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 모든 [권한] 도메인domain_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 모든 [권한] 외국 데이터 포장지fdw_name
[, ...] 에게role_specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 모든 [권한] 외국 서버에서server_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 execute | 모든 [권한] on function | 절차 | 루틴ROUNINE_NAME
[[[[Argmode
] [arg_name
]arg_type
[, ...])] [, ...] | 모든 함수 | 절차 | 스키마에서의 루틴Schema_Name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 모든 [권한] On La사설 토토uagela사설 토토_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 select | 업데이트 [, ...] | 모든 [권한] 큰 물체에loid
[, ...] 에게사설 토토 _specification
[, ...] [그랜트 옵션 포함] [부여사설 토토 _specification
] grant set | Alter System [, ...] | 모든 [권한] on 매개 변수configuration_parameter
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 create | usage [, ...] | 모든 [권한] 스키마Schema_Name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] grant create | 모든 [권한] 테이블 스페이스에서TableSpace_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 그랜트 usage | 모든 [권한] on typetype_name
[, ...] 에게사설 토토 _specification
[, ...] [보조금 옵션 포함] [부여사설 토토 _specification
] 승인하다role_name
[, ...] to사설 토토 _specification
[, ...] [admin | 상속 | set | | 참 | 거짓 ] [부여사설 토토 _specification
]여기서사설 토토 _specification
can be :[Group]role_name
| 공공의 | current_role | current_user | Session_USER
thegrant
명령에는 두 가지 기본 변형이 있습니다. 하나는 데이터베이스 개체 (테이블, 열,보기, 외국 테이블, 시퀀스, 데이터베이스, 외국 데이터 래퍼, 외국 서버, 기능, 절차, 절차 적 언어, 구성 매개 변수, 스키마, 테이블 스페이스 또는 유형)에 권한을 부여하는 두 가지 기본 변형이 있습니다. 이 변형은 여러면에서 비슷하지만 별도로 설명하기에 충분히 다릅니다.
이 변형의grant
명령은 데이터베이스 객체의 특정 권한을 하나 이상의 사설 토토에 제공합니다. 이 특권은 이미 부여 된 사람에게 추가됩니다.
키워드공개
나중에 생성 될 수있는 것들을 포함하여 모든 사설 토토에 특권이 부여되어야 함을 나타냅니다.public
항상 모든 역할을 포함하는 암시 적으로 정의 된 그룹으로 생각할 수 있습니다. 특정한 역할은 직접 권한이 부여 된 특권의 합계, 현재의 역할에 부여 된 특권 및에 부여 된 특권을 갖습니다.public
.
if보조금 옵션
지정되어 있으며, 특권을받는 사람은 차례로 다른 사람들에게 그것을 부여 할 수 있습니다. 보조금 옵션이 없으면 수신자는 그렇게 할 수 없습니다. 보조금 옵션을 부여 할 수 없습니다public
.
if부여
지정되어 있으며, 지정된 보조자는 현재 사용자 여야합니다. 이 조항은 현재 SQL 호환성에 대해서만이 형식으로 존재합니다.
소유자는 기본적으로 모든 권한이 있기 때문에 객체의 소유자에게 권한을 부여 할 필요가 없습니다. (그러나 소유자는 안전에 대한 자신의 특권을 취소하기로 선택할 수 있습니다.)
객체를 떨어 뜨리거나 어떤 식 으로든 정의를 변경할 수있는 권리는 부여 가능한 특권으로 취급되지 않습니다. 그것은 소유자에게 내재되어 있으며, 부여되거나 취소 될 수 없습니다. (그러나 객체를 소유 한 역할의 멤버십을 부여하거나 취소함으로써 비슷한 효과를 얻을 수 있습니다. 아래 참조) 소유자는 암시 적으로 개체에 대한 모든 보조금 옵션이 있습니다..
가능한 특권은 다음과 같습니다.
select
삽입
업데이트
삭제
Truncate
참조
트리거
Create
Connect
임시
execute
사용법
SET
Alter System
유지 관리
특정 유형의 권한,PostgreSQL : 문서 : 17 : 5.8. 젠 토토.
temp
대체 철자임시
.
모든 권한
객체 유형에 사용할 수있는 모든 권한을 부여하십시오. 그만큼특권
키 단어는 선택 사항입니다PostgreSQL, 엄격한 SQL에 의해 요구되지만
the기능
구문은 일반 함수, 집계 함수 및 창 함수에 대해 작동하지만 절차에는 그렇지 않습니다. 사용절차
또는 사용루틴
정확한 유형에 관계없이 함수, 집계 함수, 창 함수 또는 절차를 참조하려면
하나 이상의 스키마 내에서 동일한 유형의 모든 객체에 권한을 부여 할 수있는 옵션도 있습니다. 이 기능은 현재 테이블, 시퀀스, 기능 및 절차에 대해서만 지원됩니다.모든 테이블
view와 같은 뷰와 외국 테이블에도 영향을 미칩니다.grant
명령.모든 기능
또한 집계 및 창 함수에도 영향을 미치지 만 프로 시저에는 영향을 미치지 않습니다.grant
명령. 사용모든 루틴
절차 포함.
이 변형의grant
명령은 역할의 멤버십을 하나 이상의 다른 역할과 멤버십 옵션의 수정으로 부여합니다SET
, 상속
및관리자
; 보다PostgreSQL : 문서 : 17 : 21.3. 토토 베이 멤버십자세한 내용. 역할의 회원 자격은 잠재적으로 각 회원에게 부여 된 특권에 액세스 할 수 있으며 잠재적으로 역할 자체를 변경할 수있는 능력을 가능하게하기 때문에 중요합니다. 그러나 부여 된 실제 권한은 보조금과 관련된 옵션에 따라 다릅니다. 기존 멤버십 옵션을 수정하려면 업데이트 된 옵션 값으로 멤버십을 지정합니다.
아래 설명 된 각 옵션은 어느 쪽이든 설정할 수 있습니다true
또는false
. 키워드옵션
동의어로 받아 들여집니다.true
관리자 옵션
동의어입니다admin true
. 기존 멤버십을 변경하면 옵션의 누락이 현재 값을 유지합니다.
the관리자
옵션을 통해 회원은 차례로 다른 사람에게 사설 토토 멤버십을 부여하고 그 사설 토토 멤버십을 철회 할 수 있습니다. 관리자 옵션이 없으면 일반 사용자는 그렇게 할 수 없습니다. 역할은 보유하는 것으로 간주되지 않습니다관리자 옵션
그 자체. 데이터베이스 슈퍼 사용자는 모든 역할에서 모든 역할을 수행하거나 취소 할 수 있습니다. 이 옵션은 기본값거짓
.
the상속
옵션은 새 멤버십의 상속 상태를 제어합니다. 보다PostgreSQL : 문서 : 17 : 21.3. 토토 베이 멤버십상속에 대한 자세한 내용. 로 설정된 경우true
, 새 멤버가 부여 된 역할에서 상속됩니다. 로 설정된 경우거짓
, 새 멤버는 상속하지 않습니다. 새로운 사설 토토 멤버십을 만들 때 지정되지 않은 경우,이 기본값은 새 멤버의 상속 속성으로 변합니다.
theset
옵션이 설정된 경우true
, 멤버가를 사용하여 부여 된 역할로 변경할 수 있도록합니다.사설 토토 설정
명령. 역할이 다른 역할의 간접 구성원 인 경우 사용할 수 있습니다.사설 토토 설정
각각의 보조금 체인이있는 경우에만 해당 사설 토토로 변경하려면true 설정
. 이 옵션은 기본값true
.
다른 사설 토토을 소유 한 객체를 만들거나 기존 객체의 소유권을 다른 사설 토토에 제공하려면사설 토토 설정
그 사설 토토; 그렇지 않으면와 같은 명령Alter ... 소유자에게
또는데이터베이스 생성 ... 소유자
실패합니다. 그러나 역할의 특권을 물려받지 만사설 토토 설정
해당 역할에 대한 역할에 의해 소유 한 기존 개체를 조작하여 역할에 대한 완전한 액세스를 얻을 수 있습니다 (예 : 기존 기능을 재정의하여 트로이 목마 역할을 할 수 있음). 따라서 역할의 권한을 상속받을 수 있지만사설 토토 설정
, 그것은 SQL 객체를 소유하지 않아야합니다.
if부여
지정되어 있으며, 보조금은 지정된 역할에 의해 수행 된 것으로 기록됩니다. 사용자는 해당 역할의 특권을 가진 경우 보조금을 다른 역할에만 적용 할 수 있습니다. 부여자로 기록 된 역할은관리자 옵션
부트 스트랩 슈퍼업자가 아닌 한 대상 사설 토토에서. 보조금이 부트 스트랩 슈퍼 서서 이외의 보조금을 보유한 것으로 기록되면, 계속 보유한 보조금에 달려 있습니다관리자 옵션
역할에 대한; 그래서, if관리자 옵션
취소되었고, 의존적 보조금도 취소되어야합니다.
특권의 경우와 달리 사설 토토 멤버십은 부여 될 수 없습니다public
. 또한이 형태의 명령은 노이즈 워드를 허용하지 않습니다그룹
in사설 토토 _specification
.
theRevoke
명령은 액세스 권한을 취소하는 데 사용됩니다.
이후postgresql8.1, 사용자와 그룹의 개념은 역할이라고하는 단일 종류의 엔티티로 통합되었습니다. 따라서 더 이상 키워드를 사용할 필요가 없습니다그룹
수 여자가 사용자인지 그룹인지 확인하려면그룹
는 여전히 명령에 허용되지만 소음 단어입니다.
사용자가 수행 할 수 있습니다select
, 삽입
등의 특정 열 또는 전체 테이블에 대한 특권을 보유하는 경우 열에 있습니다. 테이블 레벨에서의 특권을 부여한 다음 한 열에 대한 취소는 원하는 것을 수행하지 않습니다. 테이블 레벨 보조금은 열 수준 작업에 영향을받지 않습니다.
객체의 비 소유자가 시도 할 때grant
객체의 권한이있는 경우 사용자가 객체에 권한이없는 경우 명령이 완전히 실패합니다. 일부 권한을 사용할 수있는 한 명령은 진행되지만 사용자에게 보조금 옵션이있는 권한 만 부여합니다. 그만큼모든 특권을 부여
양식은 보조금 옵션이 보유되지 않으면 경고 메시지를 발행하는 반면, 다른 양식은 명령에 명시된 명령에 대한 권한에 대한 보조금 옵션이 보관되지 않은 경우 경고를 발행합니다. (원칙적 으로이 진술은 객체 소유자에게도 적용되지만 소유자는 항상 모든 보조금 옵션을 보유한 것으로 취급되므로 사례는 결코 발생할 수 없습니다.)
Database SuperUser는 객체 권한 설정에 관계없이 모든 객체에 액세스 할 수 있음을 주목해야합니다. 이것은의 권리와 비슷합니다루트
유닉스 시스템에서. 와 마찬가지로루트
, 절대적으로 필요한 경우를 제외하고 슈퍼업자로 작동하는 것은 현명하지 않습니다.
슈퍼업자가 A를 발행하기로 선택한 경우grant
또는Revoke
명령에 따라 명령은 영향을받는 객체의 소유자가 발행 한 것처럼 수행됩니다. 특히, 그러한 명령을 통해 부여 된 특권은 객체 소유자가 부여한 것으로 보입니다. (사설 토토 멤버십의 경우, 멤버십은 부트 스트랩 슈퍼 서서에 의해 부여 된 것으로 보입니다.)
grant
및Revoke
영향을받는 대상의 소유자가 아닌 역할에 의해 수행 될 수 있지만, 대상을 소유하거나 특권을 보유하는 역할의 구성원 인 역할의 구성원입니다.보조금 옵션
개체에서. 이 경우 특권은 실제로 대상을 소유하거나 권한을 보유하는 역할에 의해 부여 된 것으로 기록됩니다.보조금 옵션
. 예를 들어, 표T1
Role 소유G1
, 어떤 사설 토토U1
멤버입니다.U1
특권을 부여 할 수 있습니다T1
toU2
, 그러나 그 특권은에 의해 직접 부여 된 것으로 보입니다G1
. 사설 토토의 다른 구성원G1
나중에 취소 할 수 있습니다.
사설 토토이 실행되는 경우grant
하나 이상의 사설 토토 멤버십 경로를 통해 필요한 권한을 간접적으로 보유하고 있으며, 그 보조금을 포함한 사설 토토을 포함하는 것은 지정되지 않습니다. 그러한 경우 사용하는 것이 가장 좋습니다사설 토토 설정
당신이하고 싶은 특정 사설 토토이 되려면그랜트
as.
테이블에 허가 부여는 테이블에 사용 된 시퀀스에 대한 권한을 자동으로 연장하지 않습니다.Serial
열. 시퀀스에 대한 권한은 별도로 설정해야합니다.
참조PostgreSQL : 문서 : 17 : 5.8. 젠 토토특정 권한 유형에 대한 자세한 내용과 물체의 권한을 검사하는 방법.
테이블의 모든 사용자에게 삽입 권한을 부여영화
:
필름에 공개 삽입을 그랜트 삽입;
사용 가능한 모든 권한을 사용자에게 부여Manuel
보기Kinds
:
모든 특권을 Manuel에게 부여하십시오;
슈퍼 유저 또는 소유자가 실행 한 경우 위의 내용은 실제로 모든 권한을 부여 할 것입니다.Kinds
, 다른 사람이 실행하면 다른 사람에게 보조금 옵션이있는 권한 만 부여합니다.
사설 토토 멤버십Admins
to userJoe
:
Joe에게 관리자를 부여하십시오;
SQL 표준에 따르면특권
key Word in모든 권한
SQL 표준은 명령 당 하나 이상의 오브젝트에서 권한을 설정하는 것을 지원하지 않습니다.
postgresql객체 소유자가 자신의 평범한 권한을 취소 할 수 있도록합니다. 예를 들어, 테이블 소유자는 자신의 자신의 것을 취소하여 테이블을 읽을 수 있습니다삽입
, 업데이트
, 삭제
및Truncate
특권. 이것은 SQL 표준에 따라 불가능합니다. 그 이유는PostgreSQL소유자의 특권을 소유자가 자신에게 부여한 것으로 취급합니다. 그러므로 그들은 그들도 그들을 취소 할 수 있습니다. SQL 표준에서 소유자의 권한은 가정 된 엔티티에 의해 부여됩니다“_System”. 존재하지 않는다“_system”, 소유자는 이러한 권리를 취소 할 수 없습니다.
SQL 표준에 따르면, 보조금 옵션을 부여 할 수 있습니다public
; PostgreSQL은 역할에 대한 보조금 옵션 부여 만 지원합니다.
SQL 표준은를 허용합니다.부여
만 지정하는 옵션current_user
또는current_role
. 다른 변형은 PostgreSQL 확장입니다.
SQL 표준은 A를 제공합니다.usage
다른 종류의 객체에 대한 특권 : 문자 세트, 콜라주, 번역.
SQL 표준에서 시퀀스 만 만 있습니다.usage
권한, 사용을 제어하는 특권다음 가치
expression, 함수와 동일합니다NextVal
postgresql에서. 시퀀스 권한select
and업데이트
PostgreSQL 확장자입니다. 시퀀스의 적용usage
Currval
함수는 또한 PostgreSQL 확장자입니다 (함수 자체와 마찬가지로)
데이터베이스, 테이블 스페이스, 스키마, 언어 및 구성 매개 변수의 권한은PostgreSQL확장.
문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면