Microsoft SQL Server
데이터베이스 사용 권한
수색…
비고
기본 구문 :
{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
- {교부금 | REVOKE | DENY} - 달성하려는 목표
- 보조금 : "명시된 교장에게이 허가를주십시오"
- 폐지 : "명시된 교장으로부터이 허가를 빼십시오"
- Deny : "명시된 주 서버에이 사용 권한이 없다는 것을 확인하십시오 (즉,"
DENY SELECT
"는 다른 사용 권한과 상관없이이 주 서버에 대해SELECT
가 실패 함을 의미합니다)
- PERMISSION_NAME - 영향을주고 자하는 작업입니다. 이것은 보안 개체에 따라 다릅니다. 예를 들어, 저장 프로 시저에 대한
GRANT SELECT
를GRANT SELECT
것은 의미가 없습니다. - SECURABLE - 권한에 영향을 미치려고하는 것의 이름입니다. 이것은 선택 사항 입니다.
GRANT SELECT TO [aUser];
완벽하게 받아 들일 수있다; 그것은 "SELECT
권한이 의미가있는 모든 보안 개체에 대해 해당 권한을GRANT
합니다"를 의미합니다. - PRINCIPAL - 권한에 영향을 미치려고합니다. 데이터베이스 레벨에서 이것은 역할 (어플리케이션 또는 데이터베이스) 또는 사용자 (로그인에 맵핑되거나 맵핑되지 않음) 일 수 있습니다.
권한 변경
GRANT SELECT ON [dbo].[someTable] TO [aUser];
REVOKE SELECT ON [dbo].[someTable] TO [aUser];
--REVOKE SELECT [dbo].[someTable] FROM [aUser]; is equivalent
DENY SELECT ON [dbo].[someTable] TO [aUser];
CREATE USER
--implicitly map this user to a login of the same name as the user
CREATE USER [aUser];
--explicitly mapping what login the user should be associated with
CREATE USER [aUser] FOR LOGIN [aUser];
CREATE ROLE
CREATE ROLE [myRole];
역할 구성원 변경
-- SQL 2005+
exec sp_addrolemember @rolename = 'myRole', @membername = 'aUser';
exec sp_droprolemember @rolename = 'myRole', @membername = 'aUser';
-- SQL 2008+
ALTER ROLE [myRole] ADD MEMBER [aUser];
ALTER ROLE [myRole] DROP MEMBER [aUser];
참고 : 역할 구성원은 모든 데이터베이스 수준 보안 주체가 될 수 있습니다. 즉, 역할을 다른 역할의 구성원으로 추가 할 수 있습니다. 또한 역할 구성원을 추가 / 삭제하는 것은 멱등 원입니다. 즉, 추가 / 삭제를 시도하면 역할 구성원의 현재 상태에 관계없이 역할에 존재 여부가 각각 표시됩니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow