사용자 기반 규칙과 함께 행 수준 보안(RLS)을 사용하여 데이터 세트 액세스 제한 - 아마존 QuickSight

중요: Amazon QuickSight 분석 워크스페이스를 재설계했습니다. 콘솔의 새로운 모습을 반영하지 않는 스크린샷이나 절차 텍스트가 나타날 수 있습니다. QuickSight 스크린샷과 절차 텍스트를 업데이트하는 중입니다.

기능이나 항목을 찾으려면 빠른 검색창을 사용하세요.

QuickSight의 새로운 모습에 대한 자세한 내용은 Amazon에서의 새로운 분석 경험 소개를 참조하십시오 QuickSight.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 기반 규칙과 함께 행 수준 보안(RLS)을 사용하여 데이터 세트 액세스 제한

 적용 대상: Enterprise Edition 

Amazon QuickSight 엔터프라이즈 에디션에서는 행 수준 보안 (RLS) 을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. 데이터 세트를 공유하기 전이나 이후에 이를 수행할 수 있습니다. RLS와 데이터 세트를 데이터 세트 소유자와 공유해도 여전히 모든 데이터를 볼 수 있습니다. 하지만 독자와 공유하면 독자는 권한 데이터 세트 규칙에 의해 제한된 데이터만 볼 수 있습니다. 행 수준 보안을 추가하여 액세스를 추가로 제어할 수 있습니다.

참고

SPICE 데이터 세트를 행 수준 보안에 적용할 경우, 데이터 세트의 각 필드에 최대 2,047개의 유니코드 문자를 포함할 수 있습니다. 이 할당량을 초과하는 필드는 수집 중에 잘립니다. SPICE 데이터 할당량에 대한 자세한 내용은 가져온 데이터에 대한 SPICE 할당량 섹션을 참조하세요.

이를 수행하려면 이름이 UserName, GroupName인 하나의 열을 보유한 쿼리 또는 파일을 생성하거나 둘 모두를 생성합니다. 또는 이름이 UserARN, GroupARN인 하나의 열을 보유한 쿼리 또는 파일을 생성하거나 둘 모두를 생성할 수 있습니다. 이를 해당 사용자 또는 그룹에 대해 규칙을 추가하는 것으로 간주할 수 있습니다. 그 다음에는 액세스 권한을 부여하거나 제한하고자 하는 각 필드의 쿼리 또는 파일에 열을 추가할 수 있습니다. 추가한 각 사용자 또는 그룹 이름에서 각 필드의 값을 추가합니다. NULL(값이 없음)을 사용하면 모든 값을 나타낼 수 있습니다. 데이터 세트 규칙의 예시를 보려면 행 수준 보안에 대한 데이터 세트 규칙 생성 단원을 참조하세요.

데이터 세트 규칙을 적용하려면, 데이터 세트에 대한 권한 데이터 세트로서의 규칙을 추가합니다. 다음 사항에 유의하세요.

  • 권한 데이터 세트에는 중복 값이 포함되어서는 안 됩니다. 규칙을 적용하는 방법을 평가할 때 중복 값이 무시됩니다.

  • 지정된 각 사용자 또는 그룹은 데이터 세트 규칙의 필드 값과 일치하는 행만 볼 수 있습니다.

  • 사용자 또는 그룹에게 규칙을 추가하고 기타 모든 열에는 값이 없는 상태(NULL)로 두면 사용자 또는 그룹에게 모든 데이터에 대한 액세스 권한을 허용하는 것입니다.

  • 사용자 또는 그룹에게 규칙을 추가하지 않는 경우 그 사용자 또는 그룹은 데이터를 전혀 볼 수 없습니다.

  • 사용자별로 적용되는 전체 규칙 레코드 세트는 999개를 초과하지 않아야 합니다. 이 한도는 사용자 이름에 직접 할당된 총 규칙 수와 그룹 이름을 통해 사용자에게 할당된 모든 규칙에 적용됩니다.

  • 필드에 쉼표 (,) 가 포함된 경우 Amazon은 쉼표로 구분된 각 단어를 필터의 개별 값으로 QuickSight 취급합니다. 예를 들어 ('AWS', 'INC')에서 AWS,INC은(는) AWSINC(이)라는 두 개의 문자열로 간주됩니다. AWS,INC을 필터링하려면 권한 데이터 세트에서 문자열을 큰따옴표로 묶으세요.

    제한된 데이터 세트가 SPICE 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 각 제한 필드에 192,000개를 초과할 수 없습니다. 이는 사용자 이름에 직접 할당된 총 필터 값 수와, 그룹 이름을 통해 사용자에게 할당된 모든 필터 값에 적용됩니다.

    제한된 데이터 세트가 다이렉트 쿼리 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 데이터 소스에 따라 다릅니다.

    필터 값 제한을 초과하면 시각적 렌더링이 실패할 수 있습니다. 필터 목록을 줄일 수 있도록 제한된 데이터 세트에 열을 추가하여 원래 제한 열을 기준으로 행을 그룹으로 나누는 것이 좋습니다.

