개체 수준 보안
적용 대상: 앱 소유 데이터 사용자 소유 데이터
이 문서에서는 Power BI 앱 소유 데이터(고객용 포함) 시나리오에서 OLS를 사용하는 Power BI 콘텐츠를 포함하는 방법을 설명합니다.
이 시나리오에서 ISV에는 보고서 고객에게 숨기려는 중요한 데이터와 메타데이터가 포함된 테이블이 있습니다.
OLS에 대한 자세한 내용은 OLS(개체 수준 보안)를 참조하세요.
필수 조건
이 문서에서는 OLS를 사용하는 보고서가 있고 이를 앱에 포함하려는 것으로 가정합니다. OLS를 사용하는 보고서를 만들려면 OLS(개체 수준 보안)를 참조하세요.
보고서는 다음 모델 중 어느 것을 사용하여 작성할 수 있습니다.
- 클라우드 OLS
- OLS 역할을 사용한 Azure Analysis Services로의 라이브 연결 보고서
- OLS 역할을 사용한 SQL Server Analysis Services로의 라이브 연결 보고서
개체 수준 보안을 사용하는 보고서 포함
OLS를 사용하는 항목에 대한 포함 토큰 생성 프로세스는 정적 RLS와 동일합니다. 역할 및 사용자 이름이 필요합니다.
포함하려는 보고서가 다음 시나리오 중 하나를 사용하는 경우 몇 가지 추가 단계를 수행해야 할 수 있습니다.
다음 예제에서는 OLS를 사용하여 중요한 정보가 있는 테이블을 숨기는 토큰을 만드는 방법을 보여 줍니다.
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Defines the user identity and roles.
var olsIdentity = new EffectiveIdentity(
username: "All",
roles: new List<string>{ "SensitiveTableOLS" }, // Role created to hide a table that has sensitive information
datasets: new List<string>{ datasetId.ToString()}
);
// Create a request for getting an embed token for the OLS identity defined above
var tokenRequest = new GenerateTokenRequestV2(
reports: new List<GenerateTokenRequestV2Report>() { new GenerateTokenRequestV2Report(reportId) },
datasets: datasetIds.Select(datasetId => new GenerateTokenRequestV2Dataset(datasetId.ToString())).ToList(),
targetWorkspaces: targetWorkspaceId != Guid.Empty ? new List<GenerateTokenRequestV2TargetWorkspace>() { new GenerateTokenRequestV2TargetWorkspace(targetWorkspaceId) } : null,
identities: new List<EffectiveIdentity> { olsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
고려 사항 및 제한 사항
관련 콘텐츠
Azure Analysis Services의 개체 수준 보안
추가 질문이 있으신가요? Power BI 커뮤니티에 질문합니다.