Power BI를 사용하는 행 수준 보안(RLS)은 지정된 사용자에 데이터 액세스를 제한하는 데 사용됩니다. 행 수준에서 데이터 제한을 필터링합니다. 역할 내에서 필터를 정의할 수 있습니다.

Power BI Desktop으로 Power BI로 가져온 데이터 모델에 대한 RLS를 구성할 수 있습니다. SQL Server와 같은 DirectQuery를 사용하는 데이터 집합에서 RLS를 구성할 수도 있습니다. 이전에는 Power BI 외부의 온-프레미스 Analysis Services 모델 내에서 RLS를 구현할 수만 있었습니다. Analysis Services 라이브 연결의 경우 온-프레미스 모델에서 행 수준 보안을 구성합니다. 라이브 연결 데이터 집합에 보안 옵션이 표시되지 않습니다.

Power BI Desktop 내에서 역할 및 규칙 정의

Power BI Desktop 내에서 역할 및 규칙을 정의할 수 있습니다. Power BI에 게시할 때 역할 정의도 게시됩니다.

동적 보안을 활용하려는 경우 미리 보기 스위치를 사용하여 DirectQuery에 대해 양방향 교차 필터링을 활성화해야 합니다. 이렇게 하면 교차 필터링할 수 있고 양방향으로 보안 필터를 적용할 수 있습니다.

보안 역할을 정의하기 위해 다음을 수행할 수 있습니다.

  1. Power BI Desktop 보고서에 데이터를 가져 오거나 DirectQuery 연결을 구성합니다.

    참고:

    Analysis Services 라이브 연결을 위해 Power BI Desktop 내에서 역할을 정의할 수 없습니다. Analysis Services 모델 내에서 이를 수행해야 합니다.

  2. 모델링 탭을 선택합니다.

  3. 역할 관리를 선택합니다.

  4. 만들기를 선택합니다.

  5. 역할의 이름을 입력합니다.

  6. DAX 규칙을 적용하려는 표를 선택합니다.

  7. DAX 식을 입력합니다. 이 식은 true 또는 false를 반환해야 합니다. 예: [엔터티 ID] = "Value"입니다.

    참고:

    이 식에 *username()*을 사용할 수 있습니다. *username()*은 Power BI Desktop 내에서 *도메인\사용자 이름*의 형식을 취합니다. Power BI 서비스 내에서는 사용자의 UPN 형식이 됩니다. 대신 항상 사용자 계정 이름 형식으로 사용자를 반환하는 *userprincipalname()*을 사용할 수 있습니다.

  8. DAX 식을 만든 후 식의 유효성을 검사하기 위해 식 상자 위에 확인란을 선택할 수 있습니다.

  9. 저장을 선택합니다.

Power BI Desktop 내에서는 사용자를 역할에 할당할 수 없습니다. 이 작업은 Power BI 서비스 내에서 수행됩니다. username() 또는 userprincipalname() DAX 함수를 사용하고 적절한 관계를 구성하여 Power BI Desktop 내에서 동적 보안을 사용할 수 있습니다.

Power BI Desktop 내에서 역할 유효성 검사

사용자의 역할을 만든 후에 Power BI Desktop 내에서 역할의 결과를 테스트할 수 있습니다. 이를 수행하려면 역할로 보기를 선택합니다.

역할로 보기 대화 상자를 사용하여 해당 특정 사용자 또는 역할에 대해 표시되는 보기를 변경할 수 있습니다. 만든 역할을 볼 수 있습니다.

만든 역할을 선택한 다음 확인을 선택하여 보고 있는 내용에 해당 역할 내용을 적용합니다. 보고서는 해당 역할과 관련된 데이터만 렌더링합니다.

또한 다른 사용자를 선택하고 지정된 사용자를 제공할 수 있습니다. Power BI 서비스가 사용할 기능으로서 UPN(사용자 계정 이름)을 제공하는 것이 좋습니다. 확인을 선택하면 보고서는 사용자가 볼 수 있는 내용에 따라 렌더링합니다.

참고:

Power BI Desktop 내에서 DAX 식을 기반으로 하는 동적 보안을 사용하는 경우 서로 다른 결과만 표시됩니다.

모델에 대한 보안 관리

데이터 모델에 대한 보안을 관리하려면 다음을 수행합니다.

  1. 데이터 집합에 대해 줄임표 (...) 를 선택합니다.
  2. 보안을 선택합니다.

Power BI Desktop에서 만든 역할에 멤버를 추가할 수 있는 RLS 페이지로 이동합니다. 데이터 집합의 소유자만이 사용할 수 있는 보안이 표시됩니다. 데이터 집합이 그룹에 있는 경우 그룹의 관리자만이 보안 옵션을 확인할 수 있습니다.

Power BI Desktop 내에서 역할을 만들거나 수정할 수만 있습니다.

멤버 작업

멤버 추가

전자 메일 주소 또는 추가하려는 사용자, 보안 그룹 및 배포 목록의 이름을 입력하여 역할에 멤버를 추가할 수 있습니다. 이 멤버는 조직 내에 있어야 합니다. Power BI 내에서 만든 그룹을 추가할 수 없습니다.

또한 역할 이름 옆 또는 멤버 옆에 있는 괄호에 있는 번호로 역할의 일부인 멤버의 수를 확인할 수 있습니다.

멤버 제거

해당 이름 옆에 있는 X를 선택하여 멤버를 제거할 수 있습니다.

Power BI 서비스 내에서 역할 유효성 검사

역할을 테스트하여 사용자가 정의한 역할이 제대로 작동하는지 확인할 수 있습니다.

  1. 역할 옆에 있는 줄임표 (...) 를 선택합니다.
  2. 역할로 데이터 테스트를 선택합니다.