Amazon은 공백을 리터럴 값으로 QuickSight 취급합니다. 제한하려는 필드에 공백이 있는 경우, 데이터 세트 규칙이 해당 행에 적용됩니다. 아마존은 NULL과 공백 (빈 문자열 “”) 을 모두 “값 없음”으로 QuickSight 취급합니다. NULL은 빈 필드 값입니다.

데이터 세트의 데이터 소스에 따라 권한 테이블에 액세스할 직접 쿼리를 구성할 수 있습니다. 안에 공백이 있는 용어는 따옴표로 구분해서는 안 됩니다. 직접 쿼리를 사용하는 경우 원래 데이터 원본에서 쿼리를 손쉽게 변경할 수 있습니다.

또는 텍스트 파일 또는 스프레드시트에서 데이터 세트 규칙을 업로드할 수 있습니다. CSV(쉼표로 분리된 값) 파일을 사용하는 경우에는 해당 줄에 공백이 포함되어서는 안 됩니다. 안에 공백이 있는 용어는 따옴표로 구분해야 합니다. 파일 기반의 데이터 세트 규칙을 사용하는 경우 데이터 세트의 권한 설정에 있는 기존 규칙을 덮어쓰는 방식으로 변경 사항을 적용해야 합니다.

제한된 데이터 세트는 데이터 세트 화면에 제한됨이라는 단어로 표시됩니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트에는 상위 데이터 세트와 동일한 RLS 규칙이 유지됩니다. 하위 데이터 세트에 RLS 규칙을 더 추가할 수 있지만, 데이터 세트가 상위 데이터 세트에서 상속하는 RLS 규칙을 제거할 수는 없습니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트는 직접 쿼리로만 만들 수 있습니다. 상위 데이터 세트의 RLS 규칙을 상속하는 하위 데이터 세트는 SPICE에서 지원되지 않습니다.

행 수준 보안은 텍스트 데이터를 포함하는 필드에 대해서만 작동합니다(string, char, varchar 등). 날짜 또는 숫자 필드에 대해서는 작동하지 않습니다. 행 수준 보안(RLS)을 사용하는 데이터 세트에는 예외 항목 탐지가 지원되지 않습니다.

행 수준 보안에 대한 데이터 세트 규칙 생성

다음 절차를 사용하여 권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용합니다.

