사용자에게 특정 유효 권한이있는 이유를 어떻게 알 수 있습니까?


14

다음을 사용하여 효과적인 권한을 쿼리 할 수 ​​있음을 알고 있습니다 sys.fn_my_permissions.

USE myDatabase;
SELECT * FROM fn_my_permissions('dbo.myTable', 'OBJECT') 

 entity_name | subentity_name | permission_name 
------------------------------------------------
 dbo.myTable |                | SELECT          
 dbo.myTable |                | UPDATE          
 ...

현재 사용자에게 myTable데이터베이스에서 SELECT, INSERT, UPDATE 등의 권한이 있는지 여부를 알려줍니다 myDatabase.

사용자에게 이러한 권한이있는 이유 를 쉽게 찾을 수 있습니까? 예를 들어 fn_my_permissions_ex추가 reason열 을 출력하는 함수를 갖고 싶습니다 .

USE myDatabase;
SELECT * FROM fn_my_permissions_ex('dbo.myTable', 'OBJECT') 

 entity_name | subentity_name | permission_name | reason
------------------------------------------------------------------------------------------------------------------------------------
 dbo.myTable |                | SELECT          | granted to database role public
 dbo.myTable |                | UPDATE          | member of group MYDOMAIN\Superusers, which belongs to database role db_datawriter
 ...

불행히도 SQL Server 설명서에서 이러한 기능을 찾을 수 없습니다. 이 기능을 제공하는 도구 나 스크립트가 있습니까?


왜 txt 파일로 내 보내지 않습니까?, 어떤 OS를 사용하고 있습니까?
jcho360

1
@ jcho360 : 기능이 없으므로 fn_my_permission_ex내보낼 수있는 것이 없습니다. 해당 기능을 가진 기능이나 도구가 있는지 묻습니다 .
Heinzi

SSMS를 사용하고 있습니까?
jcho360

1
멋진 질문입니다. 나는 이것을 매우 오랫동안 알아 내려고 노력했다. fn_my_permissions는 다소 작동하지만 종종 원점까지 추적 할 수없는 권한을 보여줍니다.
PseudoToad 2018 년

답변:


8

아래 기사에서 보안에 관한 좋은 정보를 찾을 수 있습니다.

SQL Server 권한 검토 | TechRepublic http://tek.io/KfzEyp

외:

다음 쿼리는 sys.database_permissions 시스템 뷰를 사용하여 현재 데이터베이스 내에서 특정 권한을 가진 사용자를 나타냅니다.

SELECT
        dp.class_desc
       ,dp.permission_name
       ,dp.state_desc
       ,ObjectName = OBJECT_NAME(major_id)
       ,GranteeName = grantee.name
       ,GrantorName = grantor.name
    FROM
        sys.database_permissions dp
        JOIN sys.database_principals grantee
        ON dp.grantee_principal_id = grantee.principal_id
        JOIN sys.database_principals grantor
        ON dp.grantor_principal_id = grantor.principal_id
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.