QuickSight에서 행 수준 보안 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 7월 12일

Amazon QuickSight에서 내 데이터 세트에 RLS를 적용했지만 데이터 액세스에 문제가 있습니다.

간략한 설명

다음은 Amazon QuickSight 데이터 세트에서 행 수준 보안(RLS)을 사용할 때 발생할 수 있는 일반적인 문제입니다.

  • 익명의 QuickSight 사용자에 대한 모든 데이터를 QuickSight 내장 대시보드에서 볼 수 없습니다.
  • 제한된 사용자가 여전히 모든 데이터를 볼 수 있습니다.
  • 제한되지 않은 사용자가 데이터를 볼 수 없습니다.
  • RLS를 적용할 때 오류 코드 DatasetRulesInvalidColType이 표시됩니다.
  • 분석을 생성할 때 코드 DatasetRulesUserDenied 오류가 표시됩니다.

참고: RLS를 사용할 때는 다음 사항을 고려합니다.

  • RLS는 QuickSight의 Enterprise 에디션에서만 사용할 수 있습니다.
  • RLS는 데이터 세트 규칙의 필드에 문자열, char 및 varchar와 같은 텍스트 데이터만 지원합니다. 현재 날짜 또는 숫자 필드에는 RLS가 작동하지 않습니다.
  • 사용자당 적용되는 전체 규칙 레코드 집합은 999를 초과할 수 없습니다. 규칙이 999개를 초과하는 데이터 세트는 RLS 규칙을 데이터 세트에 적용하지 못할 수 있습니다.
  • QuickSight는 null을 빈 필드 값으로 처리하므로 기본값이 null인 빈 행에는 RLS를 적용할 수 없습니다. 그러나 필드의 공백은 리터럴 값으로 취급되므로 데이터 세트 규칙이 이러한 행에 적용됩니다.
  • 데이터 세트 규칙에 추가된 사용자만 정의된 규칙을 기반으로 데이터를 볼 수 있습니다. 다른 사용자는 데이터를 볼 수 없습니다.
  • 데이터 세트 규칙에서 여러 필드를 사용하는 경우 규칙은 AND 연산자로 작동합니다. OR 연산자는 현재 지원되지 않습니다.
  • RLS 태그 기반 규칙은 GenerateEmbedUrlForAnonymousUser API를 사용하는 익명 사용자를 위한 내장 대시보드에서만 지원됩니다. GenerateEmbedUrlForRegisteredUser API를 사용하여 등록된 사용자에 대한 대시보드를 내장한 경우 사용자 수준 규칙을 사용하는 것이 좋습니다.

해결 방법

익명 사용자에 대한 QuickSight 내장 대시보드에서 데이터를 볼 수 없는 경우

익명의 내장 대시보드에 태그 기반 규칙을 사용하는 경우 데이터를 보거나 수정할 수 없습니다. 데이터를 보려면 데이터 세트에 사용자 기반 RLS 규칙을 추가해야 합니다.

다음 예시 데이터 세트 규칙에서 John Stiles는 물류 부서의 데이터만 볼 수 있으며 Martha Rivera는 데이터 세트의 모든 데이터를 볼 수 있습니다.

UserName,Department 
JohnStiles,Logistics 
MarthaRivera,

참고: 데이터 세트에 태그 기반 규칙과 사용자 기반 RLS 규칙을 모두 적용할 수 있습니다.

제한된 사용자가 여전히 모든 데이터를 볼 수 있는 경우

데이터 세트에 규칙이 너무 많으면 RLS를 성공적으로 적용했더라도 제한된 사용자가 여전히 모든 데이터를 볼 수 있습니다. 이 문제를 해결하려면 데이터 세트에 규칙이 999개 이하여야 합니다. UserName으로 사용자를 제한하고 데이터 세트 규칙에 사용자가 999명 이상인 경우 QuickSight 그룹을 생성합니다. 그룹에 사용자를 추가하고 데이터 세트 규칙에서 UserName 대신 GroupName을 사용합니다.

제한되지 않은 사용자가 모든 데이터를 볼 수 없는 경우

제한되지 않은 사용자가 데이터를 볼 수 없는 이유는 다음과 같습니다.

  • 사용자가 데이터 세트 규칙에 존재하지 않습니다. 데이터 세트 규칙을 확인하여 의도한 사용자가 모두 있는지 확인합니다.
  • UserName 또는 GroupName이 QuickSight의 사용자 또는 그룹과 일치하지 않습니다. 데이터 세트 규칙에서 UserName 또는 GroupName을 확인하여 QuickSight의 사용자 또는 그룹과 일치하는지 확인합니다.

RLS를 적용할 때 오류 코드 DatasetRulesInvalidColType이 표시되는 경우

날짜 또는 숫자 필드에 RLS를 사용할 때 DatasetRulesInvalidColType 오류가 발생합니다.

데이터 세트 규칙에서 RLS를 평가하는 데 사용되는 필드를 확인하여 데이터 유형이 String인지 확인합니다. 데이터 세트를 편집하여 QuickSight에서 숫자 필드를 String으로 변환할 수도 있습니다.

분석을 생성할 때 오류 코드 DatasetRulesUserDenied가 표시되는 경우

DataRulesUserDenied 오류는 사용자가 데이터 세트 규칙에 있지 않을 때 발생합니다. 이 오류를 해결하려면 데이터 세트 규칙에 사용자를 추가한 다음 데이터 세트를 새로 고칩니다.