권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용
  1. 행 수준 보안을 위해 데이터 세트 규칙(권한)을 포함한 파일 또는 쿼리를 생성합니다.

    필드의 순서는 중요하지 않습니다. 하지만 모든 필드는 대소문자를 구분합니다. 필드 이름 및 값과 정확히 일치해야 합니다.

    구조는 다음 중 하나와 같은 모습이어야 합니다. 사용자 또는 그룹을 식별하는 하나 이상의 필드가 있어야 합니다. 둘 다 포함할 수 있지만 한 개만 필요하며 한 번에 하나만 사용됩니다. 사용자 또는 그룹에 사용하는 필드에는 사용자가 선택한 이름을 지정할 수 있습니다.

    참고

    그룹을 지정하는 경우 Amazon QuickSight 그룹 또는 Microsoft AD 그룹만 사용하십시오.

    다음 예는 그룹이 있는 표를 보여줍니다.

    GroupName 리전 세그먼트
    EMEA 영업 팀 유럽 중동 아프리카 엔터프라이즈, SMB, 스타트업
    미국 영업 팀 미국 엔터프라이즈
    미국 영업 팀 미국 SMB, 스타트업
    미국 영업 팀 미국 스타트업 폴더
    APAC 영업 팀 아시아 태평양 엔터프라이즈, SMB
    Corporate-Reporting
    APAC 영업 팀 아시아 태평양 엔터프라이즈, 스타트업

    다음 예는 사용자 이름이 있는 테이블을 보여줍니다.

    UserName 리전 세그먼트
    AlejandroRosalez 유럽 중동 아프리카 엔터프라이즈, SMB, 스타트업
    MarthaRivera 미국 엔터프라이즈
    NikhilJayashankar 미국 SMB, 스타트업
    PauloSantos 미국 스타트업 폴더
    SaanviSarkar 아시아 태평양 엔터프라이즈, SMB
    sales-tps@example.com
    ZhangWei 아시아 태평양 엔터프라이즈, 스타트업

    다음 예는 사용자 및 그룹 Amazon 리소스 이름(ARN)이 포함된 표를 보여줍니다.

    UserARN GroupARN 리전
    arn:aws:quicksight:us-east-1:123456789012:user/default/Bob arn:aws:quicksight:us-east-1:123456789012:group/default/group-1 아시아 태평양
    arn:aws:quicksight:us-east-1:123456789012:user/default/Sam arn:aws:quicksight:us-east-1:123456789012:group/default/group-2 미국

    .csv 파일을 사용하는 것을 사용하는 경우 구조는 다음 중 하나와 같은 모습이어야 합니다.

    UserName,Region,Segment AlejandroRosalez,EMEA,"Enterprise,SMB,Startup" MarthaRivera,US,Enterprise NikhilJayashankars,US,SMB PauloSantos,US,Startup SaanviSarkar,APAC,"SMB,Startup" sales-tps@example.com,"","" ZhangWei,APAC-Sales,"Enterprise,Startup"
    GroupName,Region,Segment EMEA-Sales,EMEA,"Enterprise,SMB,Startup" US-Sales,US,Enterprise US-Sales,US,SMB US-Sales,US,Startup APAC-Sales,APAC,"SMB,Startup" Corporate-Reporting,"","" APAC-Sales,APAC,"Enterprise,Startup"
    UserARN,GroupARN,Region arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US

    다음은 SQL의 예입니다.

    /* for users*/ select User as UserName, Region, Segment from tps-permissions; /* for groups*/ select Group as GroupName, Region, Segment from tps-permissions;
  2. 데이터 세트 규칙에 대한 데이터 세트 생성 쉽게 찾을 수 있도록 Permissions-Sales-Pipeline과 같은 의미 있는 이름을 지정하십시오.

행 수준 보안 생성

파일 또는 쿼리를 권한에 대한 규칙이 포함된 데이터 세트로 사용하여 행 수준 보안(RLS)을 적용하려면 다음 절차를 따르십시오.