이 역할에 사용 가능한 보고서가 표시됩니다. 대시보드는 이 보기에서 나타나지 않습니다. 위의 파란색 막대에서는 적용된 내용이 표시됩니다.

지금 다른 형식으로 보기를 선택하여 다른 역할 또는 역할의 조합을 테스트할 수 있습니다.

특정 사용자로 데이터를 볼 수 있습니다. 또는 사용 가능한 역할의 조합을 선택하여 작업을 검사할 수 있습니다.

일반 보기로 돌아가려면 행 수준 보안으로 돌아가기를 선택합니다.

username() 또는 userprincipalname() DAX 함수 사용

데이터 집합 내에서 DAX 함수 username() 또는 *userprincipalname()*을 사용할 수 있습니다. Power BI Desktop의 식 내에서 사용할 수 있습니다. 모델을 게시하면 Power BI 서비스 내에서 사용됩니다.

Power BI Desktop 내에서 username ()*은 사용자를 *DOMAIN\User 형식으로 반환하며, userprincipalname()*은 사용자를 *user@contoso.com 형식으로 반환합니다.

Power BI 서비스 내에서 username() 및 *userprincipalname()*은 모두 사용자의 UPN(사용자 계정 이름)을 반환합니다. 형태는 전자 메일 주소와 유사합니다.

Power BI에서 앱 작업 영역으로 RLS 사용

Power BI 서비스 내의 앱 작업 영역에 Power BI Desktop 보고서를 게시하는 경우 역할은 읽기 전용 멤버에 적용됩니다. 멤버는 앱 작업 영역 설정 내에서 Power BI 콘텐츠를 볼 수만 있다고 표시해야 합니다.

경고:

구성원이 편집 권한을 갖도록 앱 작업 영역을 구성한 경우 RLS 역할이 적용되지 않습니다. 사용자는 모든 데이터를 확인할 수 있습니다.

제한 사항

다음은 클라우드 모델의 행 수준 보안에 대한 현재 제한 목록입니다.

  • 이전에 Power BI 서비스 내에서 역할/규칙을 정의한 경우 Power BI Desktop 내에서 이를 다시 생성해야 합니다.
  • Power BI Desktop 클라이언트를 사용하여 만든 데이터 집합에서만 RLS를 정의할 수 있습니다. Excel로 만든 데이터 집합에 RLS를 사용하려는 경우 먼저 파일을 PBIX 파일로 변환해야 합니다. 자세히 알아보기
  • ETL 및 DirectQuery 연결만이 지원됩니다. Analysis Services에 대한 라이브 연결은 온-프레미스 모델에서 처리됩니다.
  • 이 때 질문 및 답변과 Cortana는 RLS로 지원되지 않습니다. 모든 모델에서 RLS이 구성되어 있는 경우 대시보드에 대한 질문 및 답변 입력 상자가 표시되지 않습니다. 이는 로드맵 상에 있지만, 타임라인은 사용할 수 없습니다.
  • 현재 외부 공유는 RLS를 사용하는 데이터 집합으로 지원되지 않습니다.
  • 지정된 모델의 경우 보안 역할에 할당할 수 있는 Azure AD 사용자(예: 개별 사용자 또는 보안 그룹)의 최대 수는 1,000입니다. 많은 수의 사용자를 역할에 할당하려면 개별 사용자 대신 보안 그룹을 할당해야 합니다.

알려진 문제

보고서가 이전에 게시된 경우 Power BI Desktop으로부터 게시하려 할 때 오류 메시지가 나타나는 문제가 있습니다. 시나리오는 다음과 같습니다.

  1. Anna에게는 Power BI 서비스에 게시된 데이터 집합과 구성된 RLS가 있습니다.

  2. Anna는 Power BI Desktop에서 보고서를 업데이트하고 다시 게시합니다.

  3. Anna에게 오류가 나타납니다.

해결 방법: 이 문제가 해결될 때까지 Power BI 서비스로부터 Power BI Desktop 파일을 다시 게시합니다. 데이터 파일 > 가져오기를 선택하여 이를 수행할 수 있습니다.

FAQ

질문: 이전에 Power BI 서비스의 데이터 집합에 대해 역할/규칙을 만든 경우 어떻게 됩니까? 아무 작업도 수행하지 않아도 계속 작동합니까?
응답: 아니요. 시각적 개체가 제대로 렌더링되지 않습니다. Power BI Desktop 내 역할/규칙을 다시 만든 다음, Power BI 서비스에 게시해야 합니다.

질문: Analysis Services 데이터 소스에 대해 이러한 역할을 만들 수 있습니까?
답변: 데이터를 Power BI Desktop으로 가져온 경우 사용할 수 있습니다. 라이브 연결을 사용하는 경우 Power BI 서비스 내에서 RLS를 구성할 수 없습니다. 이것은 Analysis Services 모델 온-프레미스 내에서 정의됩니다.

질문: RLS를 사용하여 내 사용자가 액세스할 수 있는 열이나 측정값을 제한할 수 있나요?
응답: 아니요. 사용자가 데이터의 특정 행에 대한 액세스 권한이 있는 경우 해당 행에 대한 데이터의 모든 열을 볼 수 있습니다.

질문: RLS를 사용하면 자세한 데이터를 숨기고 시각적 개체에서 요약된 데이터에 대한 액세스 권한을 부여할 수 있나요?
답변: 아니요, 데이터 개별 행의 보안을 유지할 수 있지만 사용자는 요약된 데이터 또는 세부 정보를 확인할 수 있습니다.

다음 단계

Power BI Desktop을 사용하는 행 수준 보안(RLS)

궁금한 점이 더 있나요? Power BI 커뮤니티에 질문합니다.