수색…


비고

기본 구문 :

{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
  • {교부금 | REVOKE | DENY} - 달성하려는 목표
    • 보조금 : "명시된 교장에게이 허가를주십시오"
    • 폐지 : "명시된 교장으로부터이 허가를 빼십시오"
    • Deny : "명시된 주 서버에이 사용 권한이 없다는 것을 확인하십시오 (즉," DENY SELECT "는 다른 사용 권한과 상관없이이 주 서버에 대해 SELECT 가 실패 함을 의미합니다)
  • PERMISSION_NAME - 영향을주고 자하는 작업입니다. 이것은 보안 개체에 따라 다릅니다. 예를 들어, 저장 프로 시저에 대한 GRANT SELECTGRANT 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