파일 또는 쿼리를 사용하여 행 수준 보안 적용
  1. 새로운 데이터 세트로 규칙을 추가했음을 확인합니다. 추가했는데 데이터 세트 목록 아래에 보이지 않는 경우, 화면을 새로 고침하세요.

  2. 데이터 세트 페이지에서, 데이터 세트를 선택합니다.

  3. 열리는 데이터 세트 세부 정보 페이지에서 행 수준 보안을 위해 설정을 선택합니다.

    
									행 수준 보안을 위한 설정을 선택합니다.
  4. 열리는 행 수준 보안 설정 페이지에서 사용자 기반 규칙을 선택합니다.

  5. 보이는 데이터 세트 목록에서 권한 데이터 세트를 선택합니다.

    권한 데이터 세트가 화면에 표시되지 않는 경우 데이터 세트로 돌아가서 페이지를 새로 고침하세요.

  6. 권한 정책에서 데이터 세트에 대한 액세스 허용을 선택합니다. 각 데이터 세트에는 하나의 활성 권한 데이터 세트만이 있습니다. 보조 권한 데이터 세트를 추가하려는 경우 기존 세트를 덮어씁니다.

    중요

    일부 제한은 열 수준 보안으로 작업할 때 NULL 및 빈 문자열 값에 적용됩니다.

    • 제약 필드에 있는 데이터 세트에 NULL 값 또는 빈 문자열("")이 있는 경우 제한이 적용될 때 해당 행은 무시됩니다.

    • 권한 데이터 세트 내부에서 NULL 값 및 빈 문자열은 동일하게 취급됩니다. 자세한 정보는 다음 표를 참조하세요.

    • 민감한 정보가 실수로 노출되는 것을 방지하기 위해 Amazon은 모든 사람에게 액세스 권한을 부여하는 빈 RLS 규칙을 QuickSight 건너뛰고 있습니다. 행의 모든 열에 값이 없는 경우 빈 RLS 규칙이 발생합니다. QuickSight RLS는 NULL, 빈 문자열 (“”) 또는 빈 쉼표로 구분된 문자열 (예: “,,,”) 을 값 없음으로 취급합니다.

      • 빈 규칙을 건너뛰어도, 비어 있지 않은 다른 RLS 규칙이 계속 적용됩니다.

      • 권한 데이터 세트에 빈 규칙만 있고 모든 규칙을 건너뛰면, 아무도 이 권한 데이터 세트로 제한된 데이터에 접근할 수 없습니다.

    ,, 지역 UserName GroupName, 세그먼트에 대한 규칙 액세스 권한 부여
    AlejandroRosalez, EMEA 영업, EMEA, "엔터프라이즈, 중소기업, 스타트업” 모든 EMEA 엔터프라이즈, SMB 및 스타트업 표시
    sales-tps@example.com,Corporate-Reporting,"","" 모든 행 표시
    사용자 또는 그룹에 항목 없음 행이 표시되지 않음
    “”,“”,“”,“” 건너뛰었으며, 다른 모든 규칙이 비어 있으면 행이 표시되지 않습니다.
    NULL,“”,“”,NULL 건너뛰었으며, 다른 모든 규칙이 비어 있으면 행이 표시되지 않습니다.

    데이터 세트 규칙에 의해 데이터 세트가 제한되지 않는 경우를 제외하고 대시보드를 공유하는 모든 사용자가 안에 있는 데이터를 볼 수 있습니다.

  7. 변경 사항을 저장하려면 데이터 세트 적용을 선택합니다. 그런 다음 데이터 세트 규칙을 저장할까요? 페이지에서 적용 및 활성화를 선택합니다. 권한 변경 사항은 기존 사용자에 대해 즉시 적용됩니다.

  8. (선택 사항) 권한을 제거하려면 데이터 세트에서 데이터 세트 규칙을 제거합니다.

    데이터 세트 규칙을 확실히 제거해야 합니다. 그런 다음 권한 데이터 세트를 선택하고 데이터 세트 제거를 선택합니다.

    권한을 덮어쓰려면 새 권한 데이터 세트를 선택하고 이를 적용합니다. 같은 데이터 세트 이름을 재사용할 수 있습니다. 하지만 이러한 권한을 활성화하려면 권한 화면에서 새 권한을 적용해야 합니다. SQL 쿼리는 동적으로 업데이트되므로 Amazon QuickSight 외부에서 관리할 수 있습니다. 쿼리의 경우 직접 쿼리 캐시가 자동으로 새로 고쳐지면 권한이 업데이트됩니다.

대상 데이터 세트에서 파일 기반 권한 데이터 세트를 제거하기 전에 이를 삭제한 경우, 제한된 사용자는 데이터 세트에 액세스할 수 없습니다. 데이터 세트가 이 상태인 경우 RESTRICTED으로 그대로 표시됩니다. 데이터 세트에 대한 권한을 볼 때 선택한 데이터 세트 규칙이 없음을 확인할 수 있습니다.

이를 수정하려면 새 데이터 세트 규칙을 지정합니다. 동일한 이름을 가진 데이터 세트를 생성하는 걸로는 수정할 수 없습니다. 권한 화면에서 새 권한 데이터 세트를 선택해야 합니다. 이 제한 사항은 직접 SQL 쿼리에 적용되지 않습니다.