다음을 통해 공유


포함된 페이지를 매긴 보고서에서 행 수준 보안 구현

적용 대상: 앱 소유 데이터 사용자 소유 데이터

이 문서에서는 RLS(행 수준 보안)를 사용하는 페이지를 매긴 보고서를 앱 소유 데이터 애플리케이션에 포함하는 방법을 설명합니다.

참고 항목

이 문서는 앱 소유 데이터 고객과만 관련이 있습니다.

페이지를 매긴 보고서에 RLS를 사용하려면 다음을 수행합니다.

  1. 보고서를 필터링하도록 환경 설정
  2. 보고서 또는 쿼리 수준에서 데이터 필터링
  3. 포함 토큰을 사용하여 구성된 매개 변수 전달

필수 조건

  • 이 문서에서는 Power BI 페이지를 매긴 보고서를 포함하는 방법을 알고 있다고 가정합니다. 보고서에 액세스 권한이 있는 사용자만 표시하도록 포함 토큰을 생성하는 방법을 설명합니다.

  • Power BI(Analysis Services) 엔진이 아닌 SQL Server Reporting Services 엔진을 사용하여 페이지를 매긴 보고서를 만들므로 Power BI Report Builder에서 RLS 필터링을 설정합니다.

환경 설정

Power BI 페이지를 매긴 보고서에 행 수준 보안을 적용하려면 기본 제공 필드 UserID를 사용하여 매개 변수를 할당합니다. 이 매개 변수는 데이터를 필터링하거나 쿼리하는 데 사용됩니다.

그런 다음 Embed Token - Generate Token API에 UserID를 전달하여 포함 토큰을 가져옵니다.

보고서 또는 쿼리 수준에서 필터로 UserID 사용

UserId필터로 사용하거나 데이터 원본에 대한 쿼리에 사용할 수 있습니다.

데이터 필터링

  1. 의미 체계 모델 속성 창의 왼쪽 창에서 필터를 선택합니다.

    Power BI Report Builder 필터 스크린샷

  2. 드롭다운 메뉴에서 데이터를 필터링하는 데 사용할 매개 변수를 선택합니다.

    식 메뉴에서 값 Color가 선택된 것을 보여 주는 스크린샷.

  3. 함수 단추를 선택합니다.

    Power BI 보고서 작성기 값

  4. 창의 범주 목록에서 기본 제공 필드를 선택합니다.

    기본 제공 필드가 범주로 선택되고 ExecutionTime이 항목으로 선택된 식 창을 보여 주는 스크린샷.

  5. 항목 목록에서 UserID를 선택하고 확인을 선택합니다.

    Power BI 보고서 작성기 UserID

  6. 의미 체계 모델 속성 창에서 식이 선택한 매개 변수 = UserID인지 확인하고 확인을 선택합니다.

    Power BI Report Builder 의미 체계 모델 속성

쿼리 사용

  1. 의미 체계 모델 속성 창의 왼쪽 탐색 창에서 매개 변수를 선택하고 추가를 선택합니다.

    Power BI 보고서 작성기 매개 변수

  2. 매개 변수 이름 필드에 @UserID를 입력하고 매개 변수 값에서 [&UserID]를 추가합니다.

    Power BI 보고서 작성기 매개 변수 이름

  3. 왼쪽 창에서 쿼리를 선택하고 쿼리에서 UserID 매개 변수를 쿼리의 일부로 추가한 후 확인을 선택합니다.

    참고 항목

    아래 스크린샷에서는 색 매개 변수가 예로 사용됩니다(WHERE FinalTable.Color = @UserID)). 필요한 경우 더 복잡한 쿼리를 만들 수 있습니다.

    Power BI 보고서 작성기 쿼리 편집

포함 토큰 생성

고객을 위해 페이지를 매긴 보고서를 포함할 때 보고서 GenerateTokenInGroup API를 사용하여 포함 토큰을 가져옵니다. 이 토큰을 사용하여 페이지를 매긴 보고서에서 가져온 일부 데이터를 필터링할 수도 있습니다.

서비스 주체를 사용하여 토큰만 생성할 수 있습니다. 토큰을 마스터 사용자로 생성할 수 없습니다. 서비스 주체는 Power BI 서비스의 작업 영역에 대한 최소 구성원 권한이 있어야 합니다 (서비스 주체가 기여자 또는 뷰어인 경우 토큰을 생성할 수 없습니다.)

토큰을 생성하려면 표시할 정보가 포함된 username 필드를 할당합니다. 예를 들어, 색 매개 변수가 있는 페이지를 매긴 보고서에서 username 필드에 녹색을 입력하면 포함 토큰이 색 열에 녹색 값이 있는 데이터만으로 포함된 데이터를 제한합니다.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

참고 항목

사용자 ID를 지정하지 않고 포함 토큰을 생성하는 경우 서비스 주체의 개체 ID가 사용됩니다.

고려 사항 및 제한 사항

  • 마스터 사용자는 고객에 대한 콘텐츠 포함을 위해 페이지를 매긴 보고서에서 지원되지 않습니다. 마스터 사용자조직에 대한 콘텐츠 포함에 대해 지원됩니다.
  • 서비스 주체에는 최소한 멤버 또는(뷰어나 기여자가 아닌) 작업 영역 권한이 있어야 합니다.

포함 토큰 생성