Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
사용자 및 데이터 액세스 관리
액세스 문제 해결을 위한 쿼리 예

액세스 문제 해결을 위한 쿼리 예

사용자의 권한 또는 액세스에 대한 정보를 반환하는 방법에 대한 샘플 쿼리를 검토하십시오.

필수 Edition

지원 제품: Salesforce Classic 및 Lightning Experience 모두
사용하는 Salesforce Edition에 따라 사용 가능한 사용자 및 데이터 관리 옵션이 다릅니다.
팁
Agentforce 사용하여 설정하면 액세스 문제를 보다 효율적으로 해결할 수 있습니다. 자세한 내용은 Agentforce에서 설정 및 Agentforce에서 사용자 액세스 관리를 참조하십시오.
노트
노트 권한에 대한 대부분의 예제 쿼리는 권한 집합을 사용합니다. 그러나 프로필 및 권한 집합 그룹에 연결된 권한 집합이 있으므로 이러한 쿼리는 프로필 및 권한 집합 그룹에도 작동합니다. 자세한 내용은 "프로필 및 권한 집합 그룹" 섹션을 참조하십시오.

개체 권한

사례에 대한 개체 읽기 권한이 활성화된 권한 집합을 반환합니다.

SELECT ParentId,Parent.ProfileId,Parent.Name,Parent.PermissionSetGroupId
    FROM ObjectPermissions
    WHERE SobjectType = 'Case' 
    AND PermissionsRead = true 

사례에 대한 개체 읽기 권한을 부여하는 사용자에게 할당된 권한 집합을 반환합니다.

SELECT AssigneeId,ExpirationDate,Id,IsActive,PermissionSetGroupId,PermissionSetId,
PermissionSet.Name FROM PermissionSetAssignment
    WHERE PermissionSetId IN
        (SELECT ParentId
        FROM ObjectPermissions WHERE SobjectType = 'Case' 
        AND PermissionsRead = true)
    AND AssigneeId = '005XXXXXXXXXXXXQAT' 

필드 권한

권한 집합과 연결된 필드 권한을 반환합니다.

SELECT Field,Id,ParentId,PermissionsEdit,PermissionsRead,SobjectType,SystemModstamp
    FROM FieldPermissions
    WHERE ParentId = '0PSXXXXXXXXXXXX'

특정 필드 권한이 활성화된 권한 집합을 반환합니다.

SELECT Field,Id,ParentId,PermissionsEdit,PermissionsRead,SobjectType,SystemModstamp
    FROM FieldPermissions 
    WHERE Field = 'Account.CustomerPriority__c'
    AND PermissionsEdit = true

특정 필드 권한을 부여하는 사용자에게 할당된 권한 집합을 반환합니다.

SELECT AssigneeId,ExpirationDate,Id,IsActive,PermissionSetGroupId,PermissionSetId,
PermissionSet.Name FROM PermissionSetAssignment
    WHERE PermissionSetId IN
         (SELECT ParentId
          FROM FieldPermissions 
          WHERE Field = 'Account.CustomerPriority__c'
          AND PermissionsEdit = true)
    AND AssigneeId = '005XXXXXXXXXXXXQAT'

사용자 권한

지정된 권한을 부여하는 사용자에게 할당된 권한 집합을 반환합니다.

SELECT AssigneeId,ExpirationDate,Id,IsActive,
PermissionSetGroupId,PermissionSetId,
PermissionSet.Name,PermissionSet.PermissionsViewAllData,
PermissionSet.PermissionsCustomizeApplication 
    FROM PermissionSetAssignment
    WHERE AssigneeId = '005XXXXXXXXXXXXIAS' AND 
    (PermissionSet.PermissionsViewAllData = true OR
    PermissionSet.PermissionsCustomizeApplication = true)

사용자가 해당 사용자로 로그인할 때 보유한 사용자 권한을 반환합니다.

SELECT <All Fields> FROM UserPermissionAccess   // or specify permissions

프로필 및 권한 집합 그룹

각 프로필 또는 권한 집합 그룹에 연결된 권한 집합이 있습니다. 먼저 프로필 또는 권한 집합 그룹에 대한 관련 권한 집합 ID를 가져온 다음, 다른 쿼리에서 이 권한 집합 ID를 사용할 수 있습니다. 아래의 두 가지 쿼리는 개체 권한, 사용자 권한 및 액세스 설정에 대해 수정할 수 있습니다.

연결된 권한 집합을 사용하여 프로필과 연결된 권한을 반환합니다.

#Get the profile's associated permission set
SELECT Id from PermissionSet 
    WHERE ProfileId = '00eXXXXXXXXXXXX'

SELECT Field,Id,ParentId,PermissionsEdit,PermissionsRead,
SobjectType,SystemModstamp 
    FROM FieldPermissions
    WHERE ParentId = '0PSXXXXXXXXXXXXWAU'      //ID of the associated permission set

관련 권한 집합을 사용하여 권한 집합 그룹과 연결된 권한을 반환합니다.

#Get the permission set groups's associated permission set.
SELECT Id from PermissionSet 
    WHERE PermissionSetGroupId = '0PGXXXXXXXXXXXX'

SELECT Field,Id,ParentId,PermissionsEdit,PermissionsRead,
SobjectType,SystemModstamp 
    FROM FieldPermissions
    WHERE ParentId = '0PSXXXXXXXXXXXXWAU'      //ID of the associated permission set

레코드 액세스

사용자에게 레코드에 대한 액세스 권한이 있는지 여부와 주어진 액세스 수준을 반환합니다.

SELECT RecordId,HasReadAccess,HasEditAccess,HasDeleteAccess,HasTransferAccess,HasAllAccess,MaxAccessLevel 
     FROM UserRecordAccess 
     WHERE RecordId = '001XXXXXXXXXXXXIAC'
     AND UserId = '005XXXXXXXXXXXXQAT'

특정 계정 레코드에 대한 액세스 권한이 있는 사용자를 반환합니다.

SELECT AccountAccessLevel,AccountId,CaseAccessLevel,ContactAccessLevel,Id,IsDeleted, LastModifiedById,LastModifiedDate,OpportunityAccessLevel,RowCause,UserOrGroupId     
    FROM AccountShare
    WHERE AccountId = '001XXXXXXXXXXXXIAC'

조회된 사용자에게 레코드에 대한 읽기 및 전송 액세스 권한이 있는지 여부와 레코드에 대한 사용자의 최대 액세스 수준을 반환합니다.

SELECT RecordId,HasReadAccess,HasTransferAccess,MaxAccessLevel
    FROM UserRecordAccess
    WHERE UserId = '005XXXXXXXXXXXXQAT'
    AND RecordId = '001XXXXXXXXXXXXIAC'      //or Record IN [list of IDs]

조회된 사용자에게 읽기 액세스 권한이 있는 모든 레코드를 반환합니다.

SELECT RecordId
    FROM UserRecordAccess
    WHERE UserId = '005XXXXXXXXXXXXQAT'
    AND RecordId IN [list of IDs]
    AND HasReadAccess = true

액세스 설정(SetupEntityAccess)

액세스 설정은 권한 집합 및 프로필에서 지정할 수 있으며 Visualforce 페이지, Apex 클래스 및 사용자 정의 권한을 포함할 수 있습니다. 자세한 내용은 Salesforce 도움말의 권한 및 액세스 설정 및 Salesforce Platform 개발자 가이드의 개체 참조에서 SetupEntityAccess를 참조하십시오.

지정된 액세스 설정이 활성화된 권한 집합을 반환합니다.

SELECT Id,ParentId,SetupEntityId,SetupEntityType,
SystemModstamp 
    FROM SetupEntityAccess
    WHERE SetupEntityId = '0H4XXXXXXXXXXXX' //ID of Apex class, Visualforce page, etc.

지정된 액세스 설정이 활성화된 사용자에게 할당된 권한 집합을 반환합니다.

SELECT AssigneeId,ExpirationDate,Id,IsActive,
PermissionSetGroupId,PermissionSetId,
PermissionSet.Name 
    FROM PermissionSetAssignment
    WHERE PermissionSetId IN 
        (SELECT ParentId 
        FROM SetupEntityAccess
        WHERE SetupEntityId = '0H4XXXXXXXXXXXX' )
    AND AssigneeId = '005XXXXXXXXXXXXQAT'
 
로드 중
Salesforce Help | Article