Amazon Quick Sight에서 데이터세트에 행 수준 보안(RLS)을 적용했지만 데이터 액세스에 문제가 발생합니다.
간략한 설명
Quick Sight 데이터세트에서 RLS를 사용하는 경우 다음과 같은 문제가 발생할 수 있습니다.
- 익명의 Quick Sight 사용자에 대한 데이터는 Quick Sight 포함 대시보드에서 볼 수 없습니다.
- 제한된 사용자는 여전히 모든 데이터를 볼 수 있습니다.
- 제한되지 않은 사용자는 데이터를 볼 수 없습니다.
- RLS를 적용하면 오류 코드 ‘DatasetRulesInvalidColType’을 받습니다.
- 분석을 만들면 ‘DatasetRulesUserDenied’ 오류 코드를 받습니다.
RLS에는 다음과 같은 제한 사항이 있습니다.
- RLS는 Amazon Quick Suite Enterprise 에디션에서만 사용할 수 있습니다.
- RLS는 데이터세트 규칙의 필드에 대해 string, char, varchar와 같은 텍스트 데이터만 지원합니다. RLS는 날짜 또는 숫자 필드에 사용할 수 없습니다.
- 각 사용자에게 적용할 수 있는 전체 규칙 레코드 세트는 999개를 초과할 수 없습니다. 규칙이 999개를 초과하는 데이터세트는 RLS 규칙을 데이터세트에 적용하지 못할 수 있습니다.
- Quick Sight는 null을 빈 필드 값으로 취급하므로 기본값이 null인 빈 행에는 RLS를 적용할 수 없습니다. 그러나 Quick Sight는 필드의 공백을 리터럴 값으로 취급하므로 데이터세트 규칙이 이러한 행에 적용됩니다.
- 데이터세트 규칙에 추가한 사용자만 정의된 규칙에 따라 데이터를 볼 수 있습니다. 다른 사용자는 데이터를 볼 수 없습니다.
- 데이터세트 규칙에서 여러 필드를 사용하는 경우 규칙은 AND 연산자로 작동합니다. RLS는 OR 연산자를 지원하지 않습니다.
- RLS는 GenerateEmbedUrlForAnonymousUser API를 사용하여 익명 사용자를 위한 포함된 대시보드에 대한 태그 기반 규칙만 지원합니다. GenerateEmbedUrlForRegisteredUser API를 사용하여 등록된 사용자를 위한 대시보드를 포함한 경우 사용자 기반 규칙을 사용하십시오.
해결 방법
익명의 사용자에 대한 데이터는 Quick Sight 포함 대시보드에서 볼 수 없음
포함된 익명 대시보드에 태그 기반 규칙을 사용하는 경우 데이터를 보거나 수정할 수 없습니다. 데이터를 보려면 데이터세트에 사용자 기반 RLS 규칙을 추가해야 합니다.
다음 예제 데이터세트 규칙에서 John Stiles는 물류 부서의 데이터만 볼 수 있습니다. Martha Rivera는 데이터세트의 모든 데이터를 볼 수 있습니다.
UserName,Department
JohnStiles,Logistics
MarthaRivera,
참고: 데이터세트에 태그 기반 규칙과 사용자 기반 RLS 규칙을 모두 적용할 수 있습니다.
제한된 사용자는 여전히 모든 데이터를 볼 수 있음
데이터세트에 너무 많은 규칙이 포함된 경우 RLS를 성공적으로 적용했더라도 제한된 사용자는 여전히 모든 데이터를 볼 수 있습니다. 이 문제를 해결하려면 데이터세트에 포함된 규칙이 999개 이하인지 확인하십시오. UserName으로 사용자를 제한하고 데이터세트 규칙에 999명이 넘는 사용자가 있는 경우 Quick Sight 그룹을 만드십시오. 그룹에 사용자를 추가하고 데이터세트 규칙에서 GroupName을 UserName 대신 사용합니다.
제한되지 않은 사용자는 데이터를 볼 수 없음
제한되지 않은 사용자는 다음과 같은 이유로 데이터를 볼 수 없습니다.
- 사용자는 데이터세트 규칙에 존재하지 않습니다. 데이터세트 규칙을 확인하여 대상 사용자가 모두 있는지 확인하십시오.
- UserName 또는 GroupName이 Quick Sight의 사용자 또는 그룹과 일치하지 않습니다. 데이터세트 규칙에서 UserName 또는 GroupName을 확인하여 Quick Sight의 사용자 또는 그룹과 일치하는지 확인하십시오.
RLS를 적용하면 오류 코드 ‘DatasetRulesInvalidColType’을 받음
날짜 또는 숫자 필드에 RLS를 사용하면 ‘DatasetRulesInvalidColType’ 오류가 발생합니다.
데이터세트 규칙에서 RLS를 평가하는 데 사용되는 필드를 확인하여 데이터 유형이 문자열인지 확인하십시오. Quick Sight에서 데이터세트를 편집하여 숫자 필드를 문자열로 변환할 수도 있습니다.
분석을 만들면 ‘DatasetRulesUserDenied’ 오류 코드를 받음
사용자가 데이터세트 규칙에 없는 경우 ‘DataRulesUserDenied’ 오류가 발생합니다. 이 오류를 해결하려면 데이터세트 규칙에 사용자를 추가한 다음, 데이터세트를 새로 고침하십시